AWS Loft的数据库周

这是我的笔记:

https://databaseweekoctober2019sf.splashthat.com

AWS上的数据库:正确工作的正确工具

在许多此类谈话中,我并没有做过深刻的记录。 我正在关注重点。

PostgreSQL排在MySQL之后。

AWS上8种类型的数据库:

  • 关系型
  • 核心价值
  • 文献
  • 在记忆中
  • 图形
  • 搜索
  • 时间序列
  • 分类帐

搜索:AWS Database Services

对于关系,他们有Amazon Aurora。 它与MySQL和PostgreSQL兼容。 与MySQL(在RDS上)相比,它的吞吐量是MySQL的5倍,在PostgreSQL(在RDS上)则是PostgreSQL的3倍。 它可以扩展到15个只读副本。 容错和自我修复。 它在三个可用区中保留6个数据副本。 它可以提供对S3的连续备份。 它在静止和传输中都有加密。 它由亚马逊完全管理。 他们支持跨区域(不清楚)和多主机。

Amazon.com本身至少在某些方面使用了Aurora。

有一个数据库迁移服务。

它们还支持其他数据库,例如使用RDS的SQL Server。

接下来,她介绍了键值数据存储。

DynamoDB是它们的键值存储。 它不需要服务器配置。 它可以在任何规模上提供一致的单位毫秒ms响应时间。 它具有无限的吞吐量。 它在静止和运输过程中均已加密。 它支持跨区域的全局数据库复制。

接下来,她介绍了文档数据库。 JSON文档是数据库中的一流对象。 DocumentDB是他们的解决方案。 这对用户配置文件等很有用。它最多可以扩展15个副本。 它提供了毫秒级的延迟。 它与MongoDB兼容。

内存数据库:无持久性。 在记忆中。 微秒性能。 字符串,哈希,列表,集合等。类似于Redis。 他们有ElastiCache。 它们与Redis和Memcached兼容。 您可以使用分片和副本进行扩展。

全文搜索:他们具有Elasticsearch Service。 完全管理。 它通过监视和自我修复功能跨多个可用区复制。

图形数据库:关系是一流的对象。 数据被建模并作为图形查询。 顶点通过边连接。 它使您可以轻松快速地创建和导航数据之间的关系。 Amazon Neptune是一个完全托管的图形数据库。 它提供了六个数据副本。 它支持Gremlin和SparkQL进行查询。

时间序列数据:这是在一定时间间隔内记录的一系列数据点。 将时间序列数据存储在关系数据库中具有挑战性。 Amazon Timestream是他们的解决方案。 它是“无服务器的”。

Ledger:与区块链有关。 数据仅追加。 这些是集中控制的分类帐。 这非常适合医疗保健。 有一个分类帐数据库。 有日记。 所有这些都可以通过密码验证。 想象一个插入,一个更新和另一个更新。 每个步骤都经过审核。 请参阅Amazon Quantum Ledger数据库(QLDB)。

为不同的目的使用不同的数据库。

她将向演示演示如何使用Cloud Formation模板设置大多数内容。

(她正在使用Windows笔记本电脑。)

显然,我们都获得了AWS积分。 请记住,在一天结束时关闭并清理资源。

参见: https : //github.com/aws-samples/aws-bookstore-demo-app

我问使用Aurora时如何对开发人员的计算机进行处理。 答案让我很困惑。 他们提到了AWS控制塔和着陆区。 您可以创建数据库用户或联盟用户。 您可以有一个或多个帐户。 您可以控制事物…人群中的某个人说您可以创建一个每个人都共享的帐户。 您可以将ActiveDirectory联合到AWS,然后使用该用户帐户。 您可以创建数据库用户…

Aurora支持最低版本的MySQL 5.7等。与Aurora相比,您必须验证MySQL版本。 您想要类似地进行配置(缓冲区大小等)。

我不确定开发人员是否可以在其机器上使用MySQL以及在生产环境中使用Aurora是否可以。

稍后,我们将讨论模式迁移工具。 您可以连接到本地MySQL。 它将对本地数据库中的行进行采样。 它将为Aurora中的外观生成一个SQL文件。 您可以确定兼容性。 Aurora与电线兼容。 您可以使用现有的驱动程序。 但是,有些特定参数可能是自定义的高级引擎内容。 您需要对此进行测试。

明天下午有一个极光会议。

