【发布时间】:2016-08-14 10:21:06
【问题描述】:
我正在开发一个云平台,我想存储文档和视频文件。
第一个概念是将 MongoDB 用于简单文档和大型视频文件 cassandra。但是我已经读过,如果文件大于 64 MB,我会遇到 cassandra 的问题。
另一方面,mongoDB 有允许文件大于 100MB 的 GridFS。
我已将 mongoDB 与 Java 连接起来。开始时数据库为 80MB,当我将 GridFS 的 1.80GB 视频文件插入 MongoDB 时,我希望数据库能够捕获 1.9GB 磁盘空间,但它捕获了 6GB .... 文件大小的 3 倍。
这是我使用的代码:
MongoClient mongo = new MongoClient("localhost", 27017);
DB db = mongo.getDB("testdb");
DBCollection table = db.getCollection("user");
String newFileName = "Video";
File videoFile = new File("e:\\Magnificent.mp4");
GridFS gfsText = new GridFS(db, "video");
GridFSInputFile gfsFile = gfsText.createFile(videoFile);
gfsFile.setFilename(newFileName);
gfsFile.save();
另外,在运行应用程序并将文件保存到 mongodb 后,以下文件将创建到 DB 文件夹中。请注意文件的大小:
第一个问题是为什么它会占用这么多磁盘空间??
第二个问题:有没有机会使用 cassandra 来存储 500MB-1GB 的视频文件???
感谢您的建议
【问题讨论】:
标签: java mongodb cassandra mongodb-java