1

MongoDB を使用して、何百万行もの RAW データ (複数の異なるファイル) にアクセスしたいと考えています。

MySQL を使用している場合、これらの RAW データを MySQL テーブルにインポート/変換する必要があり、これは非常に時間がかかります。

私の質問は、MongoDB を使用する場合、それらの RAW データを MongoDB データベース コレクションにインポート/変換する必要があるかということです。これを行う必要がある場合、MongoDB を使用する利点は何ですか? 時間節約?

MongoDB を使用して RAW データに直接アクセスすることは可能ですか?

MongoDB を使用して apache ログ ファイル (access_log) にアクセスする友人がいます。しかし、彼が access_log ファイルのデータを MongoDB に変換したのか、accesss_log ファイルに直接アクセスしたのかはわかりません。

私はまだMongoDBの概念に混乱しています

ありがとうございました

4

1 に答える 1

2

MongoDBはデータベースであるため、実際には「生ファイル」ではなくデータを保存するように設計されています...

ファイルに「直接」アクセスするには、はい、ファイルをMongoDBにインポートする必要があると思います(ただし、これは非常に簡単です)。

GridFS

MongoDBには、 GridFS「MongoDBに大きなファイルを保存するための仕様」と呼ばれる種類のファイルシステムがあります。

デフォルトでは、MongoDBにはドキュメント(MongoDBでのデータの保存方法)に4 MBの制限があるため、GridFSはより大きなファイルを保存するように設計されています。

たとえば、コマンドラインツールを使用すると、ファイルをインポートするのは1行だけです。

$ ./mongofiles put myfile.txt

または、GridFSをサポートする多くの利用可能なドライバーの1つを使用できます。

またはファイルを保存しないでください...

もちろん、ファイルをインポートしたくない場合は、ファイルの場所(ファイル名とパス)を実際に任意のDBに保存することもできます。

ただし、友達がapacheログファイルをMongoDBに保存しているのではなく、ログ(データ)自体をMongoDBに保存しているようです...

より詳しい情報

GridFSの使用方法について詳しくは、http: //learnmongo.com/posts/getting-started-with-mongodb-gridfs/をご覧ください。

于 2010-12-18T08:43:41.200 に答える