数据的水平分割

早前公司有个大系统没有做数据的水平分割,导致兴许的性能优化不能做到最佳,有些功能优化到7s,8s就无法继续了。这个大系统曾经是分21个点部署,然后进行了大集中,仅仅部署了一个点。

1. 在做数据的水平切割之前一定要理解系统的业务。我的系统是MIS,数据能够分为两类:一类是基础数据,一类是业务流程数据。基础数据的理解就是支撑其它业务流转的数据,如部门、人员、权限、资源库等。业务流程数据就是业务单据,如报销流程等。

2. 基础数据是不用做水平的分割的,当然假设是腾讯这样的系统,人员信息很大的还是要做分割的,我们的系统基础数据往往是很小的。业务流程数据要做水平分割。

3. 分割的几种方式,如果有限制有30个局的数据:

a. 分表

长处:安全性更高,MIS系统上线后实施免不了要在后台改数据,万一少写一个条件就悲剧了。对开发者的数据库技能要求低一些,在1千万的表上操作比在一亿的表上操作要简单。

缺点:做查询的时候要组装;在跨局做统计的时候实现会复杂一些。DDL操作要写非常多脚本。

b. 分区

长处:写代码简单;跨局统计方便。

缺点:一定要确保带分区条件,对开发者的数据库操作技能更高。DDL(加字段,改动字段类型或长度,加索引都是DDL)会比較困难,假设表上有操作,DDL都会失败。跟分表的不同,

4. 终于的分割方式

分表:数据量巨大的表,安全性高的表。

单分区:非重点模块,数据量不大,无需做过期化。

复合分区:重点模块,须要做过期化的模块。

不做分区和分表:基础数据。

时间: 2024-10-10 21:44:39

数据的水平分割的相关文章

数据的水平切割

早前公司有个大系统没有做数据的水平切割,导致后续的性能优化不能做到最佳,有些功能优化到7s,8s就无法继续了.这个大系统以前是分21个点部署,然后进行了大集中,只部署了一个点. 1. 在做数据的水平分割之前一定要理解系统的业务.我的系统是MIS,数据可以分为两类:一类是基础数据,一类是业务流程数据.基础数据的理解就是支撑其他业务流转的数据,如部门.人员.权限.资源库等.业务流程数据就是业务单据,如报销流程等. 2. 基础数据是不用做水平的切割的,当然如果是腾讯这种系统,人员信息非常大的还是要做切

mysql数据业务垂直+水平分割+主从复制读写分离

友情提示:本人第一次写技术博客,会继续完善,尽量做到图文并茂,通俗易懂,如果有什么写的不好的地方,还请大家多多提意见,您的意见将是我宝贵的资源.如果有兴趣的话,还可以一起讨论相关技术哦,亲!一定要注意软件版本哦! 联系方式 QQ:794884160 指导老师:双星  冯德勇老师  曾勇老师 一.拓扑图: 垂直+水平分割+主从复制+读写分离完整原理图: 仅说明原理,详细拓扑及参数参考本次实验拓扑图 本次试验拓扑图:(上图左侧部分) 二.实验描述: 根据业务原型先进行数据库垂直切割,然后用户数据根据

(转)数据库表分割技术浅析(水平分割/垂直分割/库表散列)

数据库表分割技术包含以下内容:水平分割/垂直分割/库表散列.接下来将对以上分割进行详细介绍,感兴趣的朋友可以了解下,对你日后维护数据库是很有帮助的 一.水平分割 什么是水平分割?打个比较形象的比喻,在食堂吃饭的时候,只有一个窗口,排队打饭的队伍太长了,都排成S型了,这时容易让排队的人产生焦虑情绪,容易产生混乱,这时一个管理者站出来,增加多个打饭窗口,把那条长长的队伍拦腰截断成几队.更形象一点的理解,你拿一把“手术刀”,把一个大表猛的切了几刀,结果这个大表,变成了几个小表. 水平分割根据某些条件将

MySQL水平分割案例

水平分割:根据一列或者多列的值把数据行放到多个独立的表里,水平分表方式可以通过多个低配置主机整合起来,实现高性能. 根据公司的业务,两套重复的架构,部署在不同的IDC上,需要对数据进行合并操作,数据库采用水平方式实现业务数据的存储,如架构图: 说明:路由表A作用:md5key作为分表策略的依据,对md5key值进行取模运算,需要把数据写入具体表位置. 一般对于业务需求,可以对此字段进行做相应的处理,对数据的保护,如这样的语句: SELECT id,MOD(CRC32(keymd5),16) FR

数据库的水平分割和垂直分割

在数据库操作中,我们常常会听说这两个词语:水平分割和垂直分割.那么到底什么是数据库的水平分割,什么是数据库的垂直分割呢?本文我们就来介绍一下这部分内容. 1.水平分割: 按记录进分分割,不同的记录可以分开保存,每个子表的列数相同. 水平分割通常在下面的情况下使用: A 表很大,分割后可以降低在查询时需要读的数据和索引的页数,同时也降低了索引的层数,提高查询速度. B 表中的数据本来就有独立性,例如表中分别记录各个地区的数据或不同时期的数据,特别是有些数据常用,而另外一些数据不常用. C需要把数据

(转载)数据库表分割技术浅析(水平分割/垂直分割/库表散列)

一.数据库表分割技术 数据库表分割技术包含以下内容: 水平分割 垂直分割 库表散列 1.1.水平分割 什么是水平分割?打个比较形象的比喻,在食堂吃饭的时候,只有一个窗口,排队打饭的队伍太长了,都排成S型了,这时容易让排队的人产生焦虑情绪,容易产生混 乱,这时一个管理者站出来,增加多个打饭窗口,把那条长长的队伍拦腰截断成几队.更形象一点的理解,你拿一把“手术刀”,把一个大表猛的切了几刀,结果这个大表,变成了几个小表. 水平分割根据某些条件将数据放到两个或多个独立的表中.即按记录进分分割,不同的记录

OSPF的水平分割

OSPF的水平分割实质上是基于OSPF的区域划分和第三类LSA即区域间路由传递. OSPF的水平分割主要有四点: 1. 通过三类LSA,普通区域的内部路由可以传递到骨干区域,骨干区域的路由也可以传递到非骨干区域 2.普通区域的路由不可以直接传递到其他非骨干区域 3.普通区域从骨干区域学习到的路由哦不可以传递到其他区域(包含骨干区域) 4.骨干区域从一个普通区域学习到的路由不可以直接传回到该普通区域

RIP 水平分割

RIP 水平分割是距离矢量路由协议用来减少可能出现的路由环路的一种机制,水平分割功能可以阻止从一个借口接收或学习到的路由信息再从该接口发送回去 使用 (no)debug ip rip 可以查看 RIP 协议更新细节 以此图做简单说明 假设 R1 路由表包含了 1.1.1.0 13.1.1.0 12.1.1.0 三个直连网络,R3 通过 RIP 协议向 R1 发送自己的路由表即: 3.3.3.0 13.1.1.0 23.1.1.3 R1 获得 R3 路由表时更新自己的路由表即 1.1.1.0 0

IBGP 水平分割解决方案 - BGP 联盟

实验名称 - IBGP 水平分割解决方案 - BGP 联盟实验拓扑: 实验要求:再现 IBGP 水平分割,并解决.达到两边能够互通 实验步骤:按照拓扑中的地址配置各个网络设备首先将两个pc配置完毕后配置路由器的端口,并配置ospf ,rip等路哟协议,使其能够互相通信 R1: interface GigabitEthernet0/0/0ip address 192.168.12.1 255.255.255.0 interface GigabitEthernet0/0/1ip address 19