当数据不适合内存时,适用于Erlang应用程序的数据存储后端
我正在研究如何为Erlang应用程序组织数据存储的可能选项。它应该使用的数据基本上是由短字符串id索引的大量二进制blob集合。每个斑点都在10 Kb以下,但其中有很多。我希望它们的总体尺寸可达200 Gb,所以很明显它无法适应内存。对此数据的典型操作是通过其id读取blob或通过其id更新blob或添加新的blob。在每个给定的时段,仅使用一部分ID,因此数据存储访问性能可能受益于内存缓存。谈到性能 - 这非常关键。目标是在商用硬件上(例如在EC2 VM上)每秒进行大约500次读取和500次更新。
有什么建议可以在这里使用吗?据我所知,dets是不可能的,因为它仅限于2G(或者它是4G?)。 Mnesia也可能毫无疑问;我的印象是它主要是为数据适合内存的情况而设计的。我正在考虑尝试使用EDTK的Berkeley DB驱动程序。它会在上述情况下起作用吗?有没有人在类似条件下的生产中使用它的经验?
没有找到相关结果
已邀请:
5 个回复
邦绊门蔽惩
赐黄
青董据零
马口
搜洼挂时