When looking across the NoSQL landscape, most folks partition NoSQL databases into 4 categories:
- Key Value Stores (e.g., Riak, Redis)
- Column Stores (e.g., HBase, Cassandra, Accumulo)
- Document Stores (e.g., MongoDB, CouchDB)
- Graph Stores (e.g., Neo4j, TitanDB)
In addition to being creators of the Accumulo database, the team here at Sqrrl can also appreciate the benefits of other databases in the NoSQL landscape. For this reason, when we began architecting Sqrrl Enterprise, we decided to not limit ourselves to just Accumulo’s column store data structure. Sqrrl Enterprise features Document and Graph Store functionality in addition to being a Column Store at its core.
Sqrrl Enterprise is built using open source Apache Accumulo, giving it it’s column store core. However, we love the ease of use of document stores, so when we ingest data, we convert that data from Accumulo’s native key/value format into hierarchical JSON documents (giving Sqrrl Enterprise document store functionality).
At ingest we also extract all of the graph relationships in the datasets and store them as sets of nodes and edges, giving Sqrrl Enterprise a variety of graph capabilities.
The resulting combination is pretty cool… a document store that scales to 10s of petabytes and that can easily describe the graph relationships between and within those documents. Plus you get all of this and fine-grained security controls baked into the documents and graph data.
Documents + Graphs + Massive Scalability + Fine-grained security = Sqrrl Enterprise.