absrtact: compared to relational databases, each nosql has its own different scenarios, where you can take stock of common nosql in the fields of document databases, graph databases, key-value data stores, Columnstore databases, and memory data networks.
Within a few years, NoSQL databases have focused attention on performance, scalability, flexible patterns, and analytical capabilities. Although relational databases are still a good choice for some use cases, like structural data and applications that require acid transactions, NoSQL has the advantage in the following use cases:
- The stored data is essentially semi-structured or loosely-formatted.
- Requires a certain level of performance and scalability.
- The application that accesses the data coincides with the final consistency.
Non-relational databases typically support the following features:
· Flexible mode
· No shared schemas
· Sharding as part of the data storage model
· Asynchronous replication
· Replacing acid transactions with base
Infoq's English-language network counts the NoSQL databases that are often used today:
Document Database
· MongoDB: Open source, document-oriented, and now the most popular NoSQL database.
· counchdb: Apache counchdb is a document database that uses JSON, uses JavaScript for mapreduce queries, and an API that uses HTTP.
· couchbase: The NoSQL document database is based on a JSON model.
· RavenDB: RavenDB is a document-oriented database based on the. NET language.
·
· MarkLogic: The MarkLogic nosql database is used to store XML-based and document-centric information, supporting flexible patterns.
Graph database
· neo4j: neo4j is a graph database; supports acid transactions (atomicity, independence, persistence, and consistency)
· InfiniteGraph: A graph database is used to maintain and traverse the relationships between objects, supporting distributed data storage.
· allegrograph: Allegrograph is a combination of memory and disk that provides high scalability to support SparQ, rdfs++, and Prolog inference.
·
· Other diagram databases.
Key-Value data storage
· Riak: Riak is an open source, distributed key-value database that supports data replication and fault tolerance.
· Redis: Redis is an open source key-value store. Supports master-slave replication, transactions, Pub/sub, LUA scripts, and also supports adding time limits to keys.
· Dynamo: Dynamo is a key-value distributed data store. It is implemented directly from the Amazon Dynamo database, and is used in Amazon S3 products.
· Oracle NoSQLDatabase: Key-valued NoSQL databases from Oracle. It supports transactional acid (atomicity, consistency, persistence, and independence) and JSON.
· Oracle NoSQL Database: Data backup and distributed key-value storage systems.
· Voldemort: Data backup and distributed key-value storage System.
· aerospike: The Aerospike database is a key-value store that supports a hybrid memory architecture that guarantees data integrity through strong consistency and adjustable consistency.
Column Store Database
· Cassandra: Cassandra is a columnstore database that supports data replication across data centers. Its data model provides column indexes, log-structured modifications, support for anti-normalization, manifested views, and embedded hyper-caching.
· hbase: Apache hbase originates from Google's bigtable, an open source, distributed, column-oriented storage model. Features like BigTable are provided on top of Hadoop and HDFs.
· Amazon SimpleDB: Amazon SimpleDB is a non-relational data store that unloads the work of database management. Developers use Web service requests to store and query data items.
· Apache Accumulo: Apache Accumulo's ordered, distributed key-value data store, based on Google's bigtable design, is built on Apache Hadoop, zookeeper, and thrift technologies.
· hypertable: Hypertable is an open-source, extensible database that mimics bigtable and supports sharding.
· Azure Tables: The Windows Azure Table Storage Service provides NoSQL performance for applications that require a large number of unstructured data stores. Tables can be automatically scaled to terabytes and accessed through the rest and managed APIs.
· Other columns store the database.
In-memory data grid
· hazelcast: Hazelcast CE is an open source data distribution platform that allows developers to share and split data on top of a DB cluster.
· Oracle Coherence: Oracle's in-memory data grid solution provides fast access to common data, consistent support for transactional processing capabilities and dynamic partitioning of data.
· Terracotta BigMemory: Distributed memory management solution from Terracotta. This product includes a Ehcache interface, a terracotta management console, and a Bigmemory-hadoop connector.
· GemFire: Vmware vFabric GemFire is a distributed data management platform and a distributed data grid platform that supports memory data management, replication, partitioning, data recognition routing, and continuous querying.
· Infinispan: Infinispan is a Java-based open source key value NoSQL data store, and a distributed data node platform that supports transactional, peer-to-peer, and client/server architectures.
· Gridgain: Distributed, object-oriented, memory-based, Sql+nosql key-value database. Supports acid transactions.
· gigaspaces: The gigaspaces Memory data grid can act as an application's recording system and support a wide variety of cache scenarios.
2013 most commonly used NoSQL databases