vlambda博客
学习文章列表

数据库类型太多不知道怎么选?AWS 教你“只选对的,不选贵的”!

数据库类型太多不知道怎么选?AWS 教你“只选对的,不选贵的”!


如今,数据的重要性已经渗透到各个领域,成为了每个行业发展和变革的必要元素,然而,我们依然需要数据库来帮助我们存储和组织这些数据。在互联网时代,一应俱全的单一数据库的时代已经过去,对于数据库的新需求在不断出现。随着这些新的需求越来越广泛地被提出,越来越多的企业意识到,采用传统的数据库应对不同需求这种一刀切的方式已经不再奏效。




随着数据规模的不断增长,企业的需要处理的数据规模从 GB 快速增长到 TB 甚至 PB 规模,同时需要提供毫秒级延迟的数据访问,数据库有时需要每秒处理数百万个请求,可扩展以支持世界各地的数以百万、千万计的用户。开发人员面对特定的需求场景,往往需要选择一款适合他们需求的数据库。


很多企业开始尝试采用不同类型的开源数据库,如 MySQL,PostgreSQL 等,然而,如果希望通过采用开源数据库满足不同类型的需求,又同时获得与商业级数据库相同的性能和可用性却非常的困难。为了响应这一客户需求,Amazon Web Services (AWS) 提供了一系列针对特定场景进行优化的数据库,如下图所示:

数据库类型太多不知道怎么选?AWS 教你“只选对的,不选贵的”!

图 1:AWS 数据库服务一览图


那么,面对众多的数据库该如何选择呢?

AWS 大咖来给你支招啦~

“只选对的,不选贵的”

不管你想用什么样的数据库服务

都能在 AWS 上找到最适合你的那一款~

(文末还有步入专业数据库时代白皮书领取哦~)



01

关系型数据库

作为被广泛采用的数据库类型,关系型数据库在很多场景下,比如企业的 ERP,CRM,财务系统和交易系统等,具有独特的优势。这些场景下,客户通常会有对于数据有强一致性的需求,要求数据库支持事务性处理(Transactional Processing)。基于客户这一需求,AWS 为此构建了 Amazon Aurora 数据库。Amazon Aurora 是一个针对云构建的与 MySQL 和 PostgreSQL 兼容的关系型数据库,它结合了高端商业数据库的性能和可用性,以及开源数据库的简单性和成本效益。


包含国内很多知名企业在内的成千上万的客户在Amazon Aurora 上运行他们的应用程序,比如大家所熟知的 Camel Games, 虎牙直播,九州通医药,以及国际上知名的NASDAQ,Dow Jones等,都选择了在Amazon Aurora 上运行他们的关键业务负载,获得了性能提升。


虽然 Amazon Aurora 数据库是关系型数据库在云上的首选,但是 AWS 也支持客户首先把原有的数据库直接迁移到云上来,即刻享受到云上数据库服务带来的便利性,高可用和成本的节约。为此,Amazon Relational Database Service (Amazon RDS) 提供了多种关系型数据库的引擎便于选择,包括 PostgreSQL, MySQL, MariaDB, Oracle, and SQL Server 等,您可以使用 AWS Database Migration Service 轻松将您现有的数据库迁移或复制到 Amazon RDS。例如,全球领先的智慧能源技术服务提供商——远景能源,就选择了 Amazon RDS 帮助管理其多种不同类型的数据库。无论是Oracle、MySQL、LDAP、还是SQL-Server,使用者都能通过 Amazon RDS 获取其完整的功能。Amazon RDS 既帮助远景能源承担了耗时的数据库管理任务,又提供了经济高效的可调容量,让远景能源能够专注于应用程序和业务。

02

键 - 值型数据库

在移动互联网,电商,游戏以及物联网等很多新型场景中,数据库需要面对超大规模的数据处理,同时又需要低延迟的性能保障。对于这些需要极高的吞吐量和并发性、低延迟以及可靠性的需求,我们提供了 Amazon DynamoDB。这是一款适用于任何规模的快速灵活的 NoSQL 数据库服务。

     

许多全球发展最快的企业,如 Lyft,三星等企业,都依靠 Amazon DynamoDB 的规模和性能来支持其关键任务工作负载。在国内,我们也看到诸如虎牙直播, Mobvista (汇量科技)等客户利用 Amazon DynamoDB 去应对其相应场景的需求。以 Lyft 为例,它的共享单车服务每天都需要处理海量的 GPS 数据来实现对车辆的追踪,这些数据结构往往很简单,存储量规模都非常大,但又往往需要在极短的时间内允许用户从不同的地方查询和访问。通过采用 Amazon DynamoDB 这种键 - 值型数据库就满足了上述的需求。

