zebra / merge_table
数据库合并表
dev-master
2014-11-29 08:36 UTC
Requires
- php: >=5.3.0
- soundintheory/php-sql-parser: 1.0
This package is auto-updated.
Last update: 2024-09-14 11:53:36 UTC
README
基于PHP实现的大表水平拆分,类似于MySQL合并表的一种不太恰当的说法是,MySQL能支持千万级别的数据,Oracle能支持上亿级别的数据,超过这个级别,可能会出现性能瓶颈。
但在实际应用场景中,我们经常会遇到以下情况:
- 随着时间的积累,表体积变大,业务要求不能迁移历史数据,查询性能下降
- 表记录数不多,但体积很大,查询性能不好,例如文章、帖子表等
- 表体积过大,索引过多,造成写入成本很高
以上只是举几个简单的例子,这几个场景下,都是不允许删除数据的。
Zebra-MergeTable希望通过通过对表进行水平拆分的方式解决这些问题
目标:
- 灵活的配置化拆表
- 透明的拆表逻辑,在上层看来,仍然在操作一张表
- 常用函数支持
- 高效的结果合并、排序、运算
以下是我们暂时不会考虑的:
- 独立于语言(暂时只支持PHP)
- 复杂运算,例如去重、平均数等(分布式运算难题)