返回顶部
首页 > 资讯 > 数据库 >用分表存储提高性能的方法有哪些
  • 502
分享到

用分表存储提高性能的方法有哪些

2024-04-02 19:04:59 502人浏览 薄情痞子
摘要

本篇内容主要讲解“用分表存储提高性能的方法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“用分表存储提高性能的方法有哪些”吧!首先,童家旺介绍了他认为的什么

本篇内容主要讲解“用分表存储提高性能的方法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“用分表存储提高性能的方法有哪些”吧!

首先,童家旺介绍了他认为的什么是优化:第一、做任何事情最快的方法就是什么也不做。

用分表存储提高性能的方法有哪些
▲支付宝资深数据库架构师童家旺

  第二、不访问不必要的数据:使用B*Tree/hash等方法定位必要的数据。使用column Store或分表的方式将数据分开存储。使用Bloom filter算法排除空值查询。

  第三、合理的利用硬件来提升访问效率:使用缓存消除对数据的重复访问。使用批量处理来减少磁盘的Seek操作。使用批量处理来减少网络的Round Trip。使用SSD来提升磁盘访问效率。

  响应时间和吞吐量之间的关系

  1、性能。衡量完成特定任务的速度或效率。

  2、响应时间。衡量系统与用户交互式多久能够发出响应。

  3、吞吐量。衡量系统在单位时间里可以完成的任务量。

  用分表存储提高性能的方法有哪些

  ▲反应时间

  用分表存储提高性能的方法有哪些

  ▲传统磁盘的访问特性

  B*Tree优化数据访问介绍

  用分表存储提高性能的方法有哪些

  ▲B*Tree优化数据访问

  B*Tree优化数据访问模拟场景

  用分表存储提高性能的方法有哪些

  ▲B*Tree优化数据访问模拟场景

  童家旺通过阿里巴巴的真实应用场景介绍了如何用分表存储来提高性能。

  一、场景介绍:

  1、表VeryBigTable含有30个列

  2、表的记录数为50,000,000条

  3、平均每个用户为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(内存块访问)

  List的查询代价

  改进后=( 300/25.5 ) * y + 4 + x = 4 + x + 11.8y = 4(2) + 7(3) + 11.8 * 1.5(4) = 28.7

  改进前=( 300/2.91 ) * y + 4 + x = 4 + x + 103.y = 4 + 7 + 103 * 1.5 = 165.5

  3、访问涉及到的物理读(磁盘块访问)

  List的查询代价(逻辑IO * ( 1 – 命中率 ))

  改进后=28.7 * ( 1 – 0.85(5)) = 4.305

  改进前=165.5 * ( 1 – 0.85 ) = 24.825

  4、访问时间(ms)

  改进前=逻辑IO时间+物理IO时间= 28.7 * 0.01(6) + 4.305 * 7(7) = 30.422ms
  改进后=逻辑IO时间+物理IO时间= 165.5 * 0.01 + 24.825 * 7 = 175.43ms

到此,相信大家对“用分表存储提高性能的方法有哪些”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

您可能感兴趣的文档:

--结束END--

本文标题: 用分表存储提高性能的方法有哪些

