cratedb vs. nosql comparisongo.cratedb.com/rs/...cassandra-mongodb-comparison.pdf · nosql...
TRANSCRIPT
© 2017 Crate.io, Inc.
CrateDBvs.NoSQLComparison
The Ease of SQL with the Power of NoSQL NoSQL databases like MongoDB and Apache Cassandra have pushed database technology beyond the schema, scalability and performance limitations of traditional relational databases. But proprietary data access interfaces make them harder to learn, use, and integrate than SQL DBMSs, and increase lock-in. The newest wave of databases, including CrateDB, are distributed SQL databases built on top of NoSQL foundations (storage, indexing, networking). They make data management much simpler for mainstream SQL developers (who still outnumber NoSQL developers 45:1 according to LinkedIn), by combining the familiarity of SQL access with the versatility and scalability of NoSQL. Real time, Time Series, Search, and AI for the Fire hose of “Things” Data The new SQL databases are arriving just in time to enable the era of IoT and machine data applications:
• Fire hose of data—ingest millions of data points per second. • Query versatility—support time series, geospatial, text search, anomaly detection, aggregations,
and many other analytics. • Data versatility – process structured and unstructured sensor readings, network messages, IT
events/logs, geospatial, BLOBs, and others. • Extreme performance—analyze data in real time, or in large volumes, to monitor, and improve the
security, productivity, and efficiency of connected “things” and the people who use them. • Simple scalability—grow your ability to handle an increasing load of things, data, and users.
These are the requirements CrateDB is built to handle—simply, and without having to give up SQL. Here’s how CrateDB compares to other database categories for this type of workload:
TraditionalSQL NoSQL CrateDBFire hose of data No Yes Yes Query versatility & real-time performance No No Yes
Data versatility No Yes Yes
SQL access Yes No Yes
Simple scalability No Yes Yes The next page provides more detail on how CrateDB compares with a few popular NoSQL databases.
© 2017 Crate.io, Inc.
CrateDBvs.MongoDBandCassandraHere is a more detailed comparison of CrateDB vs. MongoDB and Apache Cassandra
All offer the data flexibility and scalability of NoSQL. CrateDB doesn’t force you to abandon SQL to get it.
SQL access aside, CrateDB also features these differentiators relative to MongoDB & Cassandra:
• Easy-to-change schemas, indexing, ad hoc querying • In-memory columnar indexes for real-time query performance • Aggregate queries • Queries with Joins, Sub-selects, User-defined functions • Better fit for time series data (mixed insert/query workload and fast aggregation queries) • Full-text search (Lucene) • Shared-nothing microservices architecture (can scale via container)
Cassandra and CrateDB both feature columnar indexing, data compression, and eventual consistency, which make them good fits for analytic applications that deliver fast query performance against streams of data or large data volumes. Cassandra is famously hard to change and optimize as application requirements evolve; CrateDB is not. And support for data aggregation, text search, joins make CrateDB an easier fit for time series and many other types of use cases.
MongoDB tends to be used for more user-interactive transactional applications, and CrateDB is better suited for Query & INSERT-intensive analytic applications. CrateDB also scales more easily and reliably due to its shared-nothing architecture verses the MongoDB cluster with specialized writeable nodes and read-only nodes. If you need schema flexibility and query versatility and performance, CrateDB is the better fit.
CrateDB MongoDB CassandraImplementation Model
Cluster type Shared-nothing Master/slave Shared-nothing
Consistency Eventual Eventual Eventual
Horizontal scaling Full, with automatic data rebalancing
Limited (master/slave), with automatic data
rebalancing
Full, with automatic data rebalancing
Replication
Configurable at table level.
Replication is immediate and synchronous
Configurable at partition level
Configurable at cluster level
Backup Full or incremental snapshot & restore.
Full or incremental snapshot & restore.
Full or incremental snapshot & restore.
On-disk compression LZF No LZ4, et al
Implementation language Java C++ Java
Open source Apache 2.0 AGPL V3 Apache 2.0
© 2017 Crate.io, Inc.
CrateDB MongoDB Cassandra
Query & Data Model
Access language ANSI SQL
Via JDBC, ODBC, REST, PostgreSQL wire protocol
MongoDB query language CQL
Schemas Dynamic
SQL-DDL plus objects (JSON), arrays of objects
Dynamic Static
Columnar Indexing Yes Memory-resident No Yes
Aggregation queries Yes No No
JOINs Full No No
Full-text search Yes (Lucene powered) Limited Limited
Geospatial Yes (Lucene powered) No No
Access control Yes Yes Yes
Learn more If you would like to discuss how well CrateDB might support your use cases relative to MongoDB, Cassandra, or any other DBMS, please visit Crate.io to read the documentation, try CrateDB, or request a technical meeting and demonstration.