Aurora要解决的是什么问题?

简介: Aurora要解决的是什么问题? 实际上它认为网络是瓶颈 ( Paper里的原话我附在最后边),该文就是要解决这个瓶颈。

  Aurora要解决的是什么问题? 实际上它认为网络是瓶颈 ( Paper里的原话我附在最后边),该文就是要解决这个瓶颈。 为什么网络是瓶颈?

  在Aurora的模型中,只有一个写者(Primary Instance),这个也很重要。

  假设用户随机插入一条1KB的记录(与近期写的其他记录不在一个page),我们分析下它引起的网络写的数据量:

  1) 6副本,即6倍写数据传输;

  2) 即使忽略binlog和double write,只考虑写redo log和一个16 KB的page。 至少17KB (17倍)网络传输量。

  注意,二者是乘法关系,即17 * 6 = 102倍。如果用户写的记录更小,那么倍数更高。

  考虑25Gbit/s 的以太网,实际的用户数据传输能力不会超过 3GByte/s。

  那么: 3GB/s 除以 102 <= 30 MB/s。

  按照这个模式,假设写者有一个25GbE的网口,用户数据写性能不会超过30MB/s。

  如果在考虑跨AZ,AZ间带宽更是个问题(AZ间带宽不是Aurora独占的)。

  当然实际情况可能没那么遭,不会都是随机插入。但是当数据库规模巨大时,应该不会有太好的局部性。另外,用户写的记录也可能远小于1KB。

  如果不复制page,只复制redo log,让存储节点自己apply redo log产生page data,大家可以算下倍数。

  至于Aurora为什么觉得后端存储不是瓶颈,那是因为它认为存储节点可以大量扩展,每个节点承载的负载并不高。而写者就一个哦。

目录
相关文章
|
算法 编译器
【计算机架构】响应时间和吞吐量 | 相对性能 | 计算 CPU 时间 | 指令技术与 CPI | T=CC/CR, CC=IC*CPI
【计算机架构】响应时间和吞吐量 | 相对性能 | 计算 CPU 时间 | 指令技术与 CPI | T=CC/CR, CC=IC*CPI
1758 1
|
机器学习/深度学习 算法 决策智能
智能解决装箱问题:使用优化算法实现高效包装
装箱问题(Bin Packing Problem)是组合优化领域中的一个经典问题,主要涉及如何将一系列对象高效地装入有限数量的容器(或“箱”)中,同时满足特定的约束条件。这个问题的目标是最小化所需使用的箱子数量或者最大化箱子的装载效率,以减少空间或资源的浪费。
|
SQL 存储 数据管理
掌握SQL Server Integration Services (SSIS)精髓:从零开始构建自动化数据提取、转换与加载(ETL)流程,实现高效数据迁移与集成——轻松上手SSIS打造企业级数据管理利器
【8月更文挑战第31天】SQL Server Integration Services (SSIS) 是 Microsoft 提供的企业级数据集成平台,用于高效完成数据提取、转换和加载(ETL)任务。本文通过简单示例介绍 SSIS 的基本使用方法,包括创建数据包、配置数据源与目标以及自动化执行流程。首先确保安装了 SQL Server Data Tools (SSDT),然后在 Visual Studio 中创建新的 SSIS 项目,通过添加控制流和数据流组件,实现从 CSV 文件到 SQL Server 数据库的数据迁移。
4191 0
|
Java 编译器 开发者
Java中的异常处理是确保程序稳定性的关键
Java中的异常处理是确保程序稳定性的关键。本文探讨八大最佳实践:理解异常体系,选用恰当异常类型,提供详细错误信息,精用try-catch,善用finally块,利用try-with-resources简化资源管理,记录异常便于追踪,及避免finally中抛异常。遵循这些原则,提升代码质量和错误管理能力。
99 1
|
测试技术
io 队列深度
io 队列深度
264 0
|
Linux
Linux系统ps命令
这些是一些常见的 `ps`命令选项和用法,用于查看系统中运行的进程及其相关信息。您可以根据需要选择合适的选项以满足您的任务要求。
609 0
|
机器学习/深度学习 数据可视化 算法框架/工具
人脸识别实战:使用Opencv+SVM实现人脸识别
在本文中,您将学习如何使用 OpenCV 进行人脸识别。文章分三部分介绍: 第一,将首先执行人脸检测,使用深度学习从每个人脸中提取人脸量化为128位的向量。 第二, 在嵌入基础上使用支持向量机(SVM)训练人脸识别模型。 第三,最后使用 OpenCV 识别图像和视频流中的人脸。
778 0
人脸识别实战:使用Opencv+SVM实现人脸识别
|
搜索推荐 机器人 Linux
微软发布新版命令行界面:Windows Terminal,开源六小时冲上GitHub第二
微软在Build开发者大会上公布了新款命令行界面:Windows Terminal,相较于老版的命令行工具,提供了许多新功能和个性化设置,意在改善Windows上的开发环境。它被设计为访问PowerShell,cmd.exe和Windows子系统Linux(WSL)等环境的中心位置。微软正在为想要调整终端应用程序的开发人员添加多个选项卡支持以及主题的自定义。Windows Terminal还支持表情符号和基于GPU的文本呈现。
1169 0
微软发布新版命令行界面:Windows Terminal,开源六小时冲上GitHub第二
|
NoSQL Linux 开发者
30分钟入门GDB
30分钟入门GDB
375 0

热门文章

最新文章