我正在管理一个mysql服务器,它有几个大表(>500gbx4个表)。每个表都有类似的属性:
所有表都有一个timestamp列,它是主键的一部分
它们永远不会从中删除
它们只在插入后的短时间内更新
大多数读取发生在过去一年中插入的行上
很少,但偶尔阅读时间较长
我们有几年的历史(行),我们积累行的速度正在加快。现在这些表都存储在磁盘上,每个磁盘一个文件。主机上的磁盘即将用完,虽然我们可以购买更多的磁盘空间,但我更希望有一个可扩展的策略来处理不断增加的数据。
由于以前的记录从不写入,也很少更新,所以我希望有一种方法可以使用timestamp列将这些大表中的每个表分散到多个文件中,作为分离记录的一种方法。任何文件对应的记录超过一年,我想保持在一个网络文件共享。这样,服务器就可以继续使用它们,并且我们可以限制本地1岁以下数据所需的磁盘数量。
我对在多个文件中拆分表的好处(tm)还有一些进一步的希望,但我们还是把它放在这里吧。
接下来的问题是
这是个好主意吗?
如何在mysql中做到这一点?我对其他存储技术持开放态度。
编辑:如果这种方法不是一个好主意,那么有哪些替代方法可以满足避免单主机存储限制和保持db客户机可以访问完整数据集的双重目标?
暂无答案!
目前还没有任何答案,快来回答吧!