在2005年谷歌的业务规模为61亿美元时,支撑该公司主要摇钱树的数据库——占其收入95%以上的AdWords在线广告平台——并没有跟上公司的增长。
通常,当一个传统数据库需要扩展时,会使用一个称为分片的过程。它将数据分解到多个较小的数据库以分散负载。十多年前,支持AdWords的数据库变得如此庞大,以至于一次刷新碎片需要数年时间。需要一个新的数据库。谷歌建了一个。
+更多关于网络世界有个足球雷竞技app:深入研究亚马逊、微软和谷歌云存储选项|NoSQL席卷了数据库市场+
本周,谷歌将其用于处理AdWords的数据库作为一个名为Spanner的产品提供给公众。它出现在新数据库进入市场的初期阶段,这些数据库类似于传统的关系型SQL数据库,但它们更擅长大规模扩展。这个新类被恰当地命名为NewSQL。跟踪数据库市场的专家们相信,有一天,他们可以与Oralce、IBM和微软等数据库领域的巨头们一较高下。
谷歌
谷歌Spanner云接口
扳手是什么
谷歌构建Spanner是为了满足以下几个条件:它需要能够进行大规模的水平扩展,并在全球范围内分布在数据中心。雷竞技电脑网站谷歌还想要一个使用流行的数据库编程语言SQL的关系数据库;此外,它还需要低延迟和高可靠性。2012年,经过近十年的发展,谷歌发表了一篇关于扳手的研究论文以及谷歌中的用例。
在接下来的几年里,该公司开发了Spanner作为谷歌云平台的数据库产品。谷歌发布了首字母扳手的测试版今年早些时候.
Spanner是一个分布式数据库,位于谷歌的云中,具有全局一致性和可扩展性。这意味着Spanner的实例可能位于世界各地——因此数据接近需要访问它的终端用户——但数据库的每个副本都是相同的。说起来容易做起来难。
谷歌指出了Spanner赖以运作的云中的两个独特特性。一种是使用名为TrueTime的时间戳方法,它使用原子钟——最精确的计时方式——来同步世界各地的数据。
Spanner还依赖于谷歌的内部光纤网络,该网络连接着谷歌在世界各地的数据中心。雷竞技电脑网站Spanner的内部数据库流量并不在公共互联网上运行,而是通过谷歌建造和控制的管道运行,只承载谷歌流量。这给了Spanner内部交通基本上它自己的高速公路去世界上任何地方。
NewSQL市场
Spanner被认为是最早被广泛使用的云托管NewSQL数据库之一。NewSQL“代表了数据库技术不断发展的下一个篇章”,451研究主任马特·阿斯莱特和卡内基梅隆大学的安德烈·帕夫洛在一篇论文中写道.
NewSQL数据库的特性并不新鲜,但它们只在单个数据库类型中可用。传统的关系数据库支持SQL并且具有很强的一致性,但是它们的伸缩性不好。NoSQL数据库易于扩展,但缺乏对SQL的支持。
Aslett和Pavlo指出:“(NewSQL数据库)是新时代的副产品,在这个新时代,分布式计算资源丰富且价格合理,但同时对应用程序的需求也大得多。”
这些新型数据库的市场仍在兴起。也许NewSQL数据库最著名的例子是SAP HANA,它是内存中的关系数据库。其他一些较新的公司也提供NewSQL数据库,包括NuoDB、H-Store、Clusterix、VoltDB、MemSQL等。Amazon Web Services提供了Amazon Aurora,支持MySQL和PostreSQL,也有人认为是NewSQL。
NewSQL数据库的优势之一是,它们支持运行在传统SQL数据库上的应用程序,比如Oracle的数据库系列。然而,Aslett和Pavlo指出,运行在传统数据库上的工作负载通常是核心应用程序,企业可能更不愿意转移到新数据库,除非有强烈的需求。另一方面,NoSQL数据库擅长于可伸缩性,通常用于围绕社交、移动和物联网应用的新应用程序。
跟踪NewSQL市场的分析师仍然认为,未来几年NewSQL将健康增长。加州一家研究机构Market Analysis预测,NewSQL数据库的复合年增长率为26%,到2020年将达到10亿美元。与传统的关系型数据库管理市场相比,这一数字相形见绌。IDC认为,传统关系型数据库管理市场的年销售额超过300亿美元。不过,对传统数据库有痛点的客户愿意为新的工作负载投资NewSQL。
JDA
制造供应链物流控制软件的JDA是NewSQL数据库谷歌Spanner的早期用户
扳手在实践中
JDA是一家供应链物流公司,是谷歌公开版Spanner的测试者之一。该公司帮助客户计划何时生产和运输产品,并跟踪世界各地的产品生命周期。“在我们的世界里,一致性非常重要,”JDA集团技术副总裁John Sarvari说。“我们的客户正在根据他们对数据的看法做出非常重要的决定。”JDA并没有逐步淘汰现有关系数据库的计划,但Sarvari希望在Spanner的基础上构建新的应用程序和工作负载。他说,使用Spanner最大的好处是,它将他的员工从管理难以控制的数据库中解放出来。他表示:“我们只是从谷歌那里获得了这项服务。”他让员工专注于JDA为客户提供的核心竞争力,而不是管理数据库。
扳手的成本是0.90美元/节点/小时,外加0.30美元/GB/月的存储费用。如果部署在单个区域,Spanner的正常运行时间为99.99%,如果部署在多个区域,则可用性为5秒。