zebra/merge_table

dev-master 2014-11-29 08:36 UTC

This package is auto-updated.

Last update: 2024-09-14 11:53:36 UTC


README

基于PHP实现的大表水平拆分,类似于MySQL合并表的一种不太恰当的说法是,MySQL能支持千万级别的数据,Oracle能支持上亿级别的数据,超过这个级别,可能会出现性能瓶颈。

但在实际应用场景中,我们经常会遇到以下情况:

  • 随着时间的积累,表体积变大,业务要求不能迁移历史数据,查询性能下降
  • 表记录数不多,但体积很大,查询性能不好,例如文章、帖子表等
  • 表体积过大,索引过多,造成写入成本很高

以上只是举几个简单的例子,这几个场景下,都是不允许删除数据的。

Zebra-MergeTable希望通过通过对表进行水平拆分的方式解决这些问题

目标:

  • 灵活的配置化拆表
  • 透明的拆表逻辑,在上层看来,仍然在操作一张表
  • 常用函数支持
  • 高效的结果合并、排序、运算

以下是我们暂时不会考虑的:

  • 独立于语言(暂时只支持PHP)
  • 复杂运算,例如去重、平均数等(分布式运算难题)