NoSQL“开山之作”Amazon DynamoDB的十年创新之旅

NoSQL“开山之作”Amazon DynamoDB的十年创新之旅

2022-02-10 11:32:40

云计算 Amazon DynamoDB发布十年之际,Swami表示:“我们正在经历数据和机器学习的‘文艺复兴’时代。如今企业可以将数据存储在这些数据库中,并快速开始在 Amazon S3 中构建自己的数据湖,然后就可以立刻开展数据分析,并在几周甚至几天时间内就能通过Amazon SageMaker实现人工智能赋能,这真的非常了不起。“

十年前,亚马逊云科技正式推出Amazon DynamoDB,一种快速、灵活的 NoSQL 数据库服务,可在任意规模环境中提供一致的个位数毫秒响应时间。

亚马逊首席技术官Werner Vogels曾表示:“我们非常高兴推出Amazon DynamoDB,一种快速、可靠且具有成本效益的 NoSQL 数据库服务,专为互联网规模的应用程序而设计。” Amazon DynamoDB代表了亚马逊在大型非关系型数据库和云服务技术领域15年持续投入的成果。

Vogels表示:“我们早在2007年就发表了有关亚马逊Dynamo技术细节的论文,并以此奠定了首批非关系型数据库的雏形。最初的Dynamo基于一套强大的分布式系统原则设计,并生成了一个可随意扩展和高可靠的数据库系统。Amazon DynamoDB继续基于这些原则构建,也是亚马逊多年运行大规模非关系型数据库和云服务(如Amazon SimpleDB和Amazon S3)的经验积累。很高兴看到我们的探索和经验转化为易于使用的托管服务,并提供给我们的客户。”

亚马逊云科技数据库、数据分析、机器学习副总裁Swami Sivasubramanian和Vogels同为2007年Dynamo论文的合著作者之一。Swami是Amazon DynamoDB开发的主要贡献者,那时他是一名从事分布式系统技术设计、实施和分析相关工作的亚马逊研究工程师。

Amazon DynamoDB发布十年之际,Swami表示:“我们正在经历数据和机器学习的‘文艺复兴’时代。如今企业可以将数据存储在这些数据库中,并快速开始在 Amazon S3 中构建自己的数据湖,然后就可以立刻开展数据分析,并在几周甚至几天时间内就能通过Amazon SageMaker实现人工智能赋能,这真的非常了不起。我非常期待现在能有机会帮助客户更快地从数据中获得洞察。客户真的希望将数据‘物以致用’,实现数据驱动的决策。越来越多的CIO和企业意识到这将成为数据使用者的‘生存法则’,那些有能力将数据应用于实际工作的人将披荆斩棘,无往不利。”

以下Swami与我们分享了Amazon DynamoDB的起源、前身以及未来。

关于Dynamo的起源

Swami:我们在2007年发表了Dynamo论文,探讨这个话题之前,我们需要先追溯到2004、2005 年。那时我正在攻读博士学位,(并随后于2006年从阿姆斯特丹自由大学获得计算机科学博士学位),也在考虑我将在哪里工作。看到亚马逊正在快速成长,并不断突破常规,打破界限,我选择了以亚马逊研究工程师实习生的身份加入亚马逊。

那时亚马逊云科技还不存在,加入亚马逊后,我很快意识到作为一家电子商务公司,亚马逊实际上也是一家科技公司。为了支持自身电子商务业务相关的各类运营场景和工作负载,亚马逊涌现出了大量创新技术、专利和发明,这种情形在全球任何一家公司都难得一见。

在亚马逊担任工程师时,我和团队曾在假期流量高峰期间经历过一次严重的扩展失败。这是由数据库事务死锁而导致的,其背后正是亚马逊当时使用的商业关系型数据库。故障发生后,我们一群工程师们一起编写了一份错误更正文档,对发生了什么、学到了什么、如何解决问题以及如何避免问题再次发生等进行了详细说明。

