五大数据库理念,读懂亚马逊云科技的数据库布局

五大数据库理念,读懂亚马逊云科技的数据库布局,第1张

1970 年,关系型数据库之父 E.F.Codd 发表《用于大型共享数据库的关系数据模型》论文,正式拉开数据库技术发展序幕。以 Oracle、DB2、SQL Server 为代表的三大商业数据库产品独占鳌头,随后涌现出 MySQL、PostgreSQL 等为代表的开源数据库 ,和以 Amazon RDS 等为代表的云数据库,拉开百花齐放的数据库新序幕。

我们知道,云计算十年为产业转型升级提供了 历史 性契机,但变革仍在进行,随着云计算的普及,数据库市场发生根本性改变,云厂商打破传统商业数据库的堡垒,成为数据库领域全新力量。其中以连续六年入选 Gartner 领导者象限的亚马逊云 科技 为代表,我们一起探讨:为什么亚马逊云 科技 能始终保持其创新性?纵观云原生时代下,亚马逊云 科技 数据库未来还有哪些更多的可能性?

01 面对四大数据库发展趋势,亚马逊云 科技 打造五大数据库理念

后疫情时代下,加速了不少行业的业务在线化和数字化运营,企业对数据价值挖掘的需求越发强烈,亚马逊云 科技 大中华区产品部总经理顾凡详细介绍其中四大趋势:

一是伴随互联网、移动互联网的发展,电商、视频、社交、出行等新应用场景的兴起,不仅数据量大,对数据实时性要求极高,传统关系型数据库无法满足需求,因此驱动云原生数据库的出现。

二是开源数据库的广泛应用。

三是应用程序现代化对数据库提出更高要求,期待数据库拥有更高的性能、可扩展性、可用性以及降低成本,让开发人员专注于核心业务的应用开发,不用关注和核心业务无关的代码。

四是软件架构历经 PC、互联网、移动互联网,再到如今的万物互联时代,其中的迭代和转型正在驱动数据库选型的变化。

在此四大趋势下,伴随企业的业务量越来越大、越来越复杂,对数据库的要求越来越高。亚马逊云 科技 洞察客户需求,在打造云上数据库产品时提出五大理念:

一是专库专用,极致性能;二是无服务器,敏捷创新;第三是全球架构,一键部署;第四是平滑迁移,加速上云;第五是 AI 赋能,深度集成。

02 历经真实锤炼,五大数据库理念,持续赋能企业数智转型

顾凡表示,随着数据爆炸式增长,微服务架构与 DevOps 愈发流行的今天,一个数据库打天下的时代已然过去。我们需要在不同的应用场景下,针对不同的数据类型和不同的数据访问特点,为开发者和企业提供专门构建的工具。

所以亚马逊云 科技 提出 第一个核心数据库理念:专库专用 。在此理念下,推出针对关系数据、键值数据、文档数据、内存数据、图数据、时许数据、分类账数据、宽列等专门构建数据库的产品家族。

这些数据库产品均经历过亚马逊内部核心业务的真实锤炼,成绩斐然:

亚马逊电商当年是 Oracle 的客户之一,随着亚马逊电商的应用重构和业务体量发展,亚马逊电商决定将业务迁移到亚马逊云 科技 里。100 多个团队参与这庞大的迁移工作中,将亚马逊电商采购、目录管理、订单执行、广告、财务系统、钱包、视频流等关键系统全部从 Oracle 迁出来。2019 年,亚马逊将存储近 7500 个Oracle 数据库中的 75 PB 内部数据迁移到多项亚马逊云 科技 的数据库服务中,包括 Amazon DynamoDB、Amazon Aurora、Amazon ElastiCache,于是亚马逊电商成为亚马逊云 科技 在全球的“第一大客户”。

从 Oracle 切换到亚马逊云 科技 后,亚马逊电商节省了 60% 成本,面向消费者端的应用程序延迟降低 40%,数据库管理支出减少 70%。

以被誉为“亚马逊云 科技 历史 上用户数量增速最快的云服务”Amazon Aurora 为例,其拥有科媲美高端商业数据库的速度和可用性,还拥有开源数据库的简单性与成本效益,Amazon Aurora 让客户满足“鱼和熊掌兼得”需求。

据顾凡介绍,Amazon Aurora 可提供 5 倍于标准 MySQL 性能,3 倍于 PostgreSQL 吞吐量。同时提供高可用,可用区(AZ)+1的高可用,Global Databases 可完成跨区域灾备。可扩展到 15 个只读副本,成本只有商业数据库的 1/10。

