NoSQL数据建模技术.pdf

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
NoSQL数据建模技术.pdf

NoSQL 数据建模技术 【原文】 译者:标豆(微博@biaobean,biaobean@ ) 通常会将不同的NoSQL 数据库做功能以外其他各种指标上做比较,如可扩展性,性能和一 致性。 由于这些指标通常是使用NoSQL 的依据,所以无论从理论的角度还是实践的角度 都深入地进行了研究,而分布式系统中像CAP 定理这样的基础结论也同样适用于NoSQL 系统。与此同时,在NoSQL 的数据模型领域,却还没有很好地研究过,也缺乏关系数据 库中那种系统性的理论。我在这篇文章中从数据建模的角度对NoSQL 家族系统做了比较简 单的比较,并简要介绍几种常见建模技术。 我要感谢Daniel Kirkdorffer 审阅了本文,并梳理了其中的语法。 要探索数据建模技术,我们必须先从NoSQL 数据模型系统性的视图着手,这对揭示他们的 发展趋势以及相互之间的关系多多少少有点帮助。下图描绘了主要NoSQL 家族系统的虚拟 “进化”过程,即键值存储,BigTable 类型的数据库,文档数据库,全文有哪些信誉好的足球投注网站引擎,数据 库和图形数据库: 首先,我们应该注意到,一般意义上讲,SQL 和关系型模型都是在很久以前就被设计出来 为最终用户交互之用。这种面向用户的性质有极深的影响:  最终用户往往对汇总报表信息感兴趣而不是单独的数据项,因而SQL 这方面做了 大量的工作。  不能指望作为自然人的用户能显式地控制并发性,完整性,一致性,或者数据类型 有效性。这就是为什么SQL 竭力关注于事务担保、schema 和参照完整性。 另一方面,软件应用程序往往并非对在数据库内部做聚合有如此大的兴趣,而且,至少在 许多情况下,程序能够自己控制完整性和有效性。除此之外,剔除这些功能对于性能和可 扩展性存储的影响极其重要。新数据模型的演变开始了:  键-值存储是一个非常简单,但非常强大的模型。下面所描述的许多技术都完全适 用于这个模型。  键值模型最致命的缺点之一就是不适合按范围处理主键的场景。有序的键-值模型 突破了这一限制,并显著提高了聚合能力。  有序的键-值模型非常强大,但它不提供任何针对值 (value )的建模框架。在一般 情况下,值的建模可以由应用程序完成,但BigTable 风格的数据库想得更加周到, 它可以将值按照映射的映射的映射(map-of-maps-of-maps)进行建模,说得明确 点,分别是列簇(column family )、列(column )和时间戳化的版本。  文档数据库对BigTable 模式提出两个明显的改善。第一,值可以被声明为任意复杂 的schema,而不仅仅是一个映射的映射(map-of-maps)。第二,至少有一些产品 实现了被数据库管理的索引。就这个意义上来讲,全文有哪些信誉好的足球投注网站引擎也可以同样被认为 提供了灵活的schema 和自动化的索引。他们之间主要区别在于,文档数据库是根 据字段名对索引进行编组,而有哪些信誉好的足球投注网站引擎是使用字段值对索引编组。值得注意的是像 Oracle Coherence 这样的键-值存储系统增加了索引和内嵌入口处理器的功能,正逐 步向文件数据库演进。  最后,图形数据模型可以被视为有序的键-值模型朝另外一个方向的进化。图形数 据库允许对业务实体进行非常透明的建模 (这个东西取决于那个东西),而分层建 模技术在这方面用的是另外的数据模型,但也可与之媲美。图形数据库和文件数据 库息息相关,因为许多实现允许建模的值是映射或者文档。 NoSQL 数据建模的一般注意事项 这篇文章的其余部分介绍了具体的数据建模技术和模式。作为序言,我想提供一些NoSQL 数据建模的一般注意事项:  与关系型建模不同,NoSQL 数据建模往往是从特定查询的应用开始: o 关系型建模典型的是被手上可用数据的结构所驱动。设计主要围绕着的 是“我有什么样的答案?” o NoSQL 数据建模通常由特定应用的访问模式所驱动,比如需要支持的查 询类型。设计主要围绕着的是 “我有什么问题?”  NoSQL 数据建模往往比关系数据库建模需要更加深入地了解数据结构和算法。在 这篇文章中,我介绍了几个著名的数据结构,他们虽然非NoSQL 所特有,

文档评论(0)

ziyouzizai + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档