What is NoSQL?
The term “NoSQL” was originally applied to a 2009 meetup of developers interested in the growing number of database systems that did not use the relational model. As the name caught on, some people interpreted it to mean “anti-RDBMS,” which encouraged one early proponent to suggest that instead of meaning “No SQL” it should be treated as an acronym standing for the more inclusive phrase “Not Only SQL.”
NoSQL does not refer to a specific technology, but instead serves as an umbrella term covering several classes of database managers, each of which achieves its execution or development efficiency over the relational model by being optimized for certain classes of problems:
Key-value stores such as Riak
Column-oriented databases such HBase and Cassandra, which was developed in-house at Facebook but is now an Apache project
Document-oriented databases such as MongoDB and CouchDB, whose “documents” are like JSON versions of the XML documents stored by XQuery databases
Graph-oriented databases such as Neo4J and RDF triplestores
Strong versus weak points of each category that people discuss when considering them for their own applications are their data models, horizontal vs. vertical scalability, flexibility, and which members of the CAP theorem triad of Consistency, Availability, and Partition tolerance each model may handle better than the others in distributed environments. Their ability to use MapReduce implementations like Apache Hadoop is another issue to think about when working with distributed databases.
RDF Triplestores are NoSQL
Many early overviews of NoSQL options didn't bother to mention RDF triplestores as an example of graph-oriented databases. Today, it's nice to see that summaries on popular NoSQL web pages such as nosql-database.org and the Wikipedia page for NoSQL have since made up for this. As a NoSQL application component, RDF triplestores have definite advantages, not only over Neo4J, but over the database systems in the other categories as well:
They're based on open published standards whose details can be looked up in official specifications.
They implement a query language that is also an open, published standard: SPARQL.
A wide choice of interoperable implementations are available, ranging from open source Apache projects like Jena to systems built around hardware optimized for the data model such as YarcData's Eureka. This is a key payoff of being built around standards.
Some database systems require the use of schemas while others dispense with them for added flexibility in accommodating new datasets. An RDF-based system can use as much or as little schema metadata as you like. Minimal schemas can grow incrementally with an application's needs. And, as another benefit, the schemas use the same data model as the data itself, making it much easier to query, generate, and otherwise use schema metadata as part of an application.
TopBraid is a NoSQL Application Platform
As with most other NoSQL systems, it's often easy to find libraries in your favorite programming languages to work with RDF-based systems, but here RDF provides yet another advantage—especially when working with the TopBraid platform. Actual coding is often less needed, because the (optional!) schemas can serve as a foundation for applications, letting you modify an application's behavior by simply revising its model. For example, when using the right development tools, changing a property's range from one class to another will revise the choices offered to end users when they enter a value for that property on a form.
That's how it works when developing applications with TopQuadrant's TopBraid Platform, which also builds on the SPARQL query language to let developers use:
- SPIN to define rules and constraints that can be incorporated into models, as well as new SPARQL functions
- SPARQLMotion to define data pipelines to implement business logic
- SPARQL Web Pages (SWP) and SWP Application Components (SWA) to define user and application interfaces
Using these tools, we at TopQuadrant and our customers have enjoyed many of the benefits of NoSQL technology even before the term was coined. (And, to further support the idea of it standing for “Not Only SQL,” RDF-based applications built with the TopBraid platform often incorporate popular relational databases as part of their architecture.) These benefits helped us to build TopBraid EVN and they help many of our customers build their own custom applications as well. We look forward to helping our customers reap even more of these benefits.