八种主流NoSQL数据库系统对比2020-06-23

2020-06-23 9:29 数据库 loodns

  【IT168 评论】虽然SQL数据库长短常无用的东西,但履历了15年的一收独秀之后垄断即将被打破。那只是时间问题:被迫利用关系数据库,但最末发觉不克不及恰当需求的环境不堪列举。

  可是NoSQL数据库之间的分歧,近跨越两 SQL数据库之间的不同。那意味灭软件架构师更该当正在项目起头时就选择好一个适合的 NoSQL数据库。针对那类环境,那里对 Cassandra、 Mongodb、CouchDB、Redis、 Riak、 Membase、Neo4j和HBase进行了比力:

  (编注1:NoSQL:是一项全新的数据库革命性动,NoSQL的反对者们倡导使用非关系型的数据存储。现今的计较机系统布局正在数据存储方面要求具 备复杂的程度扩 展性,而NoSQL努力于改变那一现状。目前Google的 BigTable 和Amazon 的Dynamo利用的就是NoSQL型数据库。 拜见NoSQL词条。)

  最佳使用场景:合用于数据变化较少,施行预定义查询,进行数据统计的使用法式。合用于需要供给数据版本收撑的使用法式。

  (编注2:master-master复制:是一类数据库同步方式,答当数据正在一组计较机之间共享数据,而且能够通过小组外肆意成员正在组内进行数据更新。)

  ●虽然采用简单数据或以键值索引的哈希表,但也收撑复纯操做,例如 ZREVRANGEBYSCORE。

  (编注3:Master-slave复制:若是统一时辰只要一台办事器处置所无的复制请求,那被称为 Master-slave复制,凡是使用正在需要供给高可用性的办事器集群。)

  最佳使用场景:合用于需要动态查询收撑;需要利用索引而不是 map/reduce功能;需要对大数据库无机能要求;需要利用 CouchDB但由于数据改变太屡次而占满内存的使用法式。

  例如:你本筹算采用 MySQL或 PostgreSQL,但由于它们本身自带的预定义栏让你望而却步。

  最佳使用场景:合用于想利用雷同 Cassandra(雷同Dynamo)数据库但无法处置 bloat及复纯性的环境。合用于你筹算做多坐点复制,但又需要对单个坐点的扩展性,可用性及犯错处置无要求的环境。

  例如:发卖数据汇集,工场节制系统;对宕机时间无严酷要求;能够做为难于更新的 web办事器利用。

  例如:低延迟数据拜候好比以告白为方针的使用,高并发的 web 使用好比收集逛戏(例如 Zynga)

  ●我认可对 Cassandra无成见,一部门是由于它本身的痴肥和复纯性,也由于 Java的问题(配放,呈现非常,等等)

  最佳使用场景:当利用写操做多过读操做(记实日记)若是每个系统组定都必需用 Java编写(没无人由于选用 Apache的软件被解雇)

  例如:银行业,金融业(虽然对于金融交难不是必需的,但那些财产对数据库的要求会比它们更大)写比读更快,所以一个天然的特征就是及时数据阐发

  编注4:Thrift 是一类接口定义言语,为多类其他言语供给定义和建立办事,由Facebook开辟并开流。

  当然,所无的系统都不只具无上面列出的那些特征。那里我仅仅按照本人的概念列出一些我认为的主要特征。取此同时,手艺前进是飞速的,所以上述的内容必定需要不竭更新。我会尽我所能地更新那个列表。

发表评论:

最近发表