【译】NoSQL已死?NoSQL万年长青?

266 阅读5分钟

在本文中,我们将了解迪纳摩如何加速推动数据库行业的NoSQL革命。

dzone.com/static/regi…

迪纳摩加速了推动数据库行业的NoSQL革命。

最近,亚马逊发布了Part iQL-一种SQL兼容的查询语言,用于他们的旗舰NoSQL数据库Amazon Dynamic DB。这给NoSQL带来了“再:进化”的完整循环。很高兴看到UCSD和Couchbase的合作研究使该行业向前发展。

NoSQL运行良好。MapReduce在2004年触发了它。迪纳摩BigTable在2007年加速了这一进程。NoSQL意味着不支持SQL,不支持多文档事务,不支持模式管理,不支持过程语言,以及更多的“不”。然而,NoSQL不是无缘无故的叛逆者。它承诺可靠性、可扩展性和灵活性。有人打趣道:“如果你还没有准备好扩大规模,你就还没有准备好成功!”令SQL人员感到有趣的是,MongoDB声称它是网络规模的。尽管数据库社区持保留意见和反对意见,NoSQL运动仍在继续。许多人想知道它是否对亚马逊、谷歌和脸书有用,还有谁会觉得它有用?

我们到了。拥有超过200个NoSQL数据库。

NoSQL系统不再是简单的键值存储,get/set、map/reduce操作。MongoDB添加了一个聚合框架,一个现代存储引擎,并删除了ACID。Dynamic o DB添加了事务、索引,现在是类似SQL的语言。Cassandra从类似SQL的语言CQL开始,在3.0中进行了重大更改,并一直在添加新的数据类型、DDL和DML。Couchbase从简单的API开始,添加了视图。2015年,Couchbase推出了适用于JSON、全局二级索引N1QL-SQL,后来增加了支持N1QL的分析服务和分布式事务。

如果你读过《创新者的困境》,它应该会让你想起丰田和小型工厂的故事。现任者将低端市场留给了丰田科罗纳和小型工厂,这使他们能够专注于更高利润率的市场。在数据库行业,现任者以同样的嘲笑看待NoSQL,或者声称他们很久以前就有了无SQL数据库!尽管如此,现有公司还是有一些半心半意的尝试进入市场。甲骨文甚至通过收购伯克利数据库NoSQL的制造商Sleepycat Software来投资NoSQL。IBM向InformixDB2添加了JSON和MongoDB支持。这相当于通用汽车发布了地理地铁——让我们在市场的低端发布一个基本模型,并完成它。微软可能通过从头开始构建Cosmos DB(以前的Document DB)做出了最好的尝试。

NoSQL不仅仅是没有SQL。就像丰田和小型工厂一样,NoSQL拥有核心优势。丰田的优势是单模架,这使得他们能够在日本生产汽车,运送6000英里,而且低端汽车购买者仍然负担得起。单模具框架也为他们提供了迭代和创新以改进汽车的基础。小型钢厂继续提高产量,以生产质量更好的钢材,而综合钢厂的反应通常是逃离市场,避免竞争。在一个晴朗的日子里,通用汽车申请破产,综合钢厂停业。

那么,NoSQL的核心差异化是什么?来自核心的分布式数据库。传统的RDB MS系统被构建为在一台机器上运行,并扩展到热备情况,然后扩展到规模。NoSQL系统被设计成从一开始就运行在一组机器上。硬件和软件故障是预期的,并在系统级别上处理。事实上,COUCH BASE中的COUCH代表不可靠商品硬件集群。NoSQL的核心从提供可靠性和向外扩展的分布式数据库开始。当然,分布式数据库系统已经存在了40年。他们专注于仓储,而不是联机事务处理。

NoSQL从微不足道的get()/set()API开始:仅仅足以覆盖购物车、会话存储和配置文件管理器的基本用例。他们的功能不可能与SQL的复杂程度相匹配。传统数据库供应商对NoSQL的嘲弄让人想起通用汽车和综合钢厂的反应。甲骨文和IBM的“高级祭司”很乐意将这个低端市场播种给一群“一无所知”的人

NoSQL数据库已经添加了索引、带连接的SQL、聚合、窗口函数、搜索和事务。好的。这只是沙发基地。但是,其他人有一些。在Couchbase,我们与从Oracle、Db2、Informix、SQL Server和赛贝斯迁移的客户合作。这些都是很棒的数据库,但它们的核心是不同的。为一个人建造,为几个人扩展。NoSQL系统是为大规模和可靠性而构建的。即使添加了更高级别的索引、查询和搜索功能,这个核心仍然必须大规模运行并可靠。有了这些能力,NoSQL已经成为企业的支柱。任务关键型工作负载和成千上万的集群通常运行Couchbase、MongoDB、Elastic和其他NoSQL系统。NoSQL系统使现代数据库为现代企业做好了准备并负担得起。

SQL本身的效率合理。许多NoSQL系统已经扩展到支持SQL的许多方面。NoSQL系统之间为提供更好的SQL(这意味着更好的语法、功能、性能、优化器和缩放)而进行的竞争非常激烈。随着这些系统的发展,以创建一个更好的数据库,让我们欢迎亚马逊迪纳摩数据库加入进来,并说: *NoSQL已经死了,NoSQL*万岁。

参考文献

  1. www.allthingsdistributed.com/files/amazo…

  2. dzone.com/articles/ke…

  3. dzone.com/articles/ke…

  4. cassandra.apache.org/doc/latest/…

  5. hostingdata.co.uk/nosql-datab…

  6. www.vldb.org/pvldb/vol2/…

  7. www.singlestore.com/blog/why-no…

  8. blog.couchbase.com/unreasonabl…

  9. blog.couchbase.com/the-unreaso…