数据库分类

关系数据库和非关系数据库(Nosql)

  • 关系型数据库是以表的形式存储数据的,nosql不是,它是大块的组合在一起,通常存储在数据集中,用的较多的是KeyValue的形式,也有文档结构和图结构 。

  • 关系型数据库为了维护数据的一致性付出了巨大的代价,读写性能比较差。在面对高并发读写性能差,面对海量数据的时候效率非常低。

  • Nosql存储的格式都是key-value类型的,并且存储在内存中,非常容易存储,而且对于数据的一致性是弱要求。Nosql无需sql的解析,提高了读写性能。

  • 关系型数据库通常有SQL Server,Mysql,Oracle。主流的Nosql数据库有redis,memcache,MongoDb。

内存数据库

  • Nosql与内存数据库有交集,nosql不一定是内存数据库(如mongodb是文档型数据库),内存数据库不一定是Nosql,存在关系型的内存数据库,如SQLite,MySQL.
  • 内存数据库数据是完全保存在内存中的,一旦掉电,内存内数据将完全丢失,但是大部分内存数据库会定期将数据写入磁盘,对容灾有帮助,但是在发生掉电时未来得及刷入磁盘的数据将会丢失。
  • 内存数据库的优势在于高性能,所有的操作都是在内存中进行的,从而降低了IO操作,主要应用于一些对实时性要求很高的应用中。 本着“操作越少,速度越快”的原则,有人推荐直接使用内存集合而不使用内存数据库。

分类

常用关系型数据库

OracleMicrosoft SQL ServerMySQLPostgreSQLDB2
Microsoft AccessSQLiteTeradataMariaDB(MySQL的一个分支),SAP

常用非关系型数据库

面向高性能并发读写的key-value数据库

Redis, Amazon DynamoDB, Memcached,
Microsoft Azure Cosmos DB和Hazelcast

面向海量数据访问的面向文档数据库

主流代表为MongoDB,Amazon DynamoDB,Couchbase,
Microsoft Azure Cosmos DB和CouchDB

面向搜索数据内容的搜索引擎

主要是用于对海量数据进行近实时的处理和分析处理,可用于机器学习和数据挖掘

主流代表为Elasticsearch,Splunk,Solr,MarkLogic和Sphinx

面向可扩展性的分布式数据库:

主流代表为Cassandra,HBase,Microsoft Azure Cosmos DB,
Datastax Enterprise和Accumulo

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×