午餐和研讨会:15分钟或更短时间内提供全功能应用程序

https://github.com/awslabs/aws-full-stack-template

(我真的不知道15分钟或更短的时间意味着什么。您不能在15分钟之内写完。如果您是少于15分钟的新手,您甚至无法阅读文档并进行设置。 )

请注意您启动的区域。

命名S3存储桶时请特别注意。 使用小写。 以字母开头,然后是字母或数字。 使用类似DNS的名称。 没有下划线。 使其独特。 我认为它必须是全球唯一的。

对于CloudFormation中的项目名称,请使用小写字母,仅字母和10个字符以下的名称

AWS Loft的数据库周_第1张图片

有趣的是此CloudFormation .yml文件 。 1100线长! 那里有一些有趣的东西。 例如,必须配置每个单独的lambda函数,可以使用其访问数据存储。

看起来他们正在使用create-react-app,TypeScript,React Router,React Bootstrap等。它是一个客户端应用程序。

AWS数据库迁移服务(DMS)

DMS =数据库迁移服务。 简单,快速。 重量轻。 简单明了。

SCT =模式转换工具。 它是先进的。 这对于Redshift等中的数据仓库很有用。

您可以使用它们进行现代化,迁移或复制。

SCT帮助隐蔽表,视图和代码。

您可以从以下位置迁移到: https : //aws.amazon.com/dms/schema-conversion-tool/

SCT将生成评估报告。

有些东西无法移植; 与引擎高度相关的事物。

有大量的指南讨论了从一种类型的数据库移植到另一种类型的数据库时如何处理数据库功能的所有详细信息。

您可以使用DMS完成90%的工作。

DMS甚至可以将SQL迁移到NoSQL或从NoSQL迁移。

DMS是一项HIPAA认证的服务。

DMS在云中运行。 SCT作为机器映像运行(我认为)。

您甚至可以从云迁移到本地。

使用DMS + Snowball进行大规模使用(超过5TB)。

Snowball是装在盒子中的坚固PC。 它有一个超级坚固的外壳。 您用数据加载它,然后将其发送回去。 它最多可以容纳72TB。 250美元。 不包括运费。 请注意,它是加密的,密钥不在设备上。

摄取是免费的。 您必须支付存储和出口费用。

您可以使用DMS进行复制。 您可以将其用于跨区域读取副本。 他们甚至说您可以使用它来保持产品/设备同步。

他们已经迁移了170,000多个数据库。

您可以从Oracle迁移到PostgreSQL的RDS。 (我假设您也可以使用Aurora的PostgreSQL。)

“雪地车”是一种拖挂车,是坚固的容器,可用于运送数十亿美元的数据。

您可以使用Snowball迁移数据,然后使用DMS复制最近的更改。

从SQL Server到MySQL以及从Oracle到PostgreSQL更容易。

  1. 转换或复制您的架构。
  2. 移动您的数据。

如果您不想这么做,则不必带出所有数据。 您只能过滤所需的内容。

您可以使用DMS进行多可用区以获得高可用性。

您可以将多个实例映射到单个目标。 您还可以从单一来源映射到多个目标。

S3是大多数AWS数据湖架构的基础。

Aurora MySQL领先于Aurora PostgreSQL。

您可以在EC2上安装任何旧版或开源DB。 RDS为此是一项托管服务。 它们负责修补,引擎,操作系统等。您可以定义实例大小等。下一步是Aurora。 他称其为无服务器。 您提供数据,其余的由他们提供。

讲习班:在Amazon RDS上运行SQL Server并迁移到MySQL

跳过。

亚马逊关系数据库服务(RDS)

我错过了Amazon RDS演讲。 无论如何,我还是更专注于Aurora,因为它是更高级,更易于管理的选项。

https://github.com/wrbaldwin/db-week

午餐和研讨会:Amazon RDS入门

跳过。

亚马逊极光

他说,数据是当今副本中最具战略意义的资产。

他们一直说“将现有应用“提升并转移”到云中。”

如果您迁移到云,Oracle开始收取双倍的价格。 因此,人们正从“守旧的商业数据库”迁移到MySQL,PostgreSQL和MariaDB。

要从商业数据库获得规模和性能,需要进行大量调整。

Aurora的成本是商业数据库的1/10。

他说,它具有商业数据库的速度和可用性,但具有开源数据库的简单性和成本效益。

它具有与MySQL和PostgreSQL的直接兼容性。

