Mostly, we select nosql databases based our dependencies like consistency, availability, distributed storage, in memory processing. But when we say nosql, always we remember familiar databases like MongoDB, Cassandra, Redis, HBase, Neo4j, CouchDB and so on. In this post, we will see about some more databases with a short description.
Column Data Model
Hypertable: Database system inspired by publications on the design of Google’s BigTable. The project is based on experience of engineers who were solving large-scale data-intensive tasks for many years. Hypertable runs on top of a distributed file system such as the Apache Hadoop DFS, GlusterFS, or the Kosmos File System (KFS).
Apache Kudu: Distributed, columnar, relational data store optimized for analytical use cases requiring very fast reads with competitive write speeds.
- Relational data model (tables) with strongly-typed columns and a fast, online alter table operation.
- Scale-out and sharded with support for partitioning based on key ranges and/or hashing.
- Fault-tolerant and consistent due to its implementation of Raft consensus.
- Supported by Apache Impala and Apache Drill, enabling fast SQL reads and writes through those systems.
- Integrates with MapReduce and Spark.
ClickHouse : ClickHouse is an open source column-oriented database management system capable of real time generation of analytical data reports using SQL queries. ClickHouse’s performance exceeds comparable column-oriented DBMS currently available on the market. It processes hundreds of millions to more than a billion rows and tens of gigabytes of data per single server per second. ClickHouse uses all available hardware to its full potential to process each query as fast as possible. The peak processing performance for a single query stands at more than 2 terabytes per second.
Document Data Model:
RethinkDB: RethinkDB is built to store JSON documents, and scale to multiple machines with very little effort. It has a pleasant query language that supports really useful queries like table joins and group by.
Key-Value Data Model:
Linkedin Voldemort: Distributed data store that is designed as a key-value store used by LinkedIn for high-scalability storage.
RocksDB: RocksDB is an embeddable persistent key-value store for fast storage. RocksDB can also be the foundation for a client-server database but our current focus is on embedded workloads.
Graph Data Model:
TitanDB: TitanDB is a highly scalable graph database optimized for storing and querying large graphs with billions of vertices and edges distributed across a multi-machine cluster. Titan is a transactional database that can support thousands of concurrent users.
MemGraph : Memgraph is a transactional graph database, optimized for graph workloads. It has following features,
- In-Memory ACID Transactions
- On-Disk Durability
- Highly Concurrent Data Access
- Standardized Interface
TigerGraph: TigerGraph is a distributed, native graph computing platform database. TigerGraph’s native parallel graph architecture and real-time deep link analytics aim to provide the following advantages:
- Faster data loading to build graphs quickly
- Faster execution of parallel graph algorithms
- Real-time capability for streaming updates and inserts using REST
- Ability to unify real-time analytics with large-scale offline data processing
- Ability to scale up and scale out for distributed applications