我当时问了一个问题:“为什么我们要为这些工作负载使用关系型数据库?本质上,它们并不需要 SQL 级别的复杂性和事务保证。”

这导致我们开始重新思考如何设计底层数据存储。当时,还没有可伸缩的非关系型数据库,这是我们开始着手搭建Amazon Dynamo原型并撰写论文的原因。事实上,Amazon Dynamo 并不是工程师们当时唯一思考和研究的架构。我们意识到我们还需要一个可扩展的存储系统,Amazon S3 就诞生于此。同时,还需要一个更易于管理的关系型数据库,能够自动进行复制、故障切换和备份/恢复,这也是 Amazon RDS 的由来。

最初撰写Dynamo论文时,我们就定了一条规则,即“在开发原始设计时不对外发布”,而是先将Dynamo运行于支持多个Amazon.com服务的实际生产环境中。这样,Dynamo论文就会是一种端到端的可用方案,并有实际应用经验。Werner和我对此感受非常强烈,因为我们不希望仅仅撰写一篇学术论文而已。10年后,我们非常荣幸的是Dynamo论文还获得了ACM的时间考验奖,这是由ACM主办的The SIGOPS Hall of Fame Award,从2016年开始评选过去十年科技圈最具影响力的论文名人堂。

构建Amazon DynamoDB的初衷及其过去十年的演进

Swami:Amazon DynamoDB背后的想法来自于与SmugMug、Flickr等客户首席执行官的对话和讨论。他们是最早带有互联网属性的公司,而在当时类似这样的互联网公司正在快速走向市场。他们的典型特征包括在线用户数量呈爆炸式增长、数据模式不固定,追求快速交付和轻运维等。传统关系型数据库将所有数据存储在一个盒子中,无法高效地扩展,这迫使用户需要对其数据库重新分片,然后还需要管理所有的分区和重新分区等,这让用户面临巨大的运维挑战和压力。

这对我们来说并不新鲜,构建原始Amazon Dynamo的初衷正是应对这些挑战。当时,Amazon Dynamo还不是一项服务,而是一个由亚马逊工程师构建的软件系统。在一次客户咨询会议上,时任Flickr 首席执行官Don MacAskill表示:“你们已经启用了 Amazon Dynamo,验证了可扩展非关系型数据库系统的可行性,为什么不能把它作为外部服务提供给我们使用?”

当时,所有亚马逊云科技的相关管理人员都在场,实际上,这也是我们问自己的一个问题。Flickr并不是唯一需要它的客户,越来越多的客户想要可扩展的数据库,无需处理分区和重新分区等复杂的运维工作,同时他们还需要极高的可用性。于是,我们开始认真思考构建一个不受SQL API限制的、可扩展的云数据库。

Amazon DynamoDB与原始Amazon Dynamo不尽相同,它实际上是通过几个原始Amazon Dynamo组件搭建的一项易于使用的云服务。客户不再需要配置集群,只需创建一个表存储数据,即可轻松实现无缝缩放。管理员不必执行任何操作,甚至无需安装单个库来操作数据库。

Amazon Dynamo到Amazon DynamoDB的演变非常重要,亚马逊真正以前所未有的方式拥抱云,获得它的弹性和可扩展性。

我们在2012年1月18日正式发布Amazon DynamoDB,该服务一经推出就大受欢迎,Flickr等公司率先使用该服务。Amazon DynamoDB强大的弹性、个位数毫秒的延迟性能等深受客户青睐。我们进行了大量创新,从协议层一直到SSD存储的底层存储层等各项功能。

这里不得不提的一个有趣的用例,也是最早将DynamoDB投入生产的客户之一,他们做的是超级碗(Super Bowl:全国橄榄球联盟决赛——全美直播的体育界春晚)广告投放。 因为Amazon DynamoDB具备强大的弹性,可以无缝地扩展到每秒100,000次写入,并在超级碗活动结束后缩减,这样客户就不会担心产生额外的成本。当年,这在技术领域是个大事。现在大家习以为常的横向扩展与弹性,对当时的数据库而言,那是无法想象的。

