今天是的10周年亚马逊的白皮书迪纳摩,这让我反思了多少创新发生在过去十年中,为什么以客户痴迷的方法来解决难题能有超出你当初的预期持续的影响一个很好的提醒数据库领域的一个里程碑。

这一切都始于2004年,当时亚马逊正在运行带有集群和复制功能的Oracle企业版。我们有一个由数据库管理员组成的高级团队,可以访问Oracle的顶级专家。我们正在挑战当时领先的商业数据库的极限,无法满足不断增长的亚马逊业务对可用性、可伸缩性和性能的需求。

Oracle上紧张的数据库基础设施促使我们评估是否可以开发一个专门建立的数据库,以支持我们的长期业务需求。必威体育精装版app官网我们优先关注那些支持大规模、关键任务服务(如Amazon的购物车)的需求,并对关系数据库的传统假设(如对强一致性的需求)提出质疑。我们的目标是构建一个具有无限的可伸缩性、一致的性能和高可用性的数据库,以支持我们快速增长的业务的需求。

深入研究一下我们是如何使用现有数据库的,就会发现这些数据库通常不用于它们的关系功能。大约70%的操作是键-值类型的,其中只使用一个主键,并且返回单行。大约20%返回一组行,但仍然只对单个表进行操作。

考虑到这些需求,并愿意质疑现状,一小群的分布式系统的专家走到了一起,并设计了横向扩展的分布式数据库,将向外扩展的读取和写入,以满足我们业务的长期需求。这是亚马逊迪纳摩数据库的起源。

我们与迪纳摩数据库的早期结果的成功鼓励我们写亚马逊的白皮书迪纳摩并在2007年ACM研讨会作业系统原理(SOSP会议)分享,让别人在业内可以从中受益。迪纳摩纸引起了极大反响,并起到了催化剂才造就了今天通常被称为分布式数据库技术的类别“NoSQL的。”

当然,没有任何技术变革是单独发生的,与此同时NoSQL也在发展,云计算也在发展。当我们开始发展AWS业务时,我们意识到外部客户可能会发现我们的Dynamo数据库和我们在Amazon.com中发现的一样有用。因此,我们开始基于最初的Dynamo设计构建一个完全托管的AWS数据库服务。

是在一个比我们已经为我们的亚马逊内部系统设置更高的酒吧所需要的完全托管的云数据库服务的要求。云托管版本将需要:

  • 可扩展-这项服务需要支持数十万甚至数百万的AWS客户,每个客户都需要支持自己的互联网规模的应用程序。
  • 安全- 该服务将不得不存储关键数据对外部客户AWS这将需要访问控制和安全性更高的吧。
  • 耐用,可用性-该服务必须具有极强的抗故障能力,这样所有AWS的客户都可以信任它来处理他们的关键任务。
  • 高性能-服务需要能够维护一致的性能不同的客户的工作负载的脸。
  • 可管理- 该服务将需要易于管理和操作。这也许是最重要的要求,如果我们想要一个广泛的用户采用该服务。

有了这些目标,在2012年01月,我们推出了亚马逊DynamoDB,我们的基于云的NoSQL数据库服务从底层向上设计,支持超大规模,以运行关键任务工作负载所需的安全性,可用性,性能和可管理性。

今天,DynamoDB的权力,将负担过重的传统关系数据库的高性能,网络规模应用的下一个浪潮。许多世界上最大的互联网规模的企业,如Lyft,火种和雷德芬以及企业,如康卡斯特,Under Armour公司,宝马,Nordstrom和丰田的依赖DynamoDB的规模和性能,以支持他们的关键任务工作负载。

DynamoDB是使用Lyft为他们的所有游乐设施商店GPS位置,火种存储数百万的用户配置文件,使数十亿的比赛,Redfin面向数百万用户,管理数亿财产的数据,康卡斯特电源其对超过20万台设备上运行XFINITY X1视频服务,宝马运行其汽车作为一种传感器服务,可以扩大并在24小时内下降了两个数量级,诺德斯特龙他们的推荐引擎减少了处理时间由20分钟到几秒钟,Under Armour公司以支持200万个用户与其连接的健身机构,丰田赛车对进站、换胎和比赛策略进行实时决策,并为10万多个AWS客户提供各种高规模、高性能用例。

与所有的真实客户使用,DynamoDB已经证明了自己对这些原始设计尺寸:

  • 可扩展- DynamoDB支持客户使用单表,该表每秒服务数百万个请求,存储数百兆兆字节,或包含超过1万亿项数据。为了支持2017年亚马逊黄金日,这是亚马逊零售史上最大的一天,DynamoDB提供每秒超过1290万名的请求。DynamoDB工作在所有AWS地区(目前有16个地理区域,计划在巴林、中国、法国、香港和瑞典再建6个区域),因此您可以在您需要的地理区域建立一个可扩展的数据库。
  • 安全- DynamoDB在表、项和属性级别提供细粒度的访问控制,与AWS身份和访问管理集成。VPC端点使您能够控制您的应用程序和DynamoDB之间的网络流量是通过公共Internet还是停留在您的虚拟私有云中。与AWS CloudWatch、AWS CloudTrail和AWS配置的集成支持监视、审计和配置管理。SOC、PCI、ISO、FedRAMP、HIPAA BAA和DoD Impact Level 4认证使客户能够满足广泛的合规标准。
  • 耐用,可用性- DynamoDB在服务器、服务器机架或可用性区域发生故障时保持数据的持久性和99.99%的可用性。DynamoDB自动将您的数据重新分发到健康的服务器,以确保始终存在多个数据副本,而无需您进行干预。
  • 高性能- DynamoDB一直致力于提供个位数毫秒的延迟甚至为你的流量增加。此外,DynamoDB加速器(DAX)全面管理,高可用性,内存缓存进一步加快从毫秒DynamoDB响应时间,以微秒,并且可以继续以每秒百万次的请求这样做。
  • 可管理- DynamoDB消除了手动容量规划的需要,配置,监控服务器,软件升级,应用安全补丁缩放基础设施,监控,性能优化,在分布式数据中心复制的高可用性和复制整个新节点的数据持久性。所有这一切都为你自动和零停机时间这样做,你可以专注于你的客户,你的应用程序,你的业务。
  • 适应能力-DynamoDB能够智能地适应您的表的唯一存储需求,通过扩展你的表存储向上通过水平划分他们在多个服务器,或生存时间(TTL)即删除项目,你标记为过期。DynamoDB提供自动缩放,它自动调整表吞吐量,以响应到表和索引的实际流量。默认情况下,所有新表和索引都启用自动伸缩功能。

十年前,我们永远不会想象的持久影响我们对迪纳摩的努力会有。什么开始了作为在客户痴迷的方式解决我们自己的需要练习,变成了对非关系数据库的一个更广泛的行业运动的催化剂,最终,一类新的网络规模应用的推动者。

正如我们在AWS所说的,DynamoDB还只是第一天。我们相信我们正处于数据库的变革时期,像DynamoDB这样的专用数据库的采用才刚刚开始。我们预计,在未来十年中,数据库将比过去十年有更多的创新。我知道这个团队正在为DynamoDB做一些令人兴奋的新事情——我迫不及待地想在接下来的几个月里与你分享。

评论