我将使用Xodus存储时间序列数据(每天插入100-500万行。)
我看到Xodus在后台创建并删除了很多.xd文件。我读到了有关日志结构设计的内容,但我并不清楚是否在每次事务提交时都创建了文件。每个文件是否代表整个数据库的快照?有没有办法禁用交易(我不需要它)?
通过在不同商店之间分割数据,我可以获得任何性能优势吗?我可以将每个指标存储在单独的商店中,而不是使用一个带有多键的商店。现在,我每天都要创建单独的商店
答案 0 :(得分:1)
.xd
个文件实际上并不代表某些交易。这些文件是有序的,因此可以将它们视为无限的记录日志。每个事务都会写入更改和一些元信息,以便检索/搜索已保存的数据。任何.xd
文件都有其最大大小,当到达时,将创建新文件。
无法禁用交易。
基本上,在不同商店之间分割数据可以提供更好的性能,至少商店越小,GC在后台运行的速度越快,越平滑。对数据进行分片的方式定义了检索数据的方式。如果不同分片中的数据完全解耦,则在不同环境中存储分片甚至更好,而不是单个环境的存储。这也将物理隔离不同分片中的数据,而不仅仅是逻辑上的。