那是一个大胆的设想。Amazon DynamoDB专为云而构建的架构让所有横向扩展用例成为可能。现在,Amazon DynamoDB正为多个高流量Amazon站点和系统提供支持,包括 Alexa、亚马逊全球电商网站和所有亚马逊运营中心。2021年,在亚马逊长达66小时的Prime会员日大促期间,上述站点和系统进行了数万亿次API调用,Amazon DynamoDB以低至个位数毫秒延迟的高性能表现,无感支持峰值达每秒8,920万个请求,同时确保系统的高可用性。  

Amazon DynamoDB自2012年问世以来,我们为其增加了大量创新功能,不仅涉及底层可用性、持久性、安全性和规模等特性,还包括易用性等。  

Amazon DynamoDB不止步于键值存储,还支持基于哈希的分区和基于范围的分区,并且增加了对二级索引的支持,支持更复杂的查询功能,同时不影响规模或可用性。

现在,Amazon Kinesis Data Streams也适用于Amazon DynamoDB,捕获可扩展的流式数据。我认为任何数据库都不应该是孤岛,更不能是死胡同。它应该支持生成变化的数据流,然后将这些数据流连接到分析应用程序或其他数据存储。

同时,我们也针对备份和恢复等功能全面创新。对于像Amazon DynamoDB 这样具有数百万个分区的大型数据库系统而言,备份和恢复并非易事,我们致力于通过创新让客户获得更好的体验。

我们还为Amazon DynamoDB添加了创建全局表的功能,以便客户可在轻松实现数据库负载全球覆盖的同时,获得近乎本地运行的读写性能。此外,Amazon DynamoDB还扩展了事务处理能力。所有这些创新都致力于不断提升Amazon DynamoDB的可用性和可扩展性。

我们同时致力于为客户提供更高的成本效益。客户通常需要长期存储数据,虽然这些旧数据可能很少被访问,但它必须保持高度可用,以便不时之需。例如,社交媒体用户很少访问旧的内容和图片,但一旦有这类访问请求,需要确保可以立即为用户提供这些内容。这种不经常访问的数据可能会给客户带来高昂的存储费用,而且这类数据的数量还在不断增长。过去,为了优化成本,客户会通过编写代码的方式,将旧的、访问频率较低的数据从Amazon DynamoDB 移动到存储成本较低的如Amazon S3中。

在2021 re:Invent全球大会上,我们推出了Amazon DynamoDB Standard-Infrequent Access表类,一种新的经济高效的表类,用于存储不经常访问的数据,同时保持Amazon DynamoDB的高可用性和性能。

不忘初心,我们始终将DynamoDB的最初愿景作为指引,持续创新,为客户提供更易于查询的用例,支持进行复杂全局事务复制等,不断扩展能力范围,同时持续优化管理成本。

展望Amazon DynamoDB的未来十年

Swami:十年前,当我们推出Amazon DynamoDB 时,客户才刚刚开始对云本身有了更好的理解,它的好处是什么,可以做什么。

如今,就客户构建IT应用程序而言,云已经成为的新常态,规模也是新常态,每个应用程序都需要基于不确定性构建。我们将继续代表客户进行创新,Amazon DynamoDB本身也在这个持续变革的旅程中。我们将继续朝着端到端的现代化数据战略迈进。正如之前提到的,数据库不应该是孤岛。

客户将不再只想在数据库中存储和查询数据,他们需要分析这些数据来创造价值,无论是通过创建更好的个性化推荐引擎,还是使用机器学习运行预测分析的预测系统。将数据流点对点无缝连接,并继续让Amazon DynamoDB更安全、高可用,性能更强且易于使用,这些都将是我们永无止境的追求。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/229757.html<

(0)
运维的头像运维
上一篇2025-04-18 22:17
下一篇 2025-04-18 22:18

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注