医药企业九州通为药厂、供应商,搭建药厂、供应商、消费者提供供应链链条。其 B2B 系统的业务特点是读多写少,受促销活动、工作时间等影响,经常会出现波峰波谷落差较大的情况,读写比例在 7:2 或者 8:3。九州通采用 Amazon Aurora 后实现读写分离和按需扩展,整体数据库性能提升 5 倍,TCO 降低 50%。实现了跨可用区部署、负载均衡、自动故障转移、精细监控、按需自动伸缩等。

据权威机构预测,到 2022 年,75% 数据库将被部署或迁移至云平台。在这个过程中,亚马逊云 科技 是如何通过技术来帮助客户加速应用上云的?这离不开除了上述的“专库专用”外,以下四大理念:

第二个理念是无服务器、敏捷创新。 亚马逊云 科技 大中华区产品部数据类产品高级经理王晓野表示,企业业务总有波峰波谷之时,如何按照企业 80-90% 的业务峰值来规划数据库的存储容量和计算资源的话,将给应用带来一定的业务连续性的妥协和挑战。因此大多数企业都是按照峰值留有余地来选择数据库的计算资源,这将造成成本上的浪费。而 Serverless 数据库服务可完成无差别的繁复工作和自动化扩展。

Amazon DynamoDB 是亚马逊云 科技 自研 Serverless 数据库,其诞生最早可追溯到 2004 年,当时亚马逊电商作为 Oracle 的客户,尽管对于关系型数据库在零售场景的需求并不频繁,70% 均是键值类 *** 作,此时倒逼亚马逊电商思考:为什么要把关系型数据库这么重得使用?我们可以设计一款支持读写、可横向扩展的分布式数据库吗?后来的故事大家都知道了,这款数据库就是 Amazon DynamoDB,并在 2007 年发表论文,掀起业界 NoSQL 分布式数据库技术创新大潮。

Amazon DynamoDB 可为大规模应用提供支持,支撑亚马逊自身多个高流量网站和系统,如亚马逊电商网站、亚马逊全球 442 个物流中心等。在亚马逊电商一年一度 Prime Day,光是针对DynamoDB API 的调用达到数万亿次,最高峰值请求达到每秒 8920 万次。由此可见,DynamoDB 拥有高吞吐、扩展性、一致性、可预测响应延迟、高可用等优势。

智能可穿戴设备厂商华米 科技 ,在全球 70 多个国家拥有近 1 亿用户。仅 2020 年上半年,其手表出货量超 174 万台,截止到 2021 年 2 月,华米 科技 的可穿戴设备累计记录步数是 151 万步,累计记录的睡眠时间是 128 亿个夜晚,记录心率总时长达 1208 亿个小时。如此庞大的数据同时必须保证极高的安全性和低延迟相应,如何保证稳定性是巨大的挑战。

DynamoDB 帮助华米 科技 在任何规模下都能提供延迟不超过 10 毫秒的一致响应时间。华米 科技 健康 云的 P0 和 P1 级别故障减少了约 30%,总体服务可用性提升了 0.25%,系统可用性指标达到 99.99%,为华为 科技 全球化扩展提供了有力的支撑。

最新无服务数据库产品是 Amazon Aurora Serverless V2 提供瞬间扩展能力,真正把扩展能力发挥到极致,在不到一秒的时间内,将几百个事务扩展到数十万的级别。同时在扩展时每一次调整的增量都是非常精细化的去管理,如果按照峰值来规划数据库资源,可实现大概90%的成本节省。目前 Amazon Aurora Serverless V2 在全球实现预览。

第三个理念是全球架构、一键部署。 在全球化的今天,如何支撑全球客户的业务扩展连续性、一致性、以最低延迟带给到终端客户上,对数据库提出新的挑战。

亚马逊云 科技 提供 Amazon Aurora 关系型数据库Global Database、Amazon DynamoDB、Amazon ElastiCache 内存数据库、Amazon DocumentDB 文档数据库都能利用亚马逊云 科技 的骨干网络提供比互联网更稳定的网络支撑,以一键部署的方式,帮助客户实现几千公里跨区域数据库灾备,故障恢复大概能在一分钟之内完成,同时跨区域的数据复制延迟通常小于一秒。

第四个理念是平滑迁移、加速上云。 目前,450000+ 数据库通过亚马逊云 科技 数据库迁移服务迁移到亚马逊云 科技 中,这个数字每年都在不断增长。亚马逊云 科技 提供 Amazon DMS、Amazon Database Migration Service 等工具让开发者和企业进行自助式云迁移。另外,对于迁移过程中可能会需要的支持,可通过专业服务团队和合作伙伴网络成员,为客户提供专业支持,还通过 Database Freedom 项目帮助客户降低他们的顾虑。

今年 11 月,最新产品 Babelfish for Amazon Aurora PostgreSQL 在全球和中国两个区域正式可用,可加速企业上云的迁移,实现让企业可以利用原有的技术栈、原有的 SQL Server T-SQL的人员可以利用到云数据库进行创新。

