1. NoSQL数据库定义、TRDB和NoSQL区别
NoSQL是一种不同于关系数据库的数据库管理系统设计方式,是对非关系型数据库的统称,它所采用的数据模型并非传统关系数据库的关系模型,而是类似键/值、列族、文档等非关系模型。NoSQL数据库没有固定的表结构,通常也不存在连接操作,也没有严格遵守ACID约束。因此,与关系数据库相比,NoSQL具有灵活的水平可扩展性,可以支持海量数据存储。
TRDB:“Traditional Relational Database”,即“传统关系型数据库”。
关系型数据库,是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,以便于用户理解,关系型数据库这一系列的行和列被称为表,一组表组成了数据库。
TRDB技术设计最初基于单机集中管理数据概念而进行的,所以受单机物理性能的限制。TRDB技术是建立在数据库管理系统(DBMS)上的.
TRDB无法解决的问题:
传统大型关系型数据库无法很好的解决问题
在互联网上的应用
面对的是大量数据存储和使用问题
大数据
代表Oracle、SQL Server、MySQL。
TRDB与NoSQL的区别
1.技术上:
TRDB NoSQL
使用强存储模式技术 使用弱存储模式技术
采用SQL技术标准定义和操作数据库 没有采用SQL技术标准定义和操作数据库
采用强事务保证可用性及安全性 采用弱事务保证数据可用性
主要采用单机集中式处理CP 主要采用多机分布式处理DP
2.事务上:
上面在技术上其实已经提到了,但还是单独的拿出来说说,TRDB遵循ACID原则,不仅要遵循最终一直性,还要中途不能变。NoSQL遵循BASE原则,只需要保证最终一致性,NoSQL在数据处理过程中,允许状态暂时不一致。
3.处理类型上:
NoSQL在处理网页、网站访问量、大量的视频存储等,这些数据允许插入出错,给用户带来的损失往往是能接受的。而TRDB所要面对的数据,如财务数据,如果少记录一笔甚至记错一个数字,就可能损失上百万,这都是承受不起的损失。
选择使用ACID还是BASE,或者是说选择TRDB还是NoSQL,取决于他们的优缺点。灵活的运用他们的优势,避开劣势。
2. NoSQL数据库的四种存储模式(ppt)
2.1 哪四种
1.键值对存储数据库;
典型代表:Tokyo Cabinet/Tyrant、Redis、Voldemort、Berkeley DB、
适用领域:内容缓存,适合混合工作负载并扩展大的数据集,
2.列式存储数据库;
典型代表:Cassandra、HBase, Riak
适用领域:分布式的文件系统
3.文档型数据库;
典型代表:CouchDB、MongoDB
适用领域:Web应用
4.图形数据库;
典型代表:Neo4J、InfoGrid、Infinite Graph
适用领域:社交网络,推荐系统等。专注于构建关系图谱
键值
文档
列族
图
2.2 组成元素
二、键值数据存储结构
1、什么是键值数据库
键值数据库Key-Value Database是一类轻量级结合内存处理为主的NoSQL数据库。
键值数据库放弃了传统关系型数据库的数据结构设计模式,转而采用速度更快的内存或SSD为数据运行存储方式,提升数据的执行效率。
键值数据库主要运行在内存,实现定期向硬盘读写数据的策略。
2、键值数据库的优缺点
(1)优点
简单
快速
高效计算
分布式处理
(2)缺点
对值进行多值查找功能很弱
缺少约束,更容易出错
三、文档数据存储模式
文档数据库与传统数据库一样,也是建立在对磁盘读写的基础上,对数据进行各种操作。文档数据库的设计思路是针对传统数据库低效的操作性能,首先考虑的是读写性能,为此需要去掉各种传统数据库规则的约束。
四、列族存储实现
列族数据库是为处理大数据而生的,相对于传统数据库的弱点,列族存储采用了去规则、去约束化的思路。
1、列族数据库存储结构基本要素
(1)命名空间
命名空间是列族数据库的顶级数据结构,相当于传统关系型数据库的表名。
(2)行键
行键用来唯一确定列族数据库中不同行数据区别的标识符。它的作用与传统关系型数据库的行主键作用类似。但是列族数据库的行是虚的,只存在逻辑关系,因为它们的值以列为单位进行存储。而传统的关系型数据库的行是一条连续而紧密的记录。另外行键还起分区和排序的作用。放列族的列存放于不同服务器的分区时,则行键七分区地址指向的标识作用。列族数据库存放数据时,自动按照行键进行排序。
(3)列族
由若干个列所构成的一个集合称为列族。对于关系紧密的列可以放到一个列族里,谜底是提高查询速度。
(4)列
列是列族数据库里用来存放单个数值的数据结构。列的每个值都附带时间戳,通过时间戳来区分值的不同版本。
2、列族的存储特点
擅长大数据处理,对于命名空间、行键、列族需要预先定义,列无需预先定义,随时可以增加。
五、图数据存储模式
1、图数据库存储结构基本要素
节点
边
属性
图
2、处理各种图结构的数据
比如无向图、有向图、二分图、流动网络图、多重图、加权图、树等。
3、应用领域广泛
可以以图的形式表示关系的数据,比如基于地图的交通运输、游戏开发、复杂的人际关系图、规则推理等。
图存储数据本身很简单,主要通过节点与节点产生的关系,进行深入查找、统计、分析,以发现有价值的数据规律。
比如:
计算两节点之间的最短路径;
两节点之间哪条路径派送成本最小;
两节点之间哪条路线派送速度最快;
哪个节点的邻节点最多,意味着是否可以在此处建立中转仓库;
哪个节点是薄弱节点,一旦这个节点出现问题,是否会对整体运营产生严重的影响;
2.3 优缺点