MarkLogic Goes All In with JavaScript
One of the knocks on MarkLogic’s has been the need for specialized training to develop applications that run on its NoSQL database. With today’s unveiling of MarkLogic 8, the company has addressed that criticism by enabling programmers to access all of the database’s functionality using the lingua franca of the Web today: JavaScript.
JavaScript rose to prominence over the past decade as the language to write browser-side code that powered Web 2.0 applications. As JavaScript code flourished on the Web, database developers started to see more requirements for JSON, the native data format for JavaScript. More recently, we’ve seen Java migrate closer to the server with technologies like Node.JS.
With MarkLogic 8, the NoSQL database gets support for all of the above: Support for using JavaScript to power in the database itself; support for JSON as a data type; and a new API to support Node.JS in the middle tier.
Developers are the big winners with MarkLogic 8, says David Gorbet, senior vice president of engineering for the San Carlos, California company. “The nice thing about having JavaScript in all three tiers is you can have one skill set developing the complete full stack application,” he tells Datanami. “You don’t need an expert person doing the backend piece in Node, or a Java person doing the middle-tier, or using JavaScript on front end.”
MarkLogic’s multi-modal database has been well-received by analysts for its technical capabilities and enterprise features. But the specialized XQuery training needed to program the database has always been perceived as a shortcoming. Going all in with JavaScript brings the power of the MarkLogic database to a new class of developers, Gorbet says.
The big news with MarkLogic 8 is the capability “to run JavaScript right in the server, right next to the data, and to do queries using JavaScript, and the ability to store and index JSON just as we did XML, text, and binaries in past releases,” he says. “That’s a big deal for developers. And it allows our existing customers who have been asking about using MarkLogic in more applications to be able to rapidly ramp up the number of developers they can build applications with.”
The company adopted Google’s Chrome JavaScript engine directly in the database, and rewrote in JavaScript all 100 or so built-in functions that it had developed in XQuery. Any custom code that a customer had written in XQuery can be automatically expressed in JavaScript. Of course, customers can still use the XQuery language and XML files in MarkLogic, which Gorbet says is a more powerful combination for customers with a lot of data.
There are other new features in MarkLogic that may interest customers building big data applications, including new ways to query its semantic triple store and support for bitemporal data.
MarkLogic has supported semantic triples since the launch of MarkLogic 7 more than a year ago. With the new release, it has extended its support for SPARQL, the query language for semantic triples, to support aggregates. “It allows you to build new triples based on the results of queries of your existing triples,” Gorbet explains. “We also added inference, which is the ability to use an ontology and rules to define relationships between concepts in your database, to build more triples out of the triples you already have.”
The new bitemporal feature, meanwhile, enables a form of time travel within your database. “This is the ability to track documents or events that happen to documents in the database along two dimension of time, including the dimension of time for which they were valid…and then the dimension of time at which the system knew about them. So this allows you to, even if you need to correct data, to go back in time and see what your database said at a certain point in time versus what was actually true at that point in time.”
These are advanced features that won’t be used in every implementation. But considering the fact that MarkLogic is used in a number of very large implementations, including running the Healthcare.gov website for the federal government, there’s a good chance that some developers will make use of them.
Finally, the company announced that it’s giving away license to run a three-node MarkLogic database cluster on Amazon AWS. “It makes it easier and more approachable,” Gorbet says.
Related Items:
MarkLogic Rolls Out the Red Carpet for Semantic Triples
Is MarkLogic the Adult at the NoSQL Party?
Why Can’t This Big Data CEO Get Any Respect?