`
autumnice
  • 浏览: 1357 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

一个针对mysql的分布式想法

阅读更多
现状:新项目上线很难预估数据量(容易多估,导致数据库资源浪费)。新的mysql集群使用上有一定风险,老的不支持分布式。

目的:实现一种方便控制的,可动态扩展的分布机制。

思路:通过一个配置文件来控制数据库库表的资源,通过对这个文件的监听结合spring动态加载的机制实现动态调整。该配置文件的格式可以为:
db1:2#table1:0,table2:2,table3:1
db2:3#table1:2,table2:3

一行表示一个数据库及对应的表,":"后面为权重值。
当数据量增加时,可以增加表或库。

当然,这个机制主要用于数据插入时。至于数据怎么取,可以在数据的id里融入库、表的信息。
目前以这个思路基本跑通了整个流程,证明基本是可行的。

完善:
添加相应的监控机制,最好能通过监控来自动修改上面那个配置文件来实现自动调整资源。
分享到:
评论
10 楼 myreligion 2010-04-07  
看看guzz的分库和自动切表,非常适合你。
9 楼 autumnice 2010-04-02  
其实这不是个复杂的设计也不是个复杂的系统,反而有点简单。它只用于数据插入时的分配库、表的工作。跟表结构没啥关系,mysql里即可以是key-value形式,也可以是一般的关系型结构。至于查询、更新、删除之类最多只是一个解析id的过程,其他的功能或限制基本就是取决于mysql本身而已。(当然对个别情况,如存储已存在主信息的子信息数据,可以加跳转表等实现,跟这个设计的关系也不大)
8 楼 hittyo 2010-04-02  
如果水平分库可以,那么key-value也一定可以
7 楼 ferly_j 2010-04-02  
注意事务的问题
6 楼 kongqz 2010-04-01  
顺便说下那个变形虫amode经过我们团队的压力测试,是相当的不稳定,不推荐使用
5 楼 kongqz 2010-04-01  
请搜索关键词shard
还有就是我记得javaeye有一期,有个团队分享了一个类似的产品jal
4 楼 J-catTeam 2010-03-31  
lishuaibt 写道
恩 水平分库

赞一个~
3 楼 cqwww 2010-03-30  
看看ameba
2 楼 lishuaibt 2010-03-29  
恩 水平分库
1 楼 抛出异常的爱 2010-03-24  
水平分库
+路由

相关推荐

    2011年DTCC数据库大会ppt下载

    2011年数据库大会部分ppt下载 丁原:海量数据迁移方案.pdf 王龙:百度数据库架构演变与设计.pdf ...赵振平:MYSQL数据库世界五百强应用一例.pdf 周淳:DM针对大数据量环境下分析型应用的支持方案v2.0.pdf

    对分库分表的一些想法

    分库分表,顾名思义,是指将一个大型的数据库拆分为多个小型的数据库,同时将单个大表拆分为多个小表,以此来提升数据处理的效率和系统的并发能力。这种方式通常应用于高并发、大数据量的互联网应用中,如电商平台、...

    TiDB+架构演进历程与开发测试哲学

    - **解决问题**:针对传统数据库无法解决的大数据量、高性能、高可用性和易扩展性等问题,TiDB旨在提供一个全新的解决方案。 - **具体目标**:实现SQL的弹性伸缩能力、支持跨行ACID事务、确保真正的高可用性,并保持...

    infobright包

    横向扩展方面,倒不是 Infobright 的错,它本身就不是分布式的存储系统,但如果把它搞成一个分布式的系统,应该是一件比较好玩的事情。 在架构方面,Infobright 给我展示了不少新想法,算是受益颇多吧。首先是按列...

    spring-boot-1.5.4.RELEASE

    Spring Boot是Spring框架的一个重要扩展,它的出现极大地简化了Java开发者构建基于Spring的应用程序的过程。1.5.4.RELEASE是Spring Boot的一个稳定版本,它包含了丰富的功能和优化,旨在提升开发效率并降低维护成本...

    小米开源-小米的经验分享.pdf

    - **Voldemort**:另一个分布式键值存储系统。 - **Ganglia**:集群监控系统。 - **Nagios**:网络监控系统。 - **Hadoop**:分布式大数据处理框架。 - **Storm**:实时流处理系统。 - **Hive**:数据仓库工具。 - *...

    实际工作中常用sql积累及总结

    本篇文章将针对"实际工作中常用sql积累及总结"进行深入探讨,涵盖事务处理、游标、存储过程、行列转换、递归查询、数据库备份与还原、分布式查询、批量更新、合并记录以及动态SQL等多个关键知识点。 1. **事务处理*...

    微服务架构和基于容器参考应用程序eShopOnContainers.zip

    这是一个很好的机会,来自社区的拉动请求,例如使用Nancy的新微服务,或者甚至其他语言,如Node,Go,Python或具有MongoDB Azure DocDB兼容性的数据容器,PostgreSQL,RavenDB,Event Store,MySql等。) 数据库...

    二十三种设计模式【PDF版】

    保证一个类只有一个实例,并提供一个访问它的全局访问点 设计模式之 Factory(工厂方法和抽象工厂) 使用工厂模式就象使用 new 一样频繁. 设计模式之 Builder 汽车由车轮 方向盘 发动机很多部件组成,同时,将这些...

    Java面试考核目标.docx

    - 中级:参与过至少一个完整项目的生命周期管理。 - 高级:具备多个项目的成功案例,能够独立承担项目负责人角色。 - 资深/专家:具备深厚的行业积累,在某一细分领域内享有一定声誉。 #### 七、特长加成 - **...

Global site tag (gtag.js) - Google Analytics