Merge MariaDB中没有合并表-非常大的表的选项?

Merge MariaDB中没有合并表-非常大的表的选项?,merge,myisam,mariadb,Merge,Myisam,Mariadb,多年来,我一直在愉快地使用MySQl,并且对MariahDB fork很感兴趣 我的一个项目的服务器即将报废,需要重新托管-可能是CentOS 7,其中包括MariahDB 我担心的一个问题是缺少我广泛使用的合并表特性。我们有一个非常大(至少按照我的标准)的数据集,大约有100M条记录/20GB(大多数数据都经过压缩),而且还在不断增长。我将其拆分为按数据历元组织的只读压缩myisam“归档”表,以及用于当前数据和插入的常规myisam表。然后我用一个合并表跨越所有这些 然后编写针对该数据库的软

多年来,我一直在愉快地使用MySQl,并且对MariahDB fork很感兴趣

我的一个项目的服务器即将报废,需要重新托管-可能是CentOS 7,其中包括MariahDB

我担心的一个问题是缺少我广泛使用的合并表特性。我们有一个非常大(至少按照我的标准)的数据集,大约有100M条记录/20GB(大多数数据都经过压缩),而且还在不断增长。我将其拆分为按数据历元组织的只读压缩myisam“归档”表,以及用于当前数据和插入的常规myisam表。然后我用一个合并表跨越所有这些

然后编写针对该数据库的软件,以确定从哪个表中检索有关时间跨度的数据,如果时间跨度跨越多个表,则查询覆盖的合并表

这为我做了几件事:

  • 查询比较小的表快得多,不幸的是,最典型的查询需要索引,防止重复记录相对比较复杂
  • 当一个查询跨越多个表时,用户无需查询多个表并组装结果
  • 允许90%以上的数据驻留在压缩表中,可以节省大量磁盘空间
  • 我可以备份归档表一次—这在夜间备份时节省了大量时间、带宽和存储
如何在没有合并表的情况下处理此问题的建议?是否有其他表类型提供myisam提供的压缩只读选项


我认为我们可能不得不使用单独的表,并承受额外的复杂性,并更改使用此数据库的多个项目中的所有代码。

MariaDB 10介绍了可以做很多不同事情的。它提供的表类型之一是,这基本上是合并表类型的扩展。TBL CONNECT类型当前是只读的,但是您应该能够根据需要插入到基表中。这可能是您最好的选择,但我对CONNECT引擎总体上不是很熟悉,您需要做一些实验来确定它是否能工作。

谢谢-我正在研究它。似乎MariahDB也处理myisam合并表,只是不处理新存储引擎的合并表。希望尽快启动测试服务器进行测试。