分库分表的概念已经炒了很久了,我也很久没有写博客了,这段确实有点忙,前段时间恰好在公司分享了一下关于shardingJdbc的用法,索性整理成文章,希望能对大家有帮助。
分库分表这种概念,个人认为应该还是属于技术发展过程中的一种过渡方案,如果有一天mysql支持高性能水平扩展,或者出现了更为成熟的数据库产品,那么这种技术也就没有存在的必要了。
这一讲我们主要介绍 一些概念性的东西。
分表前提: 当单表数据量太大,会极大的影响sql的执行性能,这时sql会跑的很慢。根据实战经验来说,当单表到几百万的时候,性能就会有所下降
分库前提:单库而言,最大的并发可能就2000左右,但是一个健壮的单库来说最好的并发保持在1000左右。单数据库增大或者并发增加的时候,可以将一个库的数据拆分到多个库中
阿里巴巴手册如是说道。
官网地址: http://shardingsphere.apache.org/index_zh.html
ShardingSphere 已于2020年4月16日成为 Apache 软件基金会的顶级项目。
Apache ShardingSphere - 版本: 5.0.0-alpha ( 发布日期: Nov 10, 2020 )
数据分片
分布式事务
数据库治理
垂直拆分: 也叫纵向拆分,指的是按照业务将库/表,进行分类,分出来的各个部分结构不同。
水平拆分: 将同一个库/表拆分成多个结构相同的库/表
SELECT i.* FROM t_order o JOIN t_order_item i ON o.order_id=i.order_id WHERE o.order_id in (10, 11);
关于一些概念性的东西我们就介绍到这,写一篇文章我们进行实战