03

文档型数据库

很多客户将 MongoDB 用作文档数据库,用于存储、检索和管理半结构化数据。由于设置和管理 MongoDB 集群所带来的复杂性,在 MongoDB 上构建可以快速扩展到多兆字节(TB)和每秒数十万次读写的高性能、高可用性的应用程序极具挑战性。为此,AWS提供了Amazon DocumentDB(兼容 MongoDB),它是一项快速、可扩展、高度可用且完全托管的文档数据库服务,支持 MongoDB 工作负载。作为一个文档数据库,Amazon DocumentDB 使得存储、查询和索引 JSON 数据变得简单。


更多资讯

数据库类型太多不知道怎么选?AWS 教你“只选对的,不选贵的”!


数据库类型太多不知道怎么选?AWS 教你“只选对的,不选贵的”!

了解 Amazon DynamoDB

游戏用例与设计模式


04

图数据库

在社交网络、推荐引擎和欺诈检测等使用案例中,开发人员需要在数据之间创建关系并快速查询这些关系。这个时候,如果采用关系型数据库,就需要面临及其复杂的 SQL 嵌套查询和联接去实现,随着数据的增加,性能也变得不能满足需求。Amazon Neptune 是一项快速、可靠且完全托管的图形数据库服务,可帮助客户轻松构建和运行使用高度互连数据集的应用程序。

更多资讯

数据库类型太多不知道怎么选?AWS 教你“只选对的,不选贵的”!


数据库类型太多不知道怎么选?AWS 教你“只选对的,不选贵的”!

了解利用 Amazon Neptune

分析社交媒体馈送信息


05

时序数据库

随着物联网技术的发展,大量的 IoT 设备兴起,时间序列数据是增长最快的数据类型之一。时间序列数据具有特定的特征,例如通常以时间顺序形式出现,数据只能附加,并且查询总是在一个时间间隔内进行。Amazon Timestream(注册预览版)是一种专门构建的时间序列数据库,它可以按时间间隔高效地存储和处理这些数据。利用 Timestream,您可以轻松存储和分析用于开发运营的日志数据、用于 IoT 应用程序的传感器数据和用于设备维护的工业遥测数据。

06

内存数据库

在游戏,视频流服务,社交网络等新型场景中,客户往往需要应用能够实时访问和查询海量数据。Amazon ElasticCache 就是一款支持实时应用程序,提供亚毫秒级延迟的数据库。比如知名的地图软件公司 Here,每天需要处理高达 4 亿次的 API 请求,来实现将客户的定位数据转变成地理位置数据,通过采用 Amazon ElasticCache,极大的降低了访问的延迟时间,提高了客户的满意度,同时,还通过将负载从 CPU 优化的实例迁移到低成本的 Cache 节点来实现了成本的降低。

更多资讯

数据库类型太多不知道怎么选?AWS 教你“只选对的,不选贵的”!


数据库类型太多不知道怎么选?AWS 教你“只选对的,不选贵的”!

了解如何在 Amazon ElastiCache

for Redis 上使用集群模式


07

分类账数据库

很多公司需要记录在与客户的经济和金融活动的历史记录,比如银行交易中的信贷和借记历史,保险索赔的数据沿袭,供应链网络中的项目移动等。关系型数据库难以跟踪和验证对数据的任何意外更改。区块链框架会增加设计的复杂性,客户需要建立一个包含多个节点的完整区块链网络。Amazon QLDB 是一种新型数据库,提供了一个透明、不可变、可以以加密方式验证的事务日志,且该事务日志由一家可信的中央机构拥有,用于跟踪每次的应用程序数据更改,并不断维护完整且可验证的更改历史记录。


下面,我们通过一个案例来介绍这些面向不同场景的数据库:我们在下图展示了一个在线书店的演示应用,它包括了一些最基本的功能,比如产品目录、产品搜索、畅销书列表和社交推荐。

数据库类型太多不知道怎么选?AWS 教你“只选对的,不选贵的”!

图2:AWS Bookstore演示应用程序的屏幕截图


当用户访问我们这个在线书店的首页时,通常用户会希望看到在售的书本列表,书本的一些基本描述、评分、价格等信息。从技术上讲,我们通过产品 ID 的键值便可以检索到这些属性。Amazon DynamoDB 就非常适合作为书本目录的数据库系统,因为 Amazon DynamoDB 可以为任何规模的键值查找提供快速,可预测的性能。借助 DynamoDB,即使未来这个网站拓展了产品的种类,产品目录可以从几百种书本扩展到数十亿种产品,也无需重新架构或更改数据库。

      

