用HiveDB横向切分MySQL数据库
HiveDB是一个用来横向切分mysql数据库的开源框架,构建一个高性能和可扩展的基于mysql的系统需要大量的系统设计经验和良好的代码的实现,一个比较好的策略是将你的数据横向切分在多个server上,HiveDB就是个不错的选择,它的发展情况和特点如下:
1. HiveDB是在2007年5月"Bay Area Community Meetup"首次出现,底层基于Hibernate shards基础实现。Hibernate shards 则是 Google 的开发工程师在"20%工作时间可以干别的有兴趣事情"环境下开发出来的一个 Hibernate extension,贡献给开源社区希望发扬光大;
2. HiveDB推出到现在也不算短,开发进度相对平缓。功能上已经处于一个相对稳定1.0状态,核心功能已经基本没大的问题。作者声称已经在一个每秒请求数达数千次的,包含海量数据的生产环境稳定运行;
3. HiveDB/Hibernate shards所适用的典型场合就是一个海量记录的表,可以根据某个规则分开存到多个相同表结构的数据库服务器上。和HSCALE功能差不多,但HSCALE当前版本实际上还不能跨服务器的;
4. 可以查询跨服务器数据,但不能做 order/join;
5. 具有类似mysql proxy之类多服务器容错功能,单独服务器发生故障不影响系统正常运行,通过类似ha-jdbc思想实现;
6. 目前只支持Java语言,有支持各种语言如php/python/perl/ruby hive client的计划,但是目前只有一个python hive client测试版可用。
HiveDB的安装
- git clone git://github.com/britt/hivedb.git
- cd hivedb
- mvn install
将HiveDB repository 添加到pom
- HiveDB
- http://www.hivedb.org/maven/
将HiveDB添加到dependency
- org.hivedb
- hivedb
- 0.9.3
更详细的信息可以参阅 http://www.hivedb.org/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】