`

mysql水平扩展的设计思路

 
阅读更多

项目中应用了mysql数据库,由于数据量较大,采用了对mysql进行水平扩展的方式来应对,目前已基本实现。下面是水平扩展时需要处理的一些关键点:

 

1.处理一级路由(DB节点的拆分,例如DB节点由一组服务器扩展为2组服务器)

2.处理二级路由(DB节点内的拆分,例如一组DB服务器内将1张表拆分为10张表)

 

3.处理动态数据源

   3.1 向当前系统中增加新的DB节点,应用系统在不重启的情况下实现连接新DB和数据库操作。

 

4.处理非切分字段查询和同步

5.处理跨节点数据集合操作

6.处理历史路由表(第二阶段实现)

 

7.处理迁移策略实现 (n: DB节点)

  7.1 只有N1,散列空间 0-1000 
  7.2 增加N2,散列空间n1(0-500),n2(501-999) 
  7.3 迁移策略:
      7.3.1 根据一级切分策略,向一级切分映射表中插入需要迁移的一级映射数据。
      7.3.2 根据二级切分策略,将一级映射表中的数据插入到相应的二级切分映射表中。
      7.3.3 n2上根据二级切分策略计算各表的散列空间,将n1的二级切分映射表中符合条件的数据插入到n2的相应的表 

               中,完成数据迁移。

 

8.处理分页排序操作

 

后面如果有时间会补充部分处理难点和优化思路。欢迎大家一齐讨论mysql数据库的扩展思路,谢谢。

 

 

0
0
分享到:
评论

相关推荐

    MySQL5.1性能调优与架构设计.mobi

    第12章 MySQL可扩展设计的基本原则 12.0 引言 12.1 什么是可扩展性 12.2 事务相关性最小化原则 12.3 数据一致性原则 12.4 高可用及数据安全原则 12.5 小结 第13章 可扩展性设计之MySQL Replication 13.0 ...

    java swing mysql实现的酒店管理系统项目源码,Java语言,代码源文件,毕业设计

    基于Java Swing和MySQL的酒店管理...项目实现:在分析系统需求和设计思路的基础上,我们采用了Java SwingGUI工具包和MySQL数据库来实现该系统。系统实现过程包括界面设计、功能模块开发、数据库连接和数据存储等方面。

    基于Web的简易实用校园网管理系统的设计思路及实现.pdf

    基于Web的简易实用校园网管理系统的设计思路及实现 ...本文提出的基于Web的简易实用校园网管理系统的设计思路及实现,能够有效地提高校园网管理的效率和水平,为高校的校园网建设提供了一种可行的解决方案。

    mysql实战和优化视频教程

    - 案例分享:电商秒杀系统的数据库设计思路。 #### 2. 大数据量处理方案 - 探讨大数据量下MySQL的应对策略,如采用NoSQL数据库作为辅助存储手段。 - 案例分析:社交网络应用中如何处理大量用户动态数据。 #### 3. ...

    oa_java_mysql

    4. **扩展性**:随着业务增长,MySQL可以通过水平扩展(增加服务器)或垂直扩展(升级硬件)来应对更大规模的数据存储需求。 **文件资源分析** 在提供的文件列表中,"www.pudn.com.txt"可能是从Pudn网站下载的资源...

    petshop设计思路

    在这个设计思路中,我们将深入探讨如何构建一个高效、可扩展且易于维护的PetShop应用。 首先,我们要理解多层架构的含义。多层架构是一种将应用程序分解为多个独立组件的方法,这些组件负责不同的职责,从而提高...

    Mysql性能优化教程.doc

    - 支持系统的水平扩展。 - **防止单点隐患**: - 通过主从复制、集群等方式分散风险。 - **方便系统扩容**: - 设计易于扩展的架构。 - **安全可控,成本可控**: - 在保障安全的同时控制成本。 - **分布式方案**: ...

    Node.js 实现的 MySQL 分表分库中间件,用于海量数据的分布式集群储存管理和高并发访问。.zip

    4. **水平扩展**:随着数据量的增长,可以通过添加更多的服务器轻松扩展系统容量。 5. **负载均衡**:智能地分配读写请求,避免单点过载,提高整体系统的响应速度。 6. **故障恢复**:具备数据备份和恢复功能,以...

    jsp131智能网络教学系统mysql.zip

    "项目说明.zip"文件可能包含了关于系统架构、设计思路、安装部署以及使用教程等详细信息,这对于初学者或开发者来说是非常宝贵的资源。通过阅读这些文档,用户可以更好地理解系统的工作原理,自行部署并进行二次开发...

    基于ASP+mysql的客户管理系统设计与实现毕业设计(源代码+项目报告).zip

    项目报告通常包含系统需求分析、设计思路、实现过程、功能测试及系统评估等方面。在报告中,需详细阐述系统的功能模块,分析设计的合理性,展示系统的实际运行效果,并对可能存在的问题和改进方向进行讨论。 总结,...

    Mysql性能优化教程

    架构优化的目标是防止单点故障、便于系统水平扩展,并确保安全性和成本可控。分布式方案的讨论包括分库分表策略、反范式设计、主从架构、故障转移处理等。缓存方案的讨论重点在于如何结合缓存提升数据库的读写性能。...

    springboot+mysql网上家具商城(源码+sql+论文报告)

    论文报告则详细阐述了项目的背景、设计思路、技术选型及实现过程。 【标签】"spring boot"是Java领域广泛使用的轻量级框架,它简化了Spring应用的初始搭建以及开发过程,提供了自动配置、内嵌Web服务器、起步依赖等...

    基于ssm+mysql环卫管理平台源码数据库论文.docx

    设计思路主要分为四个步骤:需求分析、系统架构设计、功能模块实现和测试优化。首先明确系统需求,然后选用适合的技术栈进行系统架构设计,包括前端展示层、业务逻辑层和数据访问层;接着实现各个功能模块,如环卫...

    基于ssm+mysql的团员管理系统源码数据库论文.docx

    1.3 系统的设计思路 采用分层架构设计,包括表现层(视图)、业务逻辑层(服务)、数据访问层(DAO)以及实体类(Model)。各层之间保持松耦合,使得系统易于维护和扩展。 1.4 系统的研究方法 主要采用面向对象的...

    基于ssm+mysql的毕业生离校管理系统源码数据库论文.docx

    1.3 系统的设计思路 系统采用三层架构设计,即表现层、业务逻辑层和数据访问层。表现层负责用户交互,业务逻辑层处理业务规则,数据访问层则与数据库进行交互。通过SSM框架,可以实现各层之间的松耦合,提高代码的可...

    58同城mysql分库分表实践

    特别是在像58同城这样的大型互联网公司中,数据量大、访问量高,如何有效进行数据库的水平扩展成为了一个技术难题。为了解决这一问题,58同城的技术中心分享了他们在MySQL数据库上的分库分表实践,这是一个非常有...

    基于SpringBoot+Vue+Mysql的校园组团平台(源码+论文)

    而论文可能包含了项目的背景、设计思路、技术选型、实施过程和结果分析,对理解整个项目的架构和开发流程非常有帮助。 综上所述,这个项目是一个完整的Web开发实践,涵盖了后端开发、前端开发和数据库管理的关键...

Global site tag (gtag.js) - Google Analytics