首页 > 技术文章 > 数据库技术

ookami 2015-10-27 17:53 原文

数据库大致分类:

1. 关系型数据库管理系统(Relational DBMS),例如:Oracle,SQL Server, MySQL, PostgreSQL

2. 键-值 存储,例如:Redis,Memcached, DynamoDB

3. 文件存储,例如:MongoDB,CouchDB,Couchbase

4. 大数据存储系统, 例如:Cassandra,HBase,Google's Bigtable

5. 基于Hadoop的数据分析系统,例如:Hive,Spark,Impala(第四类和第五类,多多少少有些交叉。)

6. 文本查询系统, 例如:Solr, Elasticsearch.

 

新型数据库:(后关系型数据库)

NoSQL and NewSQL

The next generation of post-relational databases in the 2000s became known as NoSQL databases, including fast key-value stores and document-oriented databases.

XML databases are a type of structured document-oriented database that allows querying based on XML document attributes. XML databases are mostly used in enterprise database management, where XML is being used as the machine-to-machine data interoperability standard. XML database management systems include commercial software MarkLogic and Oracle Berkeley DB XML, and a free use software Clusterpoint Distributed XML/JSON Database. All are enterprise software database platforms and support industry standard ACID-compliant transaction processing with strong database consistency characteristics and high level of database security.[21][22][23]

NoSQL databases are often very fast, do not require fixed table schemas, avoid join operations by storing denormalized data, and are designed toscale horizontally. The most popular NoSQL systems include MongoDBCouchbaseRiakMemcachedRedisCouchDBHazelcastApache Cassandra andHBase,[24] which are all open-source software products.

In recent years there was a high demand for massively distributed databases with high partition tolerance but according to the CAP theorem it is impossible for a distributed system to simultaneously provide consistency, availability and partition tolerance guarantees. A distributed system can satisfy any two of these guarantees at the same time, but not all three. For that reason many NoSQL databases are using what is called eventual consistency to provide both availability and partition tolerance guarantees with a reduced level of data consistency.

NewSQL is a class of modern relational databases that aims to provide the same scalable performance of NoSQL systems for online transaction processing (read-write) workloads while still using SQL and maintaining the ACID guarantees of a traditional database system. Such databases includeScaleBaseClustrixEnterpriseDBMemSQLNuoDB[25] and VoltDB.

推荐阅读