数据库拆分的几种方式
1.按功能划分(垂直切分)
将不同功能相关的表放到不同的数据库中,这样做的好处是非常直观。但当某一部分的功能其数据量或性能要求超出了可控的范围,就需要继续对其进行深入的再切分。
当伴随着某一个表的数据量越来越大,以至于不能承受的时候,就需要对它进行进一步的切分。一种选择是根据key 的范围来做切分,譬如ID 为 1-10000的放到A上,ID 为10000~20000的放到B。这样的扩展就是可预见的。另一种是根据某一字段值来划分,譬如根据用户名的首字母,如果是A-D,就属于A,E-H就属于B。这样做也存在不均衡性,当某个范围超出了单点所能承受的范围就需要继续切分。还有按日期切分等等。
3.基于hash的切分
一般采用mod来切分,一开始确定切分数据库的个数,通过hash取模来决定使用哪台。这种方法能够平均地来分配数据,但是伴随着数据量的增大,需要进行扩展的时候,这种方式无法做到在线扩容。每增加节点的时候,就需要对hash 算法重新运算。
前面的几种方式都是根据应用的数据来决定操作的,基于路由表的切分是一种更加松散的方法。它单独维护一张路由表,根据用户的某一属性来查找路由表决定使用哪个数据库,这种方式是一种更加通用的方案
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
OpenStack更新:最小化风险和停机时间
为了使OpenStack部署更平稳安全运行,更新和打补丁是非常关键的工作。但是要执行这些更新任务,IT团队要投入的时间精力远不只是按按开关就可以的。 OpenStack平台由大约30个不同的模块组成,其中每个模块都有着相当复杂的功能和要求。OpenStack的开发团队也是基于开源的,这有可能导致不平衡的测试、文档和代码质量。 这就要求IT团队必须定期执行OpenStack更新以避免影响系统运行的稳定性。在很多方面,那就如同是维护一个操作系统(如Windows)一样,需要将bug修复更新保持至最新和确保安全性处于最佳水平。 但是,Windows和OpenStack之间的区别在于后者仍然处于变化较快的发展期,尤其是不同模块的成熟度水平有着较大差异。OpenStack的重要版本发布频率大约为六个月,而微软的发布周期为2-4年。此外,由于OpenStack整体软件成熟度水平不高,功能集在不断发展,所以在重要版本之间的小版本发布也是非常频繁且复杂。 直到近来,用于执行OpenStack更新的首选方法都是使用命令行界面(CLI),这种方法对于单个服务器是很好的,但对于大型节点集群则显得效率低下。对...
- 下一篇
揭开 Heron 性能面纱
Heron 自去年2015年6月公布出来,给整个业界注入了一缕新的活力, 随即我们团队, 仔细阅读了Heron 的论文, 发表 了一篇关于《深入浅出Heron》(国内被墙的话,可以查看http://www.blogchong.com/post/117.html)。 其中Topology Master、backpressure到Two-threaded approach instance,Stream Manager等概念还是非常有创新。 整体Heron 的架构设计就是Storm-on-Mesos 的架构。 这篇博文分为2部分 测试结果和测试过程 Heron 性能分析 测试结果和测试过程 今年5月25号, Heron开源了他们的源码, 整个业界对Heron 的性能都非常感兴趣,我们花了3周的时间,完成heron的整个测试。 性能测试结果 使用FastWordCount FastWordCount 测试用例 分为3个stage spout-> split > count, 使用流计算中最常用的shuffler和fieldgrouping 方式。 使用WordCount Word...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7安装Docker,走上虚拟化容器引擎之路