数据库分区:海量数据分区改造的玄与机

简介: 本文讲的是数据库分区:海量数据分区改造的玄与机国内最受关注的数据库技术盛会——2017第八届中国数据库技术大会(DTCC2017)于2017年5月11-13日如约而至。本届大会以“数据驱动?价值发现”为主题,汇集来自互联网、电子商务、金融、电信、政府、行业协会等20多个领域的120多位技术专家,共同探讨Oracle、MySQL、NoSQL、云端数据库、智能数据平台、区块链、数据可视化、深度学习等领域的前瞻性热点话题与技术。
+关注继续查看

本文讲的是数据库分区:海量数据分区改造的玄与机国内最受关注的数据库技术盛会——2017第八届中国数据库技术大会(DTCC2017)于2017年5月11-13日如约而至。本届大会以“数据驱动?价值发现”为主题,汇集来自互联网、电子商务、金融、电信、政府、行业协会等20多个领域的120多位技术专家,共同探讨Oracle、MySQL、NoSQL、云端数据库、智能数据平台、区块链、数据可视化、深度学习等领域的前瞻性热点话题与技术。  

数据库分区:海量数据分区改造的玄与机

  (更多大会精彩:http://tech.it168.com/topic/2017/5-10/DTCC2017/)

在大会的分会场上,来自福富软件研究院的副理事长的梁敬彬来了《海量数据分区改造的玄与机》的精彩分享。

近年来随着数据爆炸式增长,不乏TB级OLTP数据库产生,甚至更大,单表的数据量出现上亿的记录,随着时间的推移表变的更加臃肿,影响了数据库的运行效率,增大了数据库的维护难度,也不利于数据的生命周期管理,这里就需要把大块的数据分而治之,也就是数据库上的分区。

对于分区表的改造思路梁敬彬表示,有普通手工思路和程序实现思路之分,前者新建一张分区表,按日期建分区,确保分区表各字段和属性都和普通表一样,然后停应用,将普通表记录插入到分区表中,再然后将普通表重命名,分区表命名表的名字,完成任务。而这种思路首先命名上会有冲突,插入很慢,并且手工操作很麻烦,尤其是多个分区表要改造的时候。而程序实现思路不用手工方式,用代码实现,重命名顺序执行,分区表用SPLIT模式完成,通过数据字典完成所有属性的完善。

谈到具体改造时梁敬彬谈到,“怎么样做这个事情效率最高,有时候一些脚本的使用频率比较高,在实施过程中,效率也不错。在普通表改造过程中,我们一般会遇到什么问题。首先建一张表,就有命名问题,新表旧表的名字肯定不一样;第二个就是重命名的时候要注意顺序,它的各个属性不能丢失;在性能方面也要注意,要用CTAS方式来进行;做多久能够完成?做的每个动作能不能记录下来?做了什么动作?万一失败的话在哪里失败?”

从梁敬彬展示的部分代码中可以看到,代码分成两部分,一个是脚本,一个测试。可以看到建立了一些有比较复杂属性的表,然后插入数据,通过快速的方式把的表的属性转化成了分区表;脚本分为两部分,逻辑部分可以对这些表进行各种操作,控制部分首先有个概念就是我们在生产环境中有很多脚本,如果直接来执行的话,可能会有些问题,虽然是程序来实现的,但是还是建议通过程序把要执行的脚本全部输出来,然后再一条条过。这里有个判断过程是零,就不执行。零的话有个好处,把脚本可以合一遍,可以手工一条条来执行。  

数据库分区:海量数据分区改造的玄与机

针对关系型数据库,它的表记录会有越来越大的情况。当然在oltp系统里面表非常大,并不是意味着查询非常慢,因为不管记录有多大,只要返回记录,所以分区表是我们在海量数据库里面的一个优化的很好的利器。

需要注意的2个因素为:1分区消除(提升性能)2.历史数据转移。所以当你无法满足这两点的时候,设计就有问题。分区建的选择一般是用在可以有效的割断数据的场合,比如地区号(从0591-0599区分福建的9个地市,这样访问厦门就不要访问别的地方,实现了有效的分区消除)比如时间(区分历史数据,可以只保留最新的数据,有效的实现了数据迁移和瘦身)。

原文发布时间为:2017-05-13

本文作者:张存

本文来自云栖社区合作伙伴IT168,了解相关信息可以关注IT168

原文标题:数据库分区:海量数据分区改造的玄与机

目录
相关文章
|
1月前
|
JSON 关系型数据库 分布式数据库
|
2月前
|
cobar 架构师 中间件
分库分表解决方案和数据库分片中常见的问题及其解决方案
分库分表解决方案和数据库分片中常见的问题及其解决方案
73 1
|
3月前
|
监控 数据库
构建高可用性的数据库架构:主从复制和分区策略
在今天的软件开发领域中,构建高可用性的数据库架构至关重要。数据是应用程序的核心,因此确保数据的持久性、可用性和一致性对于任何规模的应用程序都是至关重要的。在本篇文章中,我们将重点介绍两种常用的数据库高可用性技术:主从复制和分区策略,并讨论如何将它们结合起来构建一个稳定和可靠的数据库架构。
|
4月前
|
存储 缓存 固态存储
【数据库08】数据库物理存储系统的选型与管理
【数据库08】数据库物理存储系统的选型与管理
|
存储 SQL 数据管理
|
存储 SQL 算法
探索 | PolarDB-X:实现高效灵活的分区管理
PolarDB-X提供了默认按主键Hash分区的分区管理策略,同时为了满足不同业务的需求也支持了Range和List分区,这三种分区策略可以灵活组合,支持二级分区。为了计算下推,引入了表组的概念,满足不同业务的需求。
806 0
探索 | PolarDB-X:实现高效灵活的分区管理
|
新零售 存储 关系型数据库
数据库分库分表策略的具体实现方案
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34173549/article/details/79879588 一、MySQL扩展具体的实现方式 随着业务规模的不断扩大,需要选择合适的方案去应对数据规模的增长,以应对逐渐增长的访问压力和数据量。
1255 0
推荐文章
更多