一个好的blobstore/memcache解决方案

2024-04-29 14:50:54 发布

您现在位置:Python中文网/ 问答频道 /正文

在Linux云服务器上设置数据仓库挖掘项目。主要语言是Python。在

希望使用此模式查询数据和存储数据:

  • SQL数据库-SQL数据库用于查询数据。然而,SQL数据库只存储需要搜索的字段,而不存储数据本身的“blob”。相反,它在a键值Blobstore中存储一个引用该完整“blob”数据的键。在
  • Blobstore-键值Blobstore用于存储实际的“文档”或“Blobstore”。在

我们面临的问题是,我们希望更频繁访问的数据块自动存储在RAM中。我们计划用Redis来解决这个问题。但是,我们希望有一个解决方案,它会首先自动尝试从RAM中获取数据,如果在RAM中找不到数据,那么它就会转到blobstore。在

有没有一个好的库或现成的解决方案可以使用而不必自己动手?此外,任何对拟议建筑的评论和批评也将不胜感激。在

非常感谢!在


Tags: 数据项目文档服务器语言数据库sqllinux
2条回答

与其使用Redis或Memcached进行缓存,再加上一个“blobstore”包在磁盘上存储东西,我建议您看看Couchbase Server它确实能满足您的需要(即从内存中提供热blob,但仍将它们存储到磁盘)。在

在我工作的公司中,我们通常使用您描述的模式(即在关系数据库中建立索引,再加上blob存储)来存储我们的归档服务器(数TB的数据)。当写入blob的I/O保持顺序时,它工作得很好。blob永远不会被重写,只是简单地附加在文件的末尾(对于归档应用程序来说这很好)。在

其他国家也采用了同样的方法。例如:

任何SQL数据库都可以用于第一部分。Blobstore也可以通过使用CBF获得,基本上是“现成的”。这是一个新的项目,建立在CouchBase2.0的基础上,但它似乎正处于相当活跃的开发阶段。在

CouchBase已经尝试在检查磁盘之前从RAM缓存中提供结果,并且完全分布式以支持大型数据集。在

CBFS在其上放置了一个文件系统,并且已经有一个为它编写的FUSE模块。在

由于filesttem实际上是最小的公分母,因此从python访问它应该非常容易,并且可以减少需要编写的自定义代码的数量。在

博客帖子: http://dustin.github.com/2012/09/27/cbfs.html

项目存储库: https://github.com/couchbaselabs/cbfs

相关问题 更多 >