第二个用例是产品目录的畅销书清单,我们通常都会通过畅销书清单来更方便的选择我们需要的图书。一个理想的数据库可使书店维护排行榜的同时不需要在每次用户刷新网页时都对所有购买数据进行长时间且成本昂贵的汇总查询。Amazon ElastiCache for Redis 准确地解决了这个需求,包括内置的且存放在内存中的数据结构(例如排序集),这些数据集使书店可以快速有效地创建畅销书清单。为了使其运行,书店可以使用命令表中的 DynamoDB Streams 在每次有用户购买商品时更新 ElastiCache 中的最新状态。有了最畅销书清单,书店也可以在其网站首页上显示其中的一部分。另外,由于数据是内存中的数据,并且可以通过内置的排序集获得,因此书店将在最畅销书清单上遇到微秒级的读取延迟。

      

第三个用例是提供社交建议,以帮助书店的客户找到更适合特定情境的内容。我们往往喜欢从朋友的推荐书籍中快速找到自己感兴趣的读物。由于社交推荐位于书店的主页和网站上的其他页面上,因此推荐必须够快速。根据这些要求,专门构建的图形数据库(例如 Amazon Neptune)很自然地可以导航数据中的链接,从而实现基于社交关系和相关购买活动的建议。Amazon Neptune 提供了快速构建和执行查询来遍历图形关系所需的必要功能和性能,并且它将随着网站(和应用程序)的增长而扩展,而不会影响性能。

      

为了获取和更新这些信息,Web 店面进行了一系列不同的 API 调用。这里是利用 Amazon API Gateway和 AWS Lambda 的后端应用程序的视图:

数据库类型太多不知道怎么选?AWS 教你“只选对的,不选贵的”!

图 3:AWS Bookstore 演示应用程序的架构图


对于此书店应用程序,我们评估了该应用程序的主要用例,并为每个用例选择了最佳数据库。专门构建的数据库使您可以创建一个高性能、可扩展的基础结构来为应用程序提供动力,并通过选择合适的组件来解决每个用例。通过这种方法,您可以使用自己的资源构建类似的体系结构。

      

为了便于读者的学习,我们创建了一个AWS CloudFormation 模板,在短短几分钟内可自动创建端到端的完整书店演示应用程序的堆栈。同时,我们在 GitHub 上提供了所有源代码,图像和示例数据,以供您部署,探索,修改和扩展。


数据库类型太多不知道怎么选?AWS 教你“只选对的,不选贵的”!

图 4:GitHub 上的 AWS Bookstore Demo App 存储库


AWS Bookstore 演示应用程序是一个有效的应用程序。您可以将应用程序用作沙箱或学习工具来探索类似的架构该如何相适应,也可以将其用作构建自己的应用程序的起始模板。演示应用程序只是作为如何使用专用数据库来构建可扩展的高性能全栈应用程序(例如 Web 店面)的一个示例。你也可以以此为基础,扩展这个应用,比如采用关系数据库(如 Amazon RDS)处理一些扩展的场景,比如支付和交易环节。


以上就是 AWS 所构建的多种不同类型的数据库服务和相应的用户案例和应用场景,希望能够帮助您了解如何针对不同的需求场景,在 AWS 云上选择一款适合自己需求的数据库服务。


了解更多内容请访问
http://22j.co/cynz


数据库类型太多不知道怎么选?AWS 教你“只选对的,不选贵的”!

如果你想要详细了解专用数据库类型,以及如何确保顺利过渡到创新、高性能和业务成功时代。我们为您准备了白皮书资料 —— 步入专用数据库时代,扫描下方二维码即可领取~

扫描下方二维码注册会员

免费获取白皮书

数据库类型太多不知道怎么选?AWS 教你“只选对的,不选贵的”!
数据库类型太多不知道怎么选?AWS 教你“只选对的,不选贵的”!


数据库类型太多不知道怎么选?AWS 教你“只选对的,不选贵的”!

END

数据库类型太多不知道怎么选?AWS 教你“只选对的,不选贵的”!


马上点击“阅读原文”

探索 19 种产品,利用免费套餐

在 AWS 中国(宁夏)区域开始构建

数据库类型太多不知道怎么选?AWS 教你“只选对的,不选贵的”!
数据库类型太多不知道怎么选?AWS 教你“只选对的,不选贵的”!




8月课程一览




时间

简介

8 月 6 日

使用 AWS 成本管理服务变革您的云财务管理

8 月 11 日

看 AWS 安全服务如何确保云上数据存储无忧

8 月 18 日

从数据迁移到数据湖的云端实践



扫码关注

“ AWS云计算 ”

云上干货任你挑