对于一个项目,我们正在与几个外部合作伙伴合作。对于项目,我们需要访问他们的MySQL数据库。问题是,他们不能这样做。他们的数据库托管在一个托管环境中,他们没有太多的配置可能性。他们不想让我们访问他们的所有数据。因此他们提出的解决方案是联合存储引擎。
我们现在为每个数据库表都有一个表。问题是,我们获得的数据量巨大,将来甚至会增加。这意味着我们的数据库上执行了大量插入操作。对我们来说,最佳解决方案是拦截所有传入的MySQL流量,对其进行处理,然后将其大量存储。我们还考虑使用像redis这样的东西来存储数据。
另外,我们计划从不同的合作伙伴处获取更多数据。他们将以不同的方式为我们提供数据。因此,使用redis可以让我们将所有数据放在一个地方。
将数据存储在mysql数据库中后,将数据复制到redis不是一个选项。我们只是无法处理那么多插入,我们需要尽可能快的数据。
TL; DR 有没有办法假装成MySQL服务器,以便我们可以直接处理通过联合存储引擎收到的数据?
我们还考虑过将黑洞引擎与二进制日志结合使用。因此,传入的数据只会被写入二进制日志,并且不会存储在数据库中。但是,性能仍将受到磁盘I / O的限制。