用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的安装

Xml代码  收藏代码
  1. git clone git://github.com/britt/hivedb.git  
  2. cd hivedb  
  3. mvn install  



将HiveDB repository 添加到pom

Xml代码  收藏代码
  1. HiveDB  
  2. http://www.hivedb.org/maven/  



将HiveDB添加到dependency

Xml代码  收藏代码
  1. org.hivedb  
  2. hivedb  
  3. 0.9.3  



更详细的信息可以参阅 http://www.hivedb.org/

 

posted @ 2014-04-03 14:42  郑文亮  阅读(1927)  评论(0编辑  收藏  举报