TL;灾难恢复:随着组织收集的非结构化数据量激增,他们现有的数据库变得捉襟见肘:它们太慢、太不灵活、太昂贵。 我们需要的是一个不受关系模式约束的数据库管理系统,一个适应面向对象的数据结构而没有对象关系映射框架的复杂性和延迟的数据库管理系统。 NoSQL (ak。a. 不仅仅是SQL(提供了管理大量非数据库实时同步 结构化数据所需的灵活性、可扩展性和可用性,尽管它自身也有一些缺点。
数据不再是过去的样子了。 通过数据已建立的关系查询的表和行中整齐存储的数据的良好结构模型已经不复存在。 随之而来的是谷歌、脸书、推特、亚马逊和其他数不清的非结构化数据来源,这些数据根本不适合传统的关系数据库。
这并不是说关系数据库管理系统是濒危物种。 2014年8月24日,一篇关于服务器的文章。com指出,企业仍然更喜欢结构化查询语言数据库,主要是因为它们的可靠性符合原子性、一致性、隔离性和持久性(酸性(模型。 此外,有很多数据库管理员拥有关系型结构化查询语言经验,但是拥有NoSQL技能的就更少了。
尽管如此,关系数据库管理系统并不容易容纳非结构化数据—至少在它们当前的形式下是如此。 未来显然是组织中的大部分数据都是非结构化的。 早在2011年6月,国际数据中心的一项研究(pdf)预测,在未来十年,全球范围内生成的90%的数据将是非结构化的。 我们在谈论多少数据? 2015年8000艾字节怎么样,相当于8万亿吉字节。
世界上数据量的巨大增长—其中大部分是非结构化的—需要一种非关系的管理方法。 信用:国际数据中心
正如国际数据中心的报告指出的那样,企业再也不能将”消费信息技术”作为其内部基础设施的一部分,而是作为一种外部服务。 这一点尤其正确,因为像睡眠数据库即服务(数据库管理员)这样的云服务结合了公司确保数据安全和法规遵从性所需的安全性和可靠性。
通过支持蒙古数据库和MySQL,Morpheus为组织提供了将现有数据库和新数据存储转移到云中的灵活性。 他们可以使用单个控制台实时监控他们的查询,以发现并消除性能瓶颈。 连接通过虚拟专用网得到保护,所有数据都自动备份、复制和存档。 墨菲斯的固态硬盘支持的基础设施确保快速连接到数据存储,直接链接到EC2提供超低延迟。
结构化查询语言的一个主要缺点是,随着处理的事务数量增加,性能下降。 传统的解决方案是添加更多的关系数据库管理系统服务器,但是这样做是昂贵的,更不用说管理噩梦,因为优化和故障排除变得越来越复杂。
有了NoSQL,您的数据库可以横向扩展,而不是纵向扩展。 结果是分布式数据库在数千个服务器上托管数据,这些数据可以在不影响性能的情况下添加或删除。 当然,现实很少如此简单。 在2013年11月20日《信息周刊》的一篇文章中,乔 马斯特斯解释说,高可用性在只读分布式系统上很容易实现。 写这些系统要复杂得多。
如帽子定理(或布鲁尔定理,以埃里克 布鲁尔命名(所述,您可以有严格的可用性或严格的一致性,但不能两者都有。 NoSQL数据库倾向于可用性方面,牺牲了一致性。 然而,分布式数据库在处理超时方面变得越来越好,尽管没有办法不影响数据库的性能。
NoSQL的另一个优势是它不会像结构化查询语言那样把你锁在一个僵化的模式中。 正如Jnan Dash在2013年9月18日的一篇关于ZDNet的文章中所解释的那样,对数据模型的修改会导致性能问题,但是在数据模型投入生产之前,设计者很少知道关于数据模型的所有事实。 对动态数据模型的需求发挥了NoSQL适应市场变化、组织变化甚至技术变化的优势。
NoSQL数据模型分为四大类:键值存储、文档存储、面向列的存储和图形数据库。 本 斯科菲尔德将这些NoSQL数据库类别与关系数据库进行了比较。 (请注意,NoSQL实现之间有相当大的差异。)
本 斯科菲尔德根据性能、可伸缩性、灵活性、复杂性和功能性对NoSQL的四大类别进行了评级。 信用:维基百科
K-V存储的基本数据模型是关联数组,也称为地图或目录。 键值对中的每个可能的键在集合中出现不超过一次。 作为最简单的非平凡数据模型之一,K-V存储通常被扩展到更强大的有序模型,这些模型以字典顺序维护关键字,以及其他目的。
组成文档存储的文档以标准格式封装或编码数据,通常是XML、YAML或JSON (JavaScript对象符号),但也有二进制BSON,PDF和微软办公格式。 集合中的文档有点类似于表中的记录,尽管集合中的文档不一定像表中的记录那样共享所有字段。
NoSQL列是由唯一的名称、值和时间戳组成的键值对。 时间戳用于区分有效内容和过时内容,因此解决了NoSQL的一致性缺点。 分布式数据库中的列不需要关系数据库中的列的一致性,因为NoSQL的”行”并不与”表”相关联,后者仅在NoSQL概念上存在。
图形数据库使用节点、边和属性来表示和存储数据,而不需要索引。 相反,每个数据库元素都有一个指向相邻元素的指针。 节点可以代表人、企业、帐户或其他可跟踪的项目。 属性是与节点相关的数据元素,例如一个人的”年龄” . 边将节点连接到其他节点和属性;它们代表元素之间的关系。 大部分分析是通过边缘完成的。
一旦你把NoSQL的炒作和现实分开,很明显,NoSQL和结构化查询语言在未来的数据库环境中都有很大的空间。 甲骨文、微软和其他领先的结构化查询语言提供商已经在其产品中添加了NoSQL扩展,正如信息世界的埃里克 克诺尔在2014年8月25日的一篇文章中所解释的那样。 有了像睡眠这样的数据库管理员服务,你就能两全其美:MongoDB满足你的NoSQL需求,MySQL满足你的关系数据库管理系统。 有选择总是好的!
相关参考卡:
NoSQL和数据可扩展性2 .0