我应该使用什么分布式数据存储来可靠地存储网络较差的节点集上的数据?
我想要的东西:
- 不期望现在所有节点都是可达的,包括支持离线操作;
- 最初将数据存储在本地,但最终(当网络良好且更多节点在线时)将其传播到必要的其他节点;
- 面对节点加入和离开网络具有良好的自动重新平衡和修复能力;
- 处理容量差异很大的节点,只在小节点上存储小且优先级高的东西;
- 对本地节点进行特殊对待:“我的”数据总是首先存储在本地节点上,然后备份到其他节点。
大多数解决方案(如 Tahoe-LAFS 或 GlusterFS)似乎都或多或少地期望一组稳定的节点保持在线并与良好的网络连接,并且没有延长的计划停机时间。是否有特殊的分布式存储期望节点定期离线?