要拥有包含图像和视频的大型数据集,我想使用Apache Xindice。关于Apache Xindece的WWW很少有教程和指南。如何在Apache Xindice中存储图像和视频文件? Apache Xindice是否适用于stroe大量数据?是否有任何最新的存储库可以存储XML格式的大量数据(非SQL类型的数据库。应该保存TB大小的数据)?我可以使用MongoDB存储大型数据集吗?
答案 0 :(得分:0)
我建议使用GridFS文件系统在MongoDB中存储外部文档(图像/视频,XML文件)。 GirdFS集合由两部分组成:存储二进制数据的块集合和文件集合,其中包含有关文件的信息,包括客户定义的元数据。来自FAQ:
在某些情况下,存储大文件可能会更有效 MongoDB数据库,而不是系统级文件系统。
如果您的文件系统限制了目录中的文件数,则可以 使用GridFS根据需要存储尽可能多的文件。什么时候想保留 您的文件和元数据会自动同步和部署 系统和设施的数量。
在地理位置使用时 分布式副本集MongoDB可以分发文件及其文件 元数据自动到多个mongod实例和 便利。
当您想要访问部分信息时 没有必要将整个文件加载到内存中的大文件,你可以 使用GridFS调用文件的各个部分而不读取整个文件 进入记忆。
对于大型数据集,可以对GridFS进行分片(参见http://docs.mongodb.org/manual/core/sharded-cluster-internals/#sharding-gridfs-stores)。
为了快速传递GridFS数据,有ngnix(ngnix-gridfs)和Apache(mod_gridfs)的模块。另请参阅http://nosql.mypopescu.com/post/28085493064/mongodb-gridfs-over-http-with-mod-gridfs以进行快速比较