Nosql 理解篇+实战篇 二 NoSQL的数据模型Ⅰ
来源:互联网 发布:数控线切割机编程入门 编辑:程序博客网 时间:2024/05/22 06:23
二 NoSQL的数据模型Ⅰ
NoSQL的核心数据模型思想?NoSQL模型的模型分类及其常用模型结构思想?我的项目应该选用哪种NoSQL数据库?
1) 正如C演变到C++那样,其所演变的核心思想是将面向过程演变为面向对象。而关系型数据库演变到NoSQL非关系型数据库的核心思想为“面向行”转变为“面向聚合”
关系型数据库的瓶颈在于,每张表的行可以存储value,但并不能存储包含类似键值对(Key:Object)类的聚合类(编者论:有人可能说可以存储以josn格式存储的值来实现此类关系,事实上,单不说在大数据存储中对json,Object的处理方式而引起的效率问题,单单对数据存储而言,此类与我们讨论的NoSQL并非在同一理解层面里。而且负责的“聚合关系”并非行内json所能处理的)
2) 常用的NoSQL生态模型:
1 键值
2 文档
3 列族
4 图
其中1,2,3称为聚合 4 为聚合无知
3) 关系型数据库和的NoSQL的事务处理
关系型数据库:ACID (一致,原子,隔离,持久)
NoSQL:对于事务的操作一般每次只能在一个聚合结构上进行原子操作;
4) Josn为NoSQL常用的数据格式,以一个订单结构来示例:
5) 键值数据模型与文档数据模型
键值数据库:聚合不透明,包涵众多没有意义的大块信息。优势在于可以随意存储任意数据,数据库可能限制聚合的总大小。
文档数据库:聚合结构可以看到,数据库对存储内容限制其结构和数据类型,优势为更加灵活的访问数据。
在键值数据库中,要访问聚合内容,只能通过见来查找。
在文档数据库中,可以通过聚合中字段来查找,可以只获取一部分聚合,而不用获取全部内容。此外,数据库可以按照内容创建索引。
事实上,键值和文档数据库界限有些模糊,经常在文档数据库中,用它做“键值查询”,而在键值型的数据也可以允许略带含义的数据结构
6) 列族数据库:
以一张订单表为例
7) 数据库选用:
如果数据交换大多在同一聚合内执行,则应该使用面向聚合的数据库
若执行交互操作需要使用多种不同格式的数据,最好选用“聚合无知式”数据库
- Nosql 理解篇+实战篇 二 NoSQL的数据模型Ⅰ
- Nosql 理解篇+实战篇 三 数据模型Ⅱ 聚合数据库关系处理及图数据库
- Nosql 理解篇+实战篇 一 了解nosql
- Nosql 理解篇+实战篇 五 NoSQL一致性解决方案
- NOSQL(二)聚合数据模型
- 论NoSQL的数据模型
- 论 NoSQL 的数据模型
- 论 NoSQL 的数据模型
- 论 NoSQL 的数据模型
- 论 NoSQL 的数据模型
- NOSQL数据模型
- Nosql 理解篇+实战篇 四 分布式模型
- nosql 的理解與選擇
- NoSQL的理解
- NoSQL数据模型总结
- NOSQL(三)分布式数据模型
- NoSQL数据模型详解(二)の文档模型
- 对NOSQL学习的理解
- Mycat+keepalived+haporxy 高可用群集配置
- 1 zero ice 初步学习
- 第十二周项目3-图遍历算法的实现BFS
- sql插入数据时,避免插入重复数据
- Java 基础——This 用法
- Nosql 理解篇+实战篇 二 NoSQL的数据模型Ⅰ
- Java哈希表
- SQLSERVER-XML-列转行
- redis的链表list操作
- 批量删除 .svn 文件夹和 .svn 文件
- 全面掌握java枚举类型
- 正则表达式 "^+$"等符号意义
- Java计算两个日期之间的天数
- AndroidStudio配置NDK环境和简单使用