它有按需付费的价格。

这是一项完全托管的服务。

三个租户:

  1. 横向扩展,分布式体系结构。
  2. 利用AWS的面向服务的架构。
  3. 自动化管理任务。 这是一项完全托管的服务。

他们使计算和存储脱钩。

它使用“共享存储池”。

它与Lambda(从存储过程和触发器调用Lambda事件),S3(快照和备份),IAM和CloudWatch集成在一起。

AWS提供了自动故障转移,备份和恢复,隔离和安全性,行业合规性,一键式扩展,修补,监控和维护。 您必须注意架构设计,查询等。

与开源平台相比,它的性能提高了5倍。 它提供了更好的可用性和耐用性。

它比MySQL(与RDS相比)快5倍,比PostgreSQL(基于SysBench)快3倍。 我问它与在具有本地磁盘的大型硬件上运行MySQL相比如何。 他说那不是苹果对苹果。 (我认为5x是BS。)

计算和存储是完全分开的。

他们对其进行了优化,以减少I / O并最大程度地减少网络数据包。

他们负责连接池。 您最多可以建立5000个连接。

您可以在3个可用区中拥有6个副本。

对于写入仲裁,他们需要6分之4的数据,对于读取仲裁需要6分之3的数据。

他们使用对等复制进行修复。

该卷跨数百个存储节点进行条带化。

您最多可以有15个只读副本。 他们从同一共享的分布式存储卷中读取。

持久存储将按需重放重做记录,作为磁盘读取的一部分。 这是并行,分布式和异步的。 没有用于启动的重放。 因此,从故障转移中获得的恢复速度要快得多。 仅需10到20秒。

他说它“比MySQL更便宜”(这很奇怪,因为MySQL是免费的)。 他的解释是,与其他托管服务(即RDS)相比,它更便宜。 由于共享存储池,它更便宜。 也不需要空闲的备用实例。

您不必使用HA代理即可故障转移到副本。 他们为您更改了DNS。

他展示了一个成本细分示例:

  • 他提到了r5.4XL机器。
  • 每个副本每小时$ 2.32。
  • 实例成本为每小时$ 6.96。
  • 存储成本为每小时$ 4.43。
  • 总费用为每小时11.39美元。 与RDS相比,节省了28.7%。

在RDS中,备用数据库与副本数据库是分开的。 在Aurora中,副本充当备用数据库。 您不需要空闲的备用实例。

它由SSD支持。

Amazon.com从Oracle迁移到许多不同的数据库。 任何需要ACID的东西都交给了Aurora。 他们的某些服务使用的是MySQL版本。 有些使用了PostgreSQL版本。

(他在Mac上使用Microsoft Outlook。)

他设置了自动缩放以自动添加新的只读副本。 自动缩放时,必须决定要自动缩放的内容。 他进行了设置,以便如果副本上的CPU使用率超过20%,他将添加另一个副本。 他还可以根据连接数来执行此操作。

有一个“增强监控”功能。 增强的监视发生在管理程序层。 这是一个额外的费用,但可以为您提供更好的粒度。

它可以显示正在运行的线程,活动的事务,innodb_rows_read.avg。

它向您显示哪个查询导致CPU峰值。

我们将通过S3使用二进制快照摄取,并通过binlog复制进行追赶。

或者,如果您有更复杂的需求,则可以使用通过SCT进行模式转换以及通过DMS进行数据迁移。

这不是NoSQL。 它符合ACID标准。

如果最大限度地提高了写容量,则需要增强实例。 (我猜想将某些事情从Aurora移到DynamoDB是有意义的。)

再次,它是完全管理的。

重要:他说所有读操作都应归读读副本。 这真的很有趣。 您不必担心复制延迟,因为它们是从同一共享存储中读取的。 从只读副本而不是从主副本读取时,只有几微秒的延迟。

他们可以在大多数时间以零停机时间应用数据库补丁。 他们唯一无法做的事情就是永远没有长时间没有交易发生的时间。

他们具有快速的数据库克隆功能。 克隆的创建几乎是瞬时的。 它是写时复制的。 这对于故障排除很有用。 您可以克隆生产数据库以运行测试。 每个副本最多可以有15个克隆。 但是,您无法跨AWS区域进行克隆。

它们最多仅支持64 TB。

Backtrack是一项功能,可将数据库返回到某个时间点,而无需从备份中还原。 这不是破坏性的。 您可以多次回溯以找到正确的时间点。 这是一个滚动的72小时窗口。 创建集群时必须启用它。 它必须在数据库级别而不是表级别完成。

每小时花费$ 0.012 /百万的更改记录。

重要说明:它们支持全局数据库的逻辑或物理复制跨区域 复制时间不到1秒,故障转移时间不到1分钟。 它是在存储层而不是计算层完成的。

Aurora Serverless适用于不经常使用的应用程序。 您可以在晚上或周末关闭数据库。 关闭时,您只需支付存储成本,而不是计算成本。

1个ACU = 2 GB的内存。

它们可以从1个ACU扩展到256个ACU。

很多人从SQL Server迁移到Aurora。 (这一次,我认为他说的是PostgreSQL版本,但之前,我认为他们说的是MySQL版本。)

您可以将Lambda与Aurora无服务器一起使用。 您将使用他们的API网关。

有一个在线查询编辑器。

他展示了一个架构图,其中每个方框都是一个AWS服务。

Aurora Serverless并非适合所有人。 如果您需要关闭数据库一段时间,这很有用。

他们试图使您摆脱认为您需要对其进行管理的想法。

讲习班:使用Amazon Aurora加速数据库开发和测试

跳过。

使数据库与工作负载匹配

我错过了前15分钟。 当我进来时,他在谈论RDS。 他从未谈论过Aurora,所以我想知道是否在最初的15分钟内就解决了。

其中很多与第一次谈话相吻合。

DynamoDB是任何规模的快速,灵活的NoSQL DB服务。 您不必担心服务器。 amazon.com的大部分内容都基于DynamoDB构建。 它支持事件驱动的编程(我想知道这是否意味着您可以使用它来构建实时应用程序)。 您可以具有执行lambda函数的触发器。 这是“快速而一致的”。 它既是文档是键值存储。

创建表时必须创建“本地二级索引”(LSI),并且无法更改。

他们具有DynamoDB自动缩放功能,可以根据您的实际流量采用吞吐量。

使用一个区域内的3个DC对分区进行三向复制。

(DocumentDB与MongoDB 兼容 ,但它是自产的。)

Amazon Elasticsearch Service:它是开源的,易于使用,可扩展,安全,高度可用且集成。 文件代表实体。 数据在字段中。

DynamoDB和Elasticsearch可以很好地协同工作。 您可以为所有字段设置一个倒排索引。

Amazon Neptune是一个完全托管的图形数据库。 它用于跨多个表的极其相关的数据。 非常适合建模社交网络。

Amazon Redshift用于数据仓库。 它提供了快速,强大且简单的数据仓库,成本仅为原来的1/10。 它是大规模并行的,并提供PB级。 它是列式数据存储。 这是后端的PostgreSQL分支。 用于分析查询。 您不会将其用于网站的在线数据库。 它不是为一堆小插入而构建的。 您可以为每列使用不同的压缩算法。 它适用于传统数据仓库,SaaS分析和大数据分析。

Amazon Athena用于交互式分析。 所有数据都在S3中。 它基于Hive和Presto构建。 您甚至可以查询CSV,并用虚拟SQL表包装它。 它与SQL兼容。 它是无服务器的。 零基础设施。 零管理。 用于分析用途或报告需求。

量子分类帐数据库(QLDB):这是一个分类帐数据库。 这是很新的。 一旦写入分类帐,就永远无法对其进行更改。 一成不变且透明。 可加密验证。 高度可扩展。 易于使用。

这与Amazon Managed Blockchain不同。 Amazon QLDB由一个受信任的机构拥有。 借助Amazon Managed Blockchain,分类账没有单一所有者。 相反,您拥有多方的共同所有权。

他制定了“ PIE定理”:模式灵活性,无限规模,效率:选择两项。 他有几个很好的信息图形。

他用Kahoot竞争性地向我们提问。 我排第二。 我试图招募第一个进来的人;)

Amazon Crypto不再存在。

讲习班:使用Amazon Elasticsearch Service搜索DynamoDB数据

跳过。

图和亚马逊海王星

跳过。

研讨会:使用Amazon Neptune构建您的第一个图形应用程序

跳过。

翻译自: https://www.javacodegeeks.com/2019/11/database-week-at-the-aws-loft.html

你可能感兴趣的:(AWS Loft的数据库周)