第五个理念是 AI赋能,深度集成。 我们观察到,ML 技术赋能数据库开发者,开发者无需具备机器学习专业知识,就可进行机器学习 *** 作。在此潮流下,亚马逊云 科技 推出 Amazon Neptune,借由 Deep Graph Library 和 Amazon SageMaker 驱动图神经网络。

今年 8 月,Neptune ML 在中国正式可用,允许数据工程师不需要掌握机器学习的技能直接从图数据库里导出数据、转换格式、训练模型并发布,用 gremlin 语句调用训练成的模型在数据库里实现推理,进行欺诈检测,推荐物品。

目前,亚马逊云 科技 加速在中国区域服务落地,2021年至今新发布 60 多个数据库服务与功能。亚马逊云 科技 正是通过上述五大数据库理念,打造丰富的数据库产品家族,在全球智能化发展趋势下,为企业提供更快更好的数智服务,释放数据价值,并连续六年入选 Gartner 领导者象限,得到业界和客户的深度认可。

innodb_log_file_size = 500M #事物日志大小

#innodb_log_file_size =100M

innodb_log_files_in_group = 2 #两组事物日志

innodb_log_group_home_dir = /longxibendi/mysql/mysql/var/#日志组

Step 1 – 创建 Amazon Web Services 账户在使用亚马逊云服务之前,你需要在 Amazon Web Services (AWS) 创建一个账户, 去 aws.amazon.com 点击 “Sign Up Now” 注册。如果以前使用过Amazon.com的服务,这里可以直接使用同样的电子邮件和密码来登陆AWS,当然你也可以选择“I am a new user.”创建一个新的用户。在注册阶段,需要输入你的联系信息和xyk信息,以便Amazon向你收取服务的费用。创建账户是免费的,不过使用其他的服务则都是需要花钱的。定价模型很简单 - 以服务器运行的小时为标准来收费,不过因为选项的不同,价格的计算可能比要复杂得多。当你在Amazon上运行你得站点时,在让服务器运行之前,最好仔细并重复检查价格计算,免得在月底得时候被帐单吓到。我们的WordPress安装不会超过一个小时,在我们完成前,我们会停止所有的服务,所以完成本指南不会花我们一分钱。Step 2 – 开启你的第一台服务器服务器安装包括两个部分:托管在亚马逊EC2(Amazon’s Elastic Computing Cloud)上面的应用服务器,用来运行Apache和PHP,将WordPress安装在上面。MySQL 数据库将托管在亚马逊RDS(Amazon’s Relational Database Service)。另由一个便宜,但更麻烦的方案,你可以手动安装MySQL服务器与PHP和Apache在同一个服务器。在本指南中,我决定使用亚马逊的关系数据库服务,因为这更容易使用,并且,亚马逊会考虑数据库的备份和维护,你没有必要担心附加的安全细节问题。现在我们开始创建我们的第一个应用服务器实例。在 AWS Management Console 点击EC2标签, 因为是第一次使用EC2服务,你需要另外注册该服务,点击 “Sign Up For Amazon EC2″ 按钮开始:特别步骤,Amazon需要打电话给你来验证身份。整个过程自动进行:验证码输入正确后,会被重定向到下一个页面。在注册过程完成后,返回到管理控制台和EC2标签。你将看到下面的页面,点击 “Launch Instance” 按钮。网页会d出一个 Amazon Machine Images (AMIs) 的列表.AMIs 是正在运行的计算机的快照多数计算机都包含了 *** 作系统和其他一个基础软件,但是你还可以根据自己的需求创建更复杂的AMIs,甚至可以包含你的完整应用。我们选择了最基本的选项:“Basic 32-bit Amazon Linux AMI 1.0.” 点击 “Select” 进入你选择的AMI。选择了AMI之后,下一步就是选择需要的硬件类型。根据选择的32位或64位AMI,我们会看到不同的列表,32位的AMIs提供更便宜的选项。作为测试,我们不需要太多的内存或处理能力,因此我们开了一个微实例。选择实例类型并点击 “Continue.”下一屏,采用默认值就好,点击 “Continue.”当你有多个不同规则的虚拟机后,你很容易会忘记每个机器的作用,你需要用大量的时间来查找正确的服务器。因此,对服务器的命名显得非常重要,当然在本指南中我们只运行一个实例,所以名字就显得不那么重要了。下一步,你会被问到创建一个键值对文件来安全地连接到服务器。Key 代替了用SSH连接到机器的密码。命名你的Key Pair File,点击 “Create &Download your Key Pair.” 拷贝键值对文件到一个安全的位置 (如果你使用Mac OSX或者Linux,~/.ssh 是一个好位置)。拷贝文件后,修改文件权限到400:chmod 400 wordpress_demo.pem如果你使用Windows,你可以使用 PuTTY for SSH. PuTTY 使用它自己的键值格式(ppk),因此你需要使用Puttygen工具转换key到ppk格式。Key pair 创建之后,你会被要求在你的新机器上配置防火墙。默认情况下,没有人被允许连接到该机器 - 所有端口都是关闭的。我们打开了端口22(SSH)端口80(HTTP),我们能够通过SSH配置机器并且从浏览器访问博客。继续,检查配置,如果没有发现任何不对,点 “Launch.” 完成安装回到Dashboard,你会注意到新建实例的状态显示为 “pending,”,过几分钟后会显示为 “running.” ,这就意味着服务器已经启动并开始运行 - 你可以开始使用了。服务器运行后,你可以通过在防火墙中定义的端口来访问。下面我们将通过SSH连接到服务器进行Apache, PHP, MySQL的PHP扩展,以及WordPress。Step 3 – 安装需要的服务器软件在实例名称的右键菜单中,选择 “Connect” ,d出一个包含SSH命令的页面窗口登陆SSH的命令与下面的格式类似:ssh -i wordpress_demo.pem root@ec2-….compute-1.amazonaws.com如果你把pem key保存在~/.ssh,你需要在命令中包含路径。还有,你需要修改root用户为ec2-user,亚马逊不允许新的AMIs安装用root用户连接服务器。登陆后,你就能像使用任何Linux主机一样使用虚拟机。安装软件,我们用Yum安装器来安装Apache服务器,输入下面的命令来安装Apache:sudo yum install httpd下一步,用以下命令安装PHP:sudo yum install php通过下面的命令安装php-mysql扩展:sudo yum install php-mysql好了,安装完成开始准备测试Apache。用下面的命令启动Apache(你可以用“stop”或“restart”来停止或重启Apache):sudo /etc/init.d/httpd startWeb服务器启动后,拷贝机器的URL到浏览器测试:Step 4 – 创建数据库机器在安装WordPress之前,我们需要一个数据库。用RDS设置一个数据库很容易,在AWS控制台,点RDS标签,点 “Sign Up For Amazon RDS” 开始安装数据库机器。安装完以后,回到AWS控制台的RDS标签,点击 “Launch DB Instance.” 启动数据库实例在d出窗口设置需要启动的数据库属性,比如服务器实例,分配的存储空间等。我们为数据库分配了5个G的空间,足够测试用了。为数据库服务器实例和根 用户命名,我们使用“wordpress-db”作为数据库服务器名,“root” / “rootpass”, 作为管理登陆。因为做测试,我们使用简单好记的登陆名,但如果要考虑更安全的登陆,建议采用较复杂的命名。数据库服务器设置完成后,你会被要求在服务器上定义一个默认的数据库。数据库名我们设置为“wordpress”点 Contiune 到下一步,你可以定义数据库的备份设置,保留默认值直接Continue进入下一步。验证无误后,点 “Launch DB Instance.”创建数据库实例的时间比创建EC2实例的时间稍长一些,大约5分钟左右以后,你就可以在instances标签看到状态为有效 “available” 了。点击实例可以看到更多的数据信息,拷贝“endpoint”的值,这也就是我们用于wordpress安装的数据库服务器的URL。在安装WordPress之前还有一个步骤就是我们还需要为数据库配置防火墙,以便应用服务器能够访问它。回到RDS标签,点 “DB Security Groups.” ,在这儿你会看到没有任何授权的应用:要让应用服务器访问数据库,我们需要授权它的安全组到数据库的安全组。从“No Authorizations”下面的下拉列表中选择 “EC2 Instance” ,并输入安全组的名称(“wordpress_app_server”)和你的Amazon Account ID账户ID在AWS设置中是隐藏的,第一次点击“Account”链接,然后点 “Security Credentials” 就可以找到。输入需要的信息然后点“Add”,你就可以看到安全组已经被授权了,现在可以开始安装WordPress了。Step 5 – 安装WordPress重新打开SSH连接到应用服务器,下载WordPress到服务器,默认情况下Apache配置HTML文件在 /var/www/html/目录cd /var/www/htmlsudo chown ec2-userwget http://wordpress.org/latest.zipunzip latest.zip安装需要创建wp-config.php文件,用下面的命令修改wordpress目录属性:chmod o+w wordpress在浏览器输入URL路径开始安装wordpress在wordpress数据库设置页面,我们的数据库名是“wordpress”,Database Host一项填写RDS实例的URL。成功提交后,你的wordpress就成功安装在亚马逊云上了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8544924.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-17
下一篇 2023-04-17

发表评论

登录后才能评论

评论列表(0条)

保存