NoSQL的技术选型参考

本文探讨了NoSQL数据库的动因,包括可伸缩性、成本、扩展性和可用性,介绍了键值对、文档、列族和图数据库四种主要类型,并详细阐述了各自术语、建模和架构特点。针对不同类型的NoSQL数据库,提供了技术选型参考,适用于缓存、富数据存储、大规模数据处理和复杂网络关系管理等多种场景。
摘要由CSDN通过智能技术生成

本文的思维导图如下:


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)存放图像文件及音频文件等大型对象


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

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

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

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

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

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


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

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

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

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

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

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


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

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

2)身份及访问 管理

3)商务流程管理

4)推荐产品及服务

5)社交网络


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值