Amoeba和mysqlproxy对比

           Amoeba for mysql的优劣            2014-03-23 21:42:09                                mysql

分类: MySQLsql

转载地址:http://baike.baidu.com/link?url=RSqbHpbctiA2tDMU3UhWOH302J3- Td8eNdsCiDJSJmu2KXbHcluIDrspPUaVlJGGgI78ArIU2gIaxXTTT0gbvq


概述
Amoeba是一个以MySQL为底层数据存储,并对应用提供MySQL协议接口的proxy。它集中地响应应用的请求,依据用户事先设置的规则,将 SQL请求发送到特定的数据库上执行。基于此能够实现负载均衡、读写分离、高可用性等需求。与MySQL官方的MySQL Proxy相比,做者强调的是amoeba配置的方便(基于XML的配置文件,用SQLJEP语法书写规则,比基于lua脚本的MySQL Proxy简单)。
Amoeba至关于一个SQL请求的路由器,目的是为负载均衡、读写分离、高可用性提供机制,而不是彻底实现它们。用户须要结合使用MySQL的 Replication等机制来实现副本同步等功能。amoeba对底层数据库链接管理和路由实现也采用了可插拨的机制,第三方能够开发更高级的策略类来 替代做者的实现。这个程序整体上比较符合KISS原则的思想。


优点
编辑
Amoeba主要解决如下问题:
a). 数据切分后复杂数据源整合
b). 提供数据切分规则并下降数据切分规则给数据库带来的影响
c). 下降数据库与客户端链接
d). 读写分离路由


不足
编辑
a)、目前还不支持事务b)、暂时不支持存储过程(近期会支持)
c)、不适合从amoeba导数据的场景或者对大数据量查询的query并不合适(好比一次请求返回10w以上甚至更多数据的场合)
d)、暂时不支持分库分表,amoeba目前只作到分数据库实例,每一个被切分的节点须要保持库表结构一致:
Amoeba:阿米巴原虫
数据库

相关文章
相关标签/搜索