设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
中问网首页
我的收藏
站长博客
搜索
搜索
本版
帖子
用户
第一问答网
»
论坛
›
中问网
›
问答
›
NoSQL数据模型
返回列表
发新帖
NoSQL数据模型
[复制链接]
11
|
8
|
2014-2-19 11:55:14
|
显示全部楼层
|
阅读模式
数据模型是认知和操作数据时所用的模型。对于使用数据库的人来说,数据模型描述了我们如何同数据库中的数据打交道。它与存储模型不同,后者描述了数据库内部存储及操作数据的机制。在理想情况下,用户应该感觉不到存储模型才对,然而实际应用中,我们还是得对其略知一二,这主要是为了实现良好的性能。
大家日常所说的“数据模型”一词,一般指应用程序的特定数据所具备的模型。开发者可能会指着一张数据库的“实体- 关系图”(Entity-Relationship Diagram),把这个包含客户、订单、产品等信息的东西叫做他们的数据模型。
然而本书的“数据模型”通常表示数据库组织数据的方式,它的正式名称是“元模型”(metamodel)。
在过去的几十年中,关系型数据模型是占主导地位的数据模型,它看上去就是一组非常直观的表格,或者说,19 更像电子数据表。每张表(table)有若干行(row),每行包含相关实体。这些实体通过列来描述,行列交汇处都有单一值(single value)。列可以引用同一张表内或不同表格中的其他列,从而把这些实体关联起来。(上文所说的“表”和“行”都不是正规术语,只是大家都这么称呼罢了。更正式的说法应该是“关系”及“元组”。)
NoSQL 技术与传统的关系型数据库相比,一个最明显的转变就是抛弃了关系模型。每种NoSQL 解决方案的模型都不同,NoSQL 生态系统中广泛使用的模型分为四类:“键值”、“文档”、“列族”和“图”。前三类数据模型有一个共同特征,我们称其为“面向聚合”(aggregate orientation)。下面将解释面向聚合的含义及其对数据模型的意义。
回复
使用道具
举报
千问
|
2014-2-19 11:55:14
|
显示全部楼层
关系模型把待存储的信息分隔成元组(行)。
元组是种受限的数据结构:它只能包含一系列的值,因此不能在元组中嵌套另一个元组,也不能包含由值或元组所组成的列表。这种简单的数据结构支撑着关系模型:所有操作都必须以元组为目标,而且其返回值也必须是元组。
面向聚合所用的方式与之不同,我们通常操作数据时所用的单元,其结构都比元组集合复杂得多。如果能够以这种复杂的结构来存放列表或嵌套其他记录结构就好了。
随后我们可以看到,“键值数据库”、“文档数据库”、“列族数据库”都使用这种更为复杂的记录。然而,没有公认的术语来称呼这种复杂的记录,我们把它叫做“聚合”(aggregate)。
聚合是“领域驱动设计”中的术语。在领域驱动设计中,我们想把一组相互关联的对象视为一个整体单元来操作,而这个单元就叫聚合。在涉及数据操作与一致性管理时,更是如此。一般情况下,我们通过原子操作(atomic operation)更新聚合的值,并且在与数据存储通信时,也以聚合为单位。这个定义也非常符合“键值数据库”、“文档数据库”和“列族数据库”的工作方式。因为用聚合为单位来复制和分片显得比较自然,所以在集群中操作数据库时,还是使用聚合比较简单一些。
此外,由于程序员经常通过聚合结构来操作数据,故而采用聚合也能让其工作更为轻松。
回复
使用道具
举报
千问
|
2014-2-19 11:55:14
|
显示全部楼层
现在可以用示例来帮大家理解我所讲的内容。假设我们要建立一个电子商务网站,把商品通过网站直接卖给消费者,那么必须存储用户信息、商品目录(product catalog)、订单、收货地址(shipping address)、账单地址和付款方式等信息。这个应用场景,既可以用关系型数据模型建模,也可以用NoSQL 数据模型建模,我们要比较两者的优劣。
如果采用关系型数据库,那么就可以从图1 所示的数据模型开始。
t1.jpg (48.34 KB, 下载次数: 22)
下载附件
2014-1-22 10:58 上传
回复
使用道具
举报
千问
|
2014-2-19 11:55:14
|
显示全部楼层
图2展示了该模型所用的一些范例数据。
t2.jpg (75.52 KB, 下载次数: 12)
下载附件
2014-1-22 10:58 上传
回复
使用道具
举报
千问
|
2014-2-19 11:55:14
|
显示全部楼层
既然大家都是使用关系模型的高手了,那一切就按老规矩办,这样各张表格间就不会出现重复数据了。我们也维护了表格间的“参照完整性” 。实际工作中的订单系统肯定更为复杂,不过在这里,它倒是挺合适的。
现在我们再来看看,如果用面向聚合的思路来做,那么数据模型会是什么样子。
图3:聚合数据模型
t3.jpg (39.83 KB, 下载次数: 13)
下载附件
2014-1-22 11:00 上传
回复
使用道具
举报
千问
|
2014-2-19 11:55:14
|
显示全部楼层
关注!学习中!
回复
使用道具
举报
千问
|
2014-2-19 11:55:14
|
显示全部楼层
支持大牛啊!
回复
使用道具
举报
千问
|
2014-2-19 11:55:14
|
显示全部楼层
厉害,可是不知道高效的优势如何体现
回复
使用道具
举报
千问
|
2014-2-19 11:55:14
|
显示全部楼层
厉害,可是不知道高效的优势如何体现
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
千问
主题
0
回帖
4882万
积分
论坛元老
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
积分
48824836
加好友
发消息
回复楼主
返回列表
问答
热门排行
1
我哮喘吃激素吃多了,但是没有任何反应,怎么搞的?
2
刚刚转身一用力感觉手指指的这边扭了一下
3
肺结核患者可以吸雾化能量棒吗?
4
我哥的主动脉夹层修复手术是要开胸吗?
5
小肚子坠胀,肛门坠胀,想拉大便拉不出
6
试孕纸一条深一条浅早晨还流血
7
小孩吃了不吸收。吃了就拉
8
未婚大学生怀孕六个半月想要打掉
9
淋巴细胞偏高;中性细胞偏低
10
带有颜色的未知小疙瘩
11
医生你好请你帮我看看这个报告单
12
牙侧有龋洞,不疼不痒,可以补牙吗
13
你好,男朋友没射,也没带套,并且也没完全
14
hpv66怎么转阴,它是什么原因引起的
15
油烫伤四五天过去起泡了
16
口腔牙龈肿痛,一开始用金喉健,喷上去火辣辣的疼,
17
做完人工流产一个月后复诊时来大姨妈能复诊吗
18
孩子被狗抓伤导致缝针
19
孕妇甲状腺疾病,请问医生需要治疗吗
20
全身多穴位疼痛,如果调理?
21
口腔内脸颊,脱皮,能自己恢复吗
22
澳珀润可以抑制脚汗吗?
23
胆汁反流性胃炎时好时坏,今天早晨又恶心呕吐
24
这个是确定了吗?稽留流产
25
大姨妈不正常,时间长了
26
末次月经8月15,9月29号试纸测强阳
27
被狗抓了害怕得狂犬病
28
几天前胳膊上起一片小红点,不疼不痒,逐渐增多。
29
手上长了一个有豆粒这么大的黑东西
30
乱吃东西,今年10周岁了
31
月经不正常,两三个月也不来
32
被菜刀切到比较严重要怎么办
33
服用了一次紧急避孕药,月经也按时来了。
34
被猫咬了,第二天就低烧感冒。
35
月经不调一个多月不走
36
关于肺结核的症状表现
37
今天被车撞了臀部,后去做b超显示左肾孟分
38
性早熟胸部发育腺样体多发小囊肿
39
髋关节疼痛,已做了MR
40
左肺上叶尖后段直径0.35厘米的肺大疱,没有破裂
41
心脏供血不足引起的下肢浮肿
42
感冒上火喉咙多痰咳嗽
43
右太阳穴和耳后根一直痛
44
眼睛被臭虫咬了,肿了
45
吃鸭架骨头划伤了嗓子,嗓子有痛感
46
无痛胃镜和普通胃镜建议做那个副作用小点
47
如果长期喝酒抽烟会影响精子质量吗?我平时要怎么做?
48
一直有多囊卵巢,孕前血糖还好的,没有出现血糖异常的
49
月经反反复复,去了来,来了去
50
上个月生化妊娠了,孕酮一点几,这个月可以预先补孕酮
51
感冒感冒第一天早上起来嗓子疼
52
手变皱了,有纹,也不知道什么时候有的,怎么回去啊?
53
十一个多月宝宝锁骨左侧凸出,拍片子报告上面说是骨折
54
检测了性激素六项,还需要吃妈富隆么?
55
外阴易有泥状分泌物,偶痒
56
4天前煮菜脚不小心被油溅了
57
目前怀孕32周请问胎心监护多少周开始做呢?
58
两岁宝宝最近,有眼屎,口渴
59
胃部不适,喉咙干,有呕吐感。肚脐眼左侧隐痛
60
感觉身体特别累,爱睡觉
61
排便困难,蹲很久才出来
62
包皮手术后8天,能不能不包扎纱布了
63
阴茎正常应该多长会不会影响生育。
64
眼球白色部分充血跟心脑血管有关吗
65
月经不调,少量,时间久
66
产后宝妈,每天都会恶心
67
你好请问下,阿司匹林布洛芬朴尔敏晕车药一起吃会怎样
68
体检单子想看下有没有问题
69
来月经可以喝阿胶红糖水吗昨天刚来我泡两
70
脖子左侧发红,有轻微肿,很痒
71
支气管炎做雾化,药可以混在一起吗?
72
我用过试孕纸试一条深一条浅,早晨起来还有雪迹
73
我家孩子7岁了,阴茎包茎
74
宝宝洗澡摔跤把眼角摔肿了一直有淤血怎么办
75
掉头发脱发不知道为什么
76
单眼皮上面还有一条线怎么回事
77
身体经常疲惫,不舒服,干点活就累的,气紧
78
3个月的宝宝腿上出现红紫色的点点
79
请问我胳膊上是起的什么
80
癫痫病人,已经吃药怀孕了怎么办?
81
男54脑出血厚脑梗塞,多发性的
82
老人脑血管,血管畸形
83
感觉不严重如果是没病打了消炎抗病毒的小针
84
感觉心累身体也跟累浑身无力
85
吃善存多维元素片的同时,能吃钙尔奇D吗
86
小腿肌肉碰伤,皮肤表面呈紫小块
87
浑身四处时不时的痒,不知道为什么
88
出门总是感觉气短,要打个隔才舒服一点
89
阴蒂两侧和小阴唇,有很多点点
90
近期发现腰部总是弯腰动一下就会有弹响
91
身上老是出现这种问题是怎么回事?
92
一号来了姨妈现在17号又来怎么回事
93
吃不下东西,胃疼……
94
两次刨腹产之后六个月怀孕了
95
阴经性功能勃起功能障碍
96
关于6岁儿童牙齿问题
97
做月子后,经常关节疼
98
宝宝一岁十个月不爱吃蔬菜,便秘
99
我在手淫高潮时会和男生一样射出精液请问正常吗?
100
膝盖轻微磕了一下会不会导致脸部皮肤变黑