数码资讯
如何利用子表存储提高性能推荐
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
首先,童佳望介绍了他认为的最优化:首先,做任何事情最快的方法就是什么都不做。
支付宝高级数据库架构师童佳望
二。不要访问不必要的数据:使用B * *树散列/散列和其他方法来定位必要的数据。数据通过列存储或子表分开存储。
第三。合理使用硬件来提高访问效率:使用缓存来消除对数据的重复访问。使用批处理来减少磁盘的查找操作。使用批处理来减少网络的往返时间。使用SSD提高磁盘访问效率。
响应时间与吞吐量的关系
1。完成某一特定任务的速度或效率的度量。
2。响应时间:系统与用户交互的时间可以响应。
三.吞吐量。测量系统在单位时间内可以完成的任务量。
U3000 U3000
反应时间长
U3000 U3000
传统的磁盘访问特性
引入B树优化数据访问
U3000 U3000
b *树数据访问的优化
数据访问模拟场景的树优化
U3000 U3000
数据访问方案的优化- B *树
童佳望介绍了如何使用子表存储通过阿里巴巴的实际应用场景来提高性能。
首先,场景介绍:
1、verybigtable包含30列的表
2。表的记录数是50000000。
三.每个用户平均为300左右。
4。其中2个属于详细描述域,平均长度为2K。
5。其他列的平均长度为250字节。
6。这个表上的查询有两种模式
7。列出表中的主要信息(每次20项,没有详细信息,90%查询)
8。查看记录的详细信息(10%查询)
9。保存和Oracle数据库,默认block_size(8K)
两。请求:
1。优化业务
2。分析数据并说服开发部门实施这个优化
三、绩效分析
1。每个记录数
8192 * 0.80(1) / 250=25.5(主表)
8192 * 0.80 2000=3.27(详细表)
8192 * 0.80 (2000 + 250)= 2.91
2。访问逻辑IO(内存块访问)
列表的查询代价
改进后的=(300 / 25.5)* + 4 + x = 4 + X + 11.8y = 4(2)7 +(3)+ 11.8 * 1.5 = 28.7(4)
在改进=(300 2.91)之前,* + 4 + x = 4 + x + 103 = y + 4 + 7 + 103 * 1.5 = 165.5
三.访问物理读取(磁盘块访问)
列表的查询成本(逻辑IO *(1命中率))
改进= 28.7 *(1 - 0.85(5))= 4.305
预先改进= 165.5 *(1 - 0.85)= 24.825
4。存取时间(毫秒)
改善=逻辑IO时间+物理IO时间= 28.7×0.01之前(6)+ 4.305 * 7(7)= 30.422ms
改进的逻辑IO时间+物理IO时间= 165.5 * 0.01 + 24.825 * 7 = 175.43ms后
支付宝高级数据库架构师童佳望
二。不要访问不必要的数据:使用B * *树散列/散列和其他方法来定位必要的数据。数据通过列存储或子表分开存储。
第三。合理使用硬件来提高访问效率:使用缓存来消除对数据的重复访问。使用批处理来减少磁盘的查找操作。使用批处理来减少网络的往返时间。使用SSD提高磁盘访问效率。
响应时间与吞吐量的关系
1。完成某一特定任务的速度或效率的度量。
2。响应时间:系统与用户交互的时间可以响应。
三.吞吐量。测量系统在单位时间内可以完成的任务量。
U3000 U3000
反应时间长
U3000 U3000
传统的磁盘访问特性
引入B树优化数据访问
U3000 U3000
b *树数据访问的优化
数据访问模拟场景的树优化
U3000 U3000
数据访问方案的优化- B *树
童佳望介绍了如何使用子表存储通过阿里巴巴的实际应用场景来提高性能。
首先,场景介绍:
1、verybigtable包含30列的表
2。表的记录数是50000000。
三.每个用户平均为300左右。
4。其中2个属于详细描述域,平均长度为2K。
5。其他列的平均长度为250字节。
6。这个表上的查询有两种模式
7。列出表中的主要信息(每次20项,没有详细信息,90%查询)
8。查看记录的详细信息(10%查询)
9。保存和Oracle数据库,默认block_size(8K)
两。请求:
1。优化业务
2。分析数据并说服开发部门实施这个优化
三、绩效分析
1。每个记录数
8192 * 0.80(1) / 250=25.5(主表)
8192 * 0.80 2000=3.27(详细表)
8192 * 0.80 (2000 + 250)= 2.91
2。访问逻辑IO(内存块访问)
列表的查询代价
改进后的=(300 / 25.5)* + 4 + x = 4 + X + 11.8y = 4(2)7 +(3)+ 11.8 * 1.5 = 28.7(4)
在改进=(300 2.91)之前,* + 4 + x = 4 + x + 103 = y + 4 + 7 + 103 * 1.5 = 165.5
三.访问物理读取(磁盘块访问)
列表的查询成本(逻辑IO *(1命中率))
改进= 28.7 *(1 - 0.85(5))= 4.305
预先改进= 165.5 *(1 - 0.85)= 24.825
4。存取时间(毫秒)
改善=逻辑IO时间+物理IO时间= 28.7×0.01之前(6)+ 4.305 * 7(7)= 30.422ms
改进的逻辑IO时间+物理IO时间= 165.5 * 0.01 + 24.825 * 7 = 175.43ms后
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。