在Linux云服务器上设置数据仓库挖掘项目。主要语言是Python。
想使用此模式查询数据和存储数据:
我们遇到的问题是我们希望更频繁访问的数据blob自动存储在RAM中。我们计划使用Redis。但是,我们想要一个自动尝试从RAM中获取数据的解决方案,如果它无法在那里找到它,那么它将进入blobstore。
有没有一个好的库或现成的解决方案,我们可以使用而无需自己动手?此外,任何有关拟议架构的评论和批评也将受到赞赏。
非常感谢!
答案 0 :(得分:3)
我没有使用Redis或Memcached进行缓存,而是使用“blobstore”包将内容存储在磁盘上,我建议您查看Couchbase Server,它可以完全满足您的需求(即从内存中提供热点blob) ,但仍然将它们存储到磁盘上。)
在我工作的公司中,我们通常使用您描述的模式(即在关系数据库中建立索引,加上blob存储)来存档服务器(TB级数据)。当写入blob的I / O保持顺序时,它运行良好。 blob永远不会被重写,而只是附加在文件的末尾(对于归档应用程序来说很好)。
其他人也使用了同样的方法。例如:
答案 1 :(得分:1)
任何SQL数据库都适用于第一部分。 Blobstore也可以通过使用cbfs获得“现成的”。这是一个基于couchbase 2.0构建的新项目,但它似乎处于非常活跃的开发阶段。
CouchBase已经尝试在检查磁盘之前从RAM缓存中提供结果,并且完全分布以支持大型数据集。
CBFS将文件系统置于其上,并且已经为其编写了一个FUSE模块。
由于fileststems实际上是最低通用分母,因此从python访问它应该非常容易,并且会减少您需要编写的自定义代码的数量。