本文链接: https://lsjlt.com/news/61138.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 用分表存储提高性能的方法有哪些
    本篇内容主要讲解“用分表存储提高性能的方法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“用分表存储提高性能的方法有哪些”吧!首先,童家旺介绍了他认为的什么...
    99+
    2024-04-02
  • 提高mysql性能的方法有哪些
    本篇内容主要讲解“提高mysql性能的方法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“提高mysql性能的方法有哪些”吧!一、问题的提出 在应用系统开发...
    99+
    2024-04-02
  • 提高电脑性能的方法有哪些
    提高电脑性能的方法有以下几种:1. 清理磁盘空间:删除无用的文件和程序,清理浏览器缓存等,以释放磁盘空间。2. 使用优化软件:可以使...
    99+
    2023-09-06
    电脑
  • 提高java程序性能的方法有哪些
    尽量指定类的final修饰符,带有final修饰符的类是不可派生的在Java核心API中,有许多应用final的例子,例如java.lang.String。为String类指定final防止了人们覆盖length()方法。另外,如果指定一个...
    99+
    2021-12-12
    提高 java 程序 性能
  • 提高ASP.NET首页性能的方法有哪些
    本篇内容介绍了“提高ASP.NET首页性能的方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前言本文是我对ASP.NET页面载入速度...
    99+
    2023-06-17
  • javascript中提高应用程序性能的方法有哪些
    本篇文章给大家分享的是有关javascript中提高应用程序性能的方法有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。像任何其他编程语言一...
    99+
    2024-04-02
  • 提高香港服务器的性能有哪些方法
    提高香港服务器的性能有:1、使用内存数据库储存数据,从而提高香港服务器的性能;2、使用RDD将数据保存在内存中提高香港服务器性能。具体内容如下:使用内存数据库内存数据库,其实就是将数据放在内存中直接操作的数据库。相对于磁盘,内存的数据读写速...
    99+
    2024-04-02
  • 有哪些提高网站可用性的方法
    这篇文章主要讲解了“有哪些提高网站可用性的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“有哪些提高网站可用性的方法”吧!  通常,网站有三种类型:  第一种网站有杰出的创意和设计。这样的...
    99+
    2023-06-10
  • 提升MySQL性能的方法有哪些
    这篇文章主要介绍“提升MySQL性能的方法有哪些”,在日常操作中,相信很多人在提升MySQL性能的方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”提升MySQL性能的...
    99+
    2024-04-02
  • Python性能提升的方法有哪些
    本篇内容介绍了“Python性能提升的方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!时序分析优化之前,首先要找到是哪部分代码拖慢了...
    99+
    2023-06-16
  • Redis:高性能数据存储方案的代表作
    Redis,全称Remote Dictionary Server,是一个开源的高性能键值对数据库存储方案,由Salvatore Sanfilippo开发,能够支持多种数据结构,如字符串、列表、哈希表、集合以及有序集合。在互联网领域,面对大流...
    99+
    2023-11-07
    redis 高性能 存储方案
  • 如何使用Java存储来提高Bash缓存的性能?
    Bash是一种流行的Unix shell,用于在Unix和Linux系统上执行命令。在Bash中,缓存被广泛使用来提高命令执行的速度。然而,在一些情况下,Bash的缓存性能可能会遇到瓶颈。本文将介绍如何使用Java存储来提高Bash缓存的性...
    99+
    2023-10-18
    存储 bash 缓存
  • 快速提高web数据分析能力的方法有哪些
    这篇文章主要介绍“快速提高web数据分析能力的方法有哪些”,在日常操作中,相信很多人在快速提高web数据分析能力的方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”快速...
    99+
    2024-04-02
  • 排序算法的性能提升方法有哪些
    本篇内容介绍了“排序算法的性能提升方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!冒泡排序这是最简...
    99+
    2024-04-02
  • 提高代码性能的技巧有哪些
    这篇文章主要介绍“提高代码性能的技巧有哪些”,在日常操作中,相信很多人在提高代码性能的技巧有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”提高代码性能的技巧有哪些”的疑惑...
    99+
    2024-04-02
  • 提高网站性能的有效方法
    如何有效地优化网站性能导语:在互联网时代,网站成为企业展示与传播的重要工具。然而,随着网站功能的不断扩展和用户需求的提升,网站性能问题也日益凸显。为了提升用户体验、增加访问量和提高网站排名,优化网站性能变得至关重要。本文将介绍如何有效地优化...
    99+
    2023-12-25
    网站性能优化
  • 云存储加密的方法有哪些
    云存储加密的方法有:1、对静态、动态数据进行加密,从而提高数据存储和传输的安全性;2、加密信息检索技术,对高词频数据进行加密,并利用线性搜索算法来提高检索效率,从而维护云存储数据安全;3、零知识数据加密,将用户加密密码存储在云端外部,从而提...
    99+
    2024-04-02
  • Docker数据存储的方法有哪些
    今天小编给大家分享一下Docker数据存储的方法有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了...
    99+
    2024-04-02
  • html5离线存储的方法有哪些
    本篇内容介绍了“html5离线存储的方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • Python数据存储的方法有哪些
    Python数据存储的方法有以下几种:1. 文本文件:可以使用Python的文件操作功能将数据存储为文本文件。常见的文本文件格式包括...
    99+
    2023-10-26
    Python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作