Over a million developers have joined DZone.

SlamData: A SQL Interface for NoSQL Data

DZone 's Guide to

SlamData: A SQL Interface for NoSQL Data

· Java Zone ·
Free Resource

It's fair: you're interested in NoSQL, but maybe your team doesn't have the resources to fully commit just yet. Even if you narrowed down your options and avoided the urge to relapse entirely into SQL, analytics presents a problem, because NoSQL is, in many ways, a developer's baby; for those just trying to get a look at the data, it's fairly inaccessible.

If your situation looks anything like that, you might be interested in SlamData, a SQL-compatible interface to NoSQL databases. The SlamData site sums up the core idea pretty succinctly:

In contrast to legacy vendors, which emphasize trying to make the data fit legacy analytics infrastructure, SlamData focuses on trying to make the analytics infrastructure fit the data.

The SQL-on-NoSQL approach is an interesting way of capturing the advantages of one architecture without losing the more practical (sometimes unavoidable due to tradition, I guess) benefits of existing technology and knowledge. In other words, even beyond its practical applications, it sounds like a great way to persuade some of the more inflexible types in the world to try something new. 

SlamData's fairly new - started in January, open source - and currently supports MongoDB exclusively, but according to CTO and co-founder John De Goes, a few more solutions are in the works. For example:

  • Spark
  • Hadoop
  • Cassandra
  • HBase
  • Elasticsearch

And to keep the non-developers in the loop, or just to make things a bit easier if you don't want to live your life on the command line, there's a GUI, too. It looks something like this:

(via SlamData)

If you're interested in a new SQL-on-MongoDB tool (and SQL-on-other-NoSQL, sometime soon), or if you're just sick of manually translating your queries, take a look at SlamData.


Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}