您的位置:首页 > 数据库

NoSQL的技术选型参考

2017-05-18 14:55 204 查看
本文的思维导图如下:






1、催生动因

1)可伸缩

2)成本

3)可扩展

4)可用性

传统的关系型数据库在上述表现较差,从而催生了nosql,nosql和关系型数据库互为补充

2、种类

1)键值对数据库,如Redis,Riak,Oracle Berkeley DB

2)文档数据库,如Mongodb,CouchDB,CouchBase

3)列族数据库,如Cassandra,HBase

4)图数据库,如Neo4j,Titan

3、术语

键值数据库的术语

建模相关:键,值,命名空间,无纲要的模型

架构相关:集群,环,复制,分区,分区键

实现相关:哈希函数,冲突,压缩



文档数据库的术语

建模相关:文档,集合,嵌入式文档,无纲要,多形

架构相关:集群,分区键,分区(垂直,水平)



列族数据库的术语

建模相关:键空间,行健,列族,列

架构相关:集群,分区键,分区,复制

实现相关:反熵,gossip协议,提示移交,提交日志,bloom过滤器,副本数量,一致性级别



图数据库的术语

元素相关:顶点,边,路径,自环

属性相关:同构性,阶与尺寸,度数(顶点距离),接近中心性(传播速度),中介性(图的瓶颈)

类型相关:无向,有向,流动网络,二分,多重,加权





4、技术选型参考

键值数据库的用途(适用于频繁读多并写入少量数据)

1)缓存关系型数据库中的数据,以改善程序性能

2)追踪web应用程序中容易发生变化的一些属性,如用来保存购物车中的货品

3)存储移动应用程序中的配置信息和用户数据信息

4)存放图像文件及音频文件等大型对象

文档数据库的用途[b](适用于读多写多的情况,存储比较大量的数据,数据富于变化)[/b]

1)读取量和写入量比较大的网站提供后端支持

2)对属性多变的数据类型进行管理,如管理产品信息

3)记录各种类型的元数据

4)使用JSON数据结构的应用程序

5)需要通过在大结构里面嵌套小结构来进行去规范化处理的应用程序

列族数据库的用途(适用于处理大量数据,多数据中心)

1)应用程序总是需要向数据库中写入数据

2)应用程序分布在地理位置不同的多个数据中心里面

3)应用程序能够允许副本之间出现短暂的数据不一致的现象

4)应用程序所使用的字段经常会变化

5)应用程序有可能要处理巨量的数据,如数百TB的数据

图数据库的用途(适用于处理相互连接的实体所构成的网络)

1)网络与IT的基础设施管理

2)身份及访问 管理

3)商务流程管理

4)推荐产品及服务

5)社交网络
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: