MongoDB概念直接访问文件或访问导入的数据(访问RAW数据)
我想尝试使用 MongoDB 访问数百万行原始数据(多个不同的文件),
如果我使用 MySQL,我必须将这些原始数据导入/转换到 MySQL 表,这非常耗时。
我的问题是,如果我使用 MongoDB,我是否必须将这些原始数据导入/转换为 MongoDB 数据库集合? 如果我必须这样做,使用 MongoDB 有什么好处?节省时间?
是否可以使用 MongoDB 直接访问 RAW 数据?
我有一个朋友使用 MongoDB 访问 apache 日志文件(access_log)。但我不知道他是将access_log文件中的数据转换为MongoDB还是直接访问accesss_log文件。
我仍然对 MongoDB 的概念感到困惑
谢谢
I want to try to use MongoDB to access large millions of rows of RAW data (multiple different files)
If I use MySQL, I have to import/convert those RAW data to MySQL tables which is really time consuming.
My questions is that, If I use MongoDB, do I have to import/convert those RAW data to MongoDB database collections?
If I have to do this, what is the advantage of using MongoDB? time-saving?
Is it possible to access the RAW data directly using MongoDB?
I have a friend who use MongoDB to access apache log files (access_log). But I don't know if he convert the data in access_log files to MongoDB or directly access the accesss_log files.
I'm still confused with the concept of MongoDB
Thank You
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
MongoDB 是数据库,所以实际上它的设计目的是存储数据,而不是“原始文件”...
要“直接”访问您的文件,是的,我想您需要导入 MongoDB
系统
有一个名为 GridFS“在 MongoDB 中存储大文件的规范。”
默认情况下,MongoDB 对文档有 4mb 的限制(如何在 MongoDB 中存储数据),因此 GridFS 旨在存储更大的文件。
例如,使用 命令行工具 只需一行即可导入文件:
或者您可以使用支持 GridFS 的许多可用驱动程序之一。
或者不存储文件...
如果您不想导入文件,您当然可以将文件位置(文件名和路径)存储在任何数据库中。
但是,听起来您的朋友并没有将 apache 日志文件存储在 MongoDB 中,而是将日志(数据)本身存储在 MongoDB 中...
更多信息
您可以在此处了解有关如何使用 GridFS 的更多信息:http:// /learnmongo.com/posts/getting-started-with-mongodb-gridfs/
MongoDB is database, so really it's designed to store data, not "raw files" ...
To access your files "directly" yes, I suppose you would need to import the files into MongoDB (however that's pretty easy.)
GridFS
MongoDB has a file-system of sorts called GridFS "a specification for storing large files in MongoDB."
By default, MongoDB has a 4mb limit on documents (how you store data in MongoDB) so GridFS is designed to store larger files.
For example, with the command line tools it's just one line to import a file:
Or you could use one of many available drivers that support GridFS.
Or Don't Store the Files ...
You could of course, just store the file locations (filename & path) in any DB really, if you don't want to import the files.
However, it sounds like your friend isn't storing the apache log files in MongoDB but rather storing the logs (data) themselves in MongoDB ...
More Info
You can learn more about how to use GridFS here: http://learnmongo.com/posts/getting-started-with-mongodb-gridfs/