nosql sql_SQL或NOSQL:这是问题吗?

nosql sql

那么与NoSQL有何关系呢?

NoSQL只是一个有争议的流行词吗? 您能想象是否不存在“面向对象”一词,而是将基于封装,多态性和继承等概念的体系结构称为“ NoProcedural”? 您能想象.net是否被称为'NoJava'? 伦斯特被称为“ NoMunster”?

除了备受争议的名称,了解NoSQL炒作的一个好方法是考虑可伸缩性-经典的非功能性架构问题。 在传统的OLTP架构中 ,当负载增加并且JVM承受压力时,您需要扩展。 您有两种选择:

  • 垂直扩展–为JVM增加更多的CPU功能
  • 水平缩放–添加更多JVM(通常再增加一盒)

通常,水平扩展业务层从来没有任何问题。 遵循J2EE / JEE规范,除非您做了疯狂的事情,否则您的业务层将扩大规模。 只需添加更多JVM并在它们之间进行负载平衡即可。 但是,虽然业务层可能很简单,但持久层却并非如此简单。 假设您使用经典的关系数据库(例如MySQL,SQLServer,DB2或Oracle)来保持持久性,不能像添加JVM那样仅仅添加数据库机器。 为什么不? 想象一下,当表位于同一台计算机上并且表位于不同计算机上时,尝试执行SQL连接! 想象一下,当数据库跨多个CPU分配时,试图维护事务的ACID特性吗? 现在,想尝试在5台计算机,50台,500台,5000台计算机上执行所有操作吗? 机器越多,它变得越难。

领先的关系数据库将水平扩展。 但是只有这么多。 为了解决这个问题,架构师通常会考虑:

  • 垂直扩展–将数据库置于可以提供的最佳硬件上
  • 对旧数据进行分区,从而减少索引表的大小。 这将提高性能并减轻扩展需求的压力
  • 通过在业务层中缓存更多内容来减轻数据库的压力
  • 向DBA支付很多钱!

但是,如果您用光了所有可能的数据库优化选项,而又不得不水平扩展怎么办? 不仅适用于几台机器,而且适用于数百甚至数千台机器。 这就是NoSQL体系结构变得重要的地方。

对于NoSQL数据库,没有严格的架构。 一切都有效地折叠到一个非常庞大的表中,有点像一个老式的平面文件,但是每一行都存储大量数据。 因此,您没有将“用户”表和“活动”表(代表用户的活动)分开,而是将所有“用户”信息放在一个大行中。 这意味着表之间没有联接。 这也意味着存在大量数据冗余,这意味着需要更多的存储空间。 另外,写入将需要更多的计算能力。 但是,由于使用的数据位于同一行中的同一位置-意味着没有复杂的联接,因此更易于扩展。 读取的计算需求也较少。 因此读取可以更快。

NoSQL数据库的另一个优点是源自不必绑定到严格模式所带来的自由。 您知道在头痛的地方更改数据模型会导致大问题吗? 好吧,因为NoSQL没有严格的架构-这个问题不存在。 这使体系结构更加灵活和可扩展。

现在,可以公平地说NoSQL仅与少数体系结构相关。 但是,就像我们在智能手机上看到的那样,这是否可能是技术创新推动业务创新的又一案例? 不需要智能手机,但技术创新提供了商机。 我认为NoSQL架构也会发生同样的情况。

从计算机科学中退后一步,然后思考一下科学。 科学曾经以假设为中心,现在正越来越以数据为中心。 欧洲核子研究中心(CERN),基因组测序,气候变化分析–都涉及数以吨计的数据。 当然,NoSQL架构与MapReduce / Hadoop等搜索技术相关联,将开辟新的科学方法吗?

那么NoSQL架构有什么缺点吗? 嗯,这仍然是一个不成熟的技术。 索引,安全性模型并不像经典关系数据库那样复杂。 而且由于大多数资源来自开源社区,因此其支持不如对关系数据库的支持。 因此,不要马上抛出您SQL!

参考: SQL或NOSQL是问题吗?都柏林技术博客的 JCG合作伙伴 Alex Staveley处获得。

相关文章 :

翻译自: https://www.javacodegeeks.com/2011/09/sql-or-nosql-that-is-question.html

nosql sql

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值