数据库水平切分举例
来源:互联网 发布:宝宝学字软件 编辑:程序博客网 时间:2024/04/18 07:30
分表策略:
使用user表来进行取余分布
这里拿商品表进行举例:
1、首先需要判断一个用户的商品表大概会有多少数据,比如一个表的最大限度是100万,一个用户的商品大概可能有1000个,
那么一个表大概可以存储(100万/1000=1000)个用户,那么所需要建立的商品表数量就是(用户数量/1000);
可以让表这样命名:product_1,product_2,product_3......
2、然后在user表中增加一个字段为db_set字段,里面存放该用户所有需要分表的表所在的第几个表,可以用json对象来进行
存储,比如a用户的dbset的值为{"product:"2,"company":5};这样就知道a用户的商品表在第2个表中
分库策略:
可以使用阿里的cobar client来进行操作,该框架是与ibatis进行整合的,你还可以加上spring来进行整合。
当然这样的策略会出现热点数据的时候分布不均匀的问题,不知道这样是怎么样来解决的?
数据库进行垂直与水平分库后,通常情况下,会一个高速路由引擎进行规则路由的,路由引擎会记录相关的请求次数,这也与分布式缓存扯上了关系..
热点问题也就能较好地解决了
比如,设置路由规则的缓存策略等..
0 0
- 数据库水平切分举例
- 数据库水平切分方法
- 水平切分数据库方式
- 数据库水平切分方法
- 数据库水平切分方法
- 数据库水平切分方法
- 数据库水平切分法
- 数据库水平切分
- 数据库的垂直切分和水平切分
- 数据库的垂直切分和水平切分
- 数据库的垂直切分和水平切分
- 数据库的垂直切分和水平切分
- 数据库的垂直切分和水平切分
- 数据库的垂直切分和水平切分
- 数据库的垂直切分和水平切分
- 如何将数据库水平切分
- 如何将数据库水平切分
- 数据库垂直和水平切分
- 十分钟让你明白Objective-C的语法(和Java、C++的对比)
- Gnome3美化教程–关于gnome3的主题安装,扩展安装配置
- 黑马程序员_学习笔记第21天——Object流、管道流、数据流
- 栈的java实现和栈的应用举例
- 安卓翻译8 Services 一
- 数据库水平切分举例
- sql_mode导致初始化mariadb-10.0.6失败的一个问题
- php json数据和数组的转换
- jstat命令(Java Virtual Machine Statistics Monitoring Tool)
- MFC加载系统鼠标/系统预定义鼠标方法
- ORACLE闩锁(Latch)
- 在线教育们想要腾飞 就必须彻底改变产品理念
- 字符串的完美度(pongo的编程挑战..)
- 生活编程(一) 圣诞礼物大作战