数据库分库分表(持续更新中)
今天学习了数据库分表分库,感觉记录下一些东西以便以后的查看。
1、数据库建立索引,可以加快表数据的查询,但是过多的索引,会占用大量的内存,维护难度较大,因为索引底层的算法是B-tree,树的特点就是查找数据快按时数据增删改比较慢。
2、数据库的表拆分,分为水平拆分,垂直拆分,水平垂直拆分(自定义的)。
3、mycat:数据库的中间件,数据库的代理,屏蔽物理数据库的,支持多种拆分结构。
一、水平拆分:(部分摘自:https://www.cnblogs.com/firstdream/p/6728106.html)
1)、把同一个表拆到不同的数据库中。
2)、垂直拆分后遇到单机瓶颈,可以使用水平拆分。
3)、水平拆分不是将表的数据做分类,而是按照某个字段的某种规则来分散到多个库之中,每个表中包含一部分数据。简单来说,我们可以将数据的水平切分理解为是按照数据行的切分,就是将表中 的某些行切分到一个数据库,而另外的某些行又切分到其他的数据库中,主要有分表,分库两种模式,如图:
二、垂直拆分:
1)、垂直拆分是把不同的表拆到不同的数据库中。
2)、按照业务将表进行分类,分布到不同的数据库上面,这样也就将数据或者说压力分担到不同的库上面。
1)、订单中心数据库切分方法|数据冗余法(部分参考原文:https://blog.csdn.net/sunhuiliang85/article/details/78418546 )
互联网数据量很大的业务场景,往往数据库需要进行水平切分来降低单库数据量。
水平切分会有一个patitionkey,通过patition key的查询能够直接定位到库,但是非patitionkey上的查询可能就需要扫描多个库了。
此时常见的架构设计方案,是使用数据冗余这种反范式设计来满足分库后不同维度的查询需求。
订单表可以中可以存订单编号,卖家的编号,买家的编号,同时再以买家编号为主键建立买家表,再以卖家编号为主键建立卖家表。
转载于:https://www.cnblogs.com/takemyjavalisfe/p/10079868.html
数据库分库分表(持续更新中)相关推荐
- 数据库分库分表(sharding)系列(五) 一种支持自由规划无须数据迁移和修改路由代码的Sharding扩容方案...
为什么80%的码农都做不了架构师?>>> 版权声明:本文由本人撰写并发表于2012年9月份的<程序员>杂志,原文题目<一种支持自由规划的Sharding扩容方 ...
- mysql分库分表中间件6_当当开源sharding-jdbc,轻量级数据库分库分表中间件
近期,当当开源了数据库分库分表中间件sharding-jdbc. Sharding-JDBC是当当应用框架ddframe中,从关系型数据库模块dd-rdb中分离出来的数据库水平分片框架,实现透明化数据 ...
- 当当网mysql分库分表策略_当当开源sharding-jdbc,轻量级数据库分库分表中间件
近期,当当开源了数据库分库分表中间件sharding-jdbc. Sharding-JDBC是当当应用框架ddframe中,从关系型数据库模块dd-rdb中分离出来的数据库水平分片框架,实现透明化数据 ...
- 阿里巴巴中台战略--数据库分库分表之异构索引表
阿里巴巴中台战略 阿里共享事业部的产生.演变和发展 企业信息中心发展的症结 共享服务体系 分布式服务框架的选择 共享服务中心建设原则 数据库瓶颈阻碍业务的持续发展 数据库分库分表 数据库分库分表之异构 ...
- MariaDB Spider 数据库分库分表实践
分库分表
分库分表 一般来说,数据库分库分表,有以下做法: 按哈希分片:根据一条数据的标识计算哈希值,将其分配到特定的数据库引擎中: 按范围分片:根据一条数据的标识(一般是值),将其分配到特定的数据库引擎中: ...
- Mycat - 数据库分库分表中间件,国内最活跃的、性能最好的开源数据库中间件
转载自 Mycat - 数据库分库分表中间件,国内最活跃的.性能最好的开源数据库中间件 Mycat是什么 Mycat - 数据库分库分表中间件,国内最活跃的.性能最好的开源数据库中间件! 一个彻底开源 ...
- 别再问什么是数据库分库分表了,看这里!
编者语:为了避免被误解为:「手里有把锤子,看什么都是钉子!」,说明一下不是什么业务都适合分布式数据库,更不是用了分布式数据库性能就一定能得到扩展. 其次:本文为纯干货,建议先转发.收藏再观看. 分布式 ...
- 亿级流量网站架构核心技术之“数据库分库分表策略”
本文节选自<亿级流量网站架构核心技术--跟开涛学搭建高可用高并发系统>一书 张开涛 著 电子工业出版社出版 小编会从留言中选择获赞最多的前五名用户免费送出此书哦!规则见文末. 数据库分库分 ...
- 一文搞懂MySQL数据库分库分表
如果数据量过大,大家一般会分库分表.分库需要注意的内容比较少,但分表需要注意的内容就多了. 工作这几年没遇过数据量特别大的业务,那些过亿的数据,因为索引设置合理,单表性能没有影响,所以实战中一直没用过 ...
- 一文读懂数据库分库分表
阅读此文你将了解: 什么是分库分表以及为什么分库分表 如何分库分表 分库分表常见几种方式以及优缺点 如何选择分库分表的方式 数据库常见优化方案 对于后端程序员来说,绕不开数据库的使用与方案选型,那么随 ...
最新文章
- java out.write ie8_整理一下最近遇到的ie8兼容问题
- 好程序员Web前端教程分享JavaScript开发技巧
- linux100day(day8)--shell监控脚本练习
- Java Eclipse插件
- 【C语言简单说】三:整数变量和输出扩展(1)
- win10 vscode 无法激活python 虚拟环境的解决办法
- 【JavaScript】正则表达式 1
- unity 开发射击打靶vr_【好玩微信小游戏大全】香肠派对:点开既玩的射击小游戏!正版授权...
- tornado-ioloop-async-io
- 如何提高Android系统Aututu benchmark跑分
- Bulk insert远程服务器导入sqlserver
- libjpeg-turbo编译流程
- 从零开始学写脚本【第一天】
- 银行专业术语解释说明 超级详细
- c语言和python前景_C语言程序员未来发展前景如何
- php datedif,Datedif函数全面解析及BUG分析
- 【数据结构与算法】之深入解析“1比特与2比特字符”的求解思路与算法示例
- 使用bat脚本上传文件到Linux服务器
- 输入法打出的英文间隔很大
- 干货 | 携程基于BookKeeper的延迟消息架构落地实践
热门文章
- Tomcat - 你该知道的Tomcat生产环境部署
- 高并发编程-Thread_正确关闭线程的三种方式
- html 跨域_常见跨域解决方案以及Ocelot 跨域配置
- 鸿蒙系统突破,华为解锁新成就!新系统用户突破1亿,鸿蒙系统也传来了新消息...
- linux下如何使用有道词典
- 4.Eclipse的安装和使用
- 2.修改/etc/hosts文件 /安装SSH、配置SSH无密码登陆(全程切换到hadoop用户下操作)
- 【自动驾驶】8. MDC通信架构 + DDS + SOME/IP
- caffe windows学习:第一个测试程序
- 图像检索:图像拷贝检索PHash改进方案