- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库技术复习概要
与网状和层次数据库相比,关系数据库有哪些优点?
与层次和网状模型比较,关系模型有下列优点:数据结构单一;建立在严格的数学概念基础上;将数据定义和数据操纵统一在一种语言中,使用方便,易学易用。
试述关系模型的完整性规则
实体完整性:关系中键属性的值不能取空值。
参照完整性:是关系间引用所遵循的规则,与外键有关。
用户定义的完整性:数据间应满足的语义约束关系,由用户定义,由系统检查。
试述等值连接与自然连接的区别和联系
等值连接表示为R A=BS,自然连接表示为R S;自然连接是除去重复属性的等值连接。两者之间的区别和联系如下:1、自然连接一定是等值连接,但等值连接不一定是自然连接。等值连接不把重复的属性除去;而自然连接要把重复的属性除去。2、等值连接要求相等的分量,不一定是公共属性;而自然连接要求相等的分量必须是公共属性。3等值连接不把重复的属性除去;而自然连接要把重复的属性除去。key/value的数据结构。
key/value的数据结构:域(Domain)+数据项(Item) 域类似于传统关系数据库中的“表”,但域无结构,作用是容纳数据项; 数据项用Key定义,一个域中的不同数据项可能具有不同的结构,数据属性全部是字符串类型,但在有些实现中,属性也可以具有简单的类型,如整型、字符串数组等。
Key/Value数据模式与关系数据库的比较有哪些优点和缺点?
Key/Value的优点:
–便于扩展,适于云计算的环境
–与应用程序代码的兼容性更好
Key/Value的缺点:
–数据完整性约束转移至应用程序
–目前的很多Key/Value数据存储系统之间不兼容
–在云环境中,很多用户和应用使用同一个系统。为了避免一个进程使共享环境超载,往往严格限制一个单独的查询所能够产生的全局影响。
在数据切分机制中,一致性哈希算法的基本原理是什么?
下面就来按照5个步骤简单介绍consistent hashing算法的基本原理。
环形hash空间 考虑通常的hash算法都是将value映射到一个32位的key值,也即是0~2^32-1次方的数值空间;我们可以将这个空间想象成一个首(0)尾(2^32-1)相接的圆环
(2) 把数据对象映射到hash空间
接下来考虑4个对象object1~object4,通过hash函数计算出的hash值key在环上的分布如下图所示。
hash(object1) = key1;
… …
hash(object4) = key4;
(3) 把cache映射到hash空间Consistent hashing的基本思想就是将对象和cache都映射到同一个hash数值空间中,并且使用相同的hash算法。
假设当前有A,B和C共3台cache,那么其映射结果将如图3所示,他们在hash空间中,以对应的hash值排列。
hash(cache A) = key A;
… …
hash(cache C) = key C;
(4) 把对象映射到cache
现在cache和对象都已经通过同一个hash算法映射到hash数值空间中了,接下来要考虑的就是如何将数据对象映射到服务器cache上面了。
在这个环形空间中,如果沿着顺时针方向从对象的key值出发,直到遇见一个cache,那么就将该对象存储在这个cache上,因为对象和cache的hash值是固定的,因此这个cache必然是唯一和确定的。这样就找到了对象和cache的映射方法!
依然继续上面的例子,那么根据上面的方法,数据对象object1将被存储到服务器cache A上;object2和object3对应到cache C;object4对应到cache B。
(5) 考察cache的变动
前面讲过,通过简单hash然后求余的方法带来的最大问题就在于:当cache有所变动时,cache会失效,进而对后台服务器造成巨大的冲击,现在就来分析分析consistent hashing算法。
(a)移除cache
考虑假设cache B挂掉了,根据上面讲到的映射方法,这时受影响的将仅是那些沿cache B逆时针遍历直到下一个cache(cache A)之间的对象,也即是本来映射到cache B上的那些数据对象。
因此这里仅需要变动对象object4,将其重新映射到cache C上即可;参见下图。
(b) 添加cache
再考虑添加一台新的cache D的情况,假设在这个环形hash空间中,cache D被映射在对象object2和object3之间。这时受影响的将
文档评论(0)