浅谈数据库表的分割技术(水平垂直库表散列)

浅谈数据库表的分割技术(水平垂直库表散列)

ID:46130219

大小:71.84 KB

页数:4页

时间:2019-11-21

浅谈数据库表的分割技术(水平垂直库表散列)_第1页
浅谈数据库表的分割技术(水平垂直库表散列)_第2页
浅谈数据库表的分割技术(水平垂直库表散列)_第3页
浅谈数据库表的分割技术(水平垂直库表散列)_第4页
资源描述:

《浅谈数据库表的分割技术(水平垂直库表散列)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、浅谈数据库表的分割技术(水平、垂直、库表散列)直接对一个数据量很庞人的数据表进行查询时,即使添加了索引,查询起來也会很慢的,因实际应用的需要,为了加快査询速度,增加系统性能,通常的做法就是采用数据库表的分割技术(以卜•称分割技术),分割技术主耍有3种类型,即水平分割、垂直分割、库表散列。IOPS▼規曲a▼fixtfi占用比▼110040.960k200运行状况:2吞仇化.运行曲?3&要优化(60%*80%)QPS・.谀冏闾:2015-07-300&21:53~2015-07-3012:26:54:43WIS:3338:702:WIS:g227AW34,绑:TC

2、5WS:1AVG159:<7MXH:47AVG4?:20VIX:49RaXiuxIUJ图为未经分割Z前的IOPS示意图一.水平分割什么是水平分割?打个比较形象的比喻,在食堂吃饭的时候,只有一个窗J排队打饭的队伍太长了,都排成S型了,这吋容易讣排队的人产生焦虑情绪,容易产生混乱,这吋一个管理者站出来,增加多个打饭窗口,把那条长长的队伍拦腰截断成几队。更形彖一点的理解,你拿一把“手术刀”,把一个大表猛的切了几刀,结果这个大表,变成了几个小表。水平分割根据某些条件将数据放到两个或多个独立的表屮。即按记录进分分割,不同的记录可以分开保存,每个子表的列数相同。水平切割将

3、表分为多个表。每个表包含的列数相同,但是数据行更少。例如,可以将一个包含十亿行的表水平分区成12个表,每个小表表示特定年份内一个月的数据。任何需要特定月份数据的杏询只需引用相应月份的表。通常用來水平分割表的条件冇:口期时间维度、地区维度等,当然还冇更多的业务维度。下面我举几个例子来解说一下。案例某个公司销售记录数据量太大了,我们可以对它按月进行水平分割,每个月的销售记录单独成一张表。案例2:某个集团在各个地区都有分公司,该集团的订单数据表太大了,我们可以按分公司所在的地区进行水平切割。案例3:某电信公司的话单按口期、地市水平切割后,发现数据最太人,然后他们又按

4、品牌、号码段进行水平切割。水平分割通常在下而的情况下使用:(1)表数据量很大,分割后可以降低在查询时需耍读的数据和索引的页数,同时也降低了索引的层数,加快了查询速度。(2)表中的数据本来就有独立性,例如表屮分别记录各个地区的数据或不同时期的数据,特别是有些数据常用,而另外一些数据不常用。(3)需要把数据存放到多个介质上。(4)需要把历史数据和当前的数据拆分开。优点:1:降低在查询吋需要读的数据和索引的页数,同时也降低了索引的层数,加快了查询速度。缺点:1:水平分割会给应用增加复杂度,它通常在杏询时需要多个表名,查询所有数据需要union操作。在许多数据库应用小

5、,这种复杂性会超过它带來的优点,因为只要索引关键字不大,则在索引用于查询吋,表中增加两到三倍数据量,查询吋也就增加读一个索引层的磁盘次数。一.垂直分割什么是垂肓分制呢?打个形象的比喻,一个小公司通过短短几年发展变成了一个跨国人金业,以前的部门架构明显不能满足现在的业务发展,CEO孵里啪啦的把公司分成了财务部、人事部、生产部、销售部门•….,一下子成立了多个部门,各司其职。你垂直分割表(不破坏第三范式),把主码(主键)和一些列放到一个表,然后把主码(主键)和另外的一些列放到另一个表中。将原始表分成多个只包含较少列的表。如果一个表中某些列常用,而另外一些列不常用,

6、则可以采用垂肓分割。优点:垂直分割可以使得行数据变小,一个数据块(Block)就能存放更多的数据,在查询时就会减少I/O次数(每次查询时读取的Block就少)。2:垂直分割表可以达到授大化利用Cache的冃的。缺点:1:表垂直分割后,主码(主键)出现冗余,需要管理兀余列。2:会引起表连接JOIN操作(增加CPU开销)需要从业务上规避。二.库表散列表散列与水平分割相似,但没冇水平分割那样的明显分割界限,采用Hash算法把数据分散到各个分表中,这样10更加均衡。-•般来说,我们会按照业务或者功能模块将数据库进行分离,不同的模块对应不同的数据库或者表,再按照一定的策

7、略对某个页面或者功能进行更小的数据库散列,比如用八表,按照用八ID进行表散列,散列228张表,则应就能够低成木的提升系统的性能并且有很好的扩展性。在实际应用当中,我们对以根据需要把一个数据量很大的表分割,以达到加快查询速度和提升系统的性能。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。