データベース
 Computer >> コンピューター >  >> プログラミング >> データベース

MongoDBの実験的なプラガブルストレージエンジン

MongoDBの実験的なプラガブルストレージエンジン

先月のMongoDBWorldで、MongoDBの創設者でCTOのEliot Horowitzは、2.8リリースが予定されているプラ​​ガブルストレージエンジンのサポートを発表しました。これは、mongoユーザーが自分のワークロードに最適なストレージエンジンを選択できるようになり、APIがすべてのMongoDB機能を完全にサポートするように計画されているため、現在の機能を放棄する必要がないため、エキサイティングなものです。楽しい。それだけでなく、同じレプリカセット内のノードは、さまざまなストレージエンジンを使用できるようになり、さまざまなニーズに対応するあらゆる種類の興味深い構成が可能になります。

MongoDBが完全にオープンソースであることの素晴らしい点は、これらの非常に実験的な機能を試すために2.8が実際にリリースされるまで待つ必要がないことです。 MongoDBソースコード全体をGitHubから複製し、コンパイルして、現在作業中の実験的な機能を含めることができます。

以下の例では、MongoDBの世界で紹介されているrocksdbのサンプルストレージエンジンを使用してmongoを構築する方法を示します。

新しくインストールしたCentOS6.5クラウドインスタンスから始めて、基本的な依存関係を取得します。

$ yum groupinstall 'Development Tools'
$ yum install git glibc-devel scons`

次に、GitHubからMongoDBソースコードを取得します:

$ git clone https://github.com/mongodb/mongo.git

あとは、RocksDBサポートを有効にしてソースをコンパイルするだけです。

$ scons --rocksdb=ROCKSDB mongo mongod

または、-jオプションを使用して、使用する並列ジョブの数を指定することで速度を上げます。当面の間、コンパイルするシステムを専用にする場合は、マシンのコア数+1が適切な指標になります。のように:

$ scons -j 17 --rocksdb=ROCKSDB mongo mongod

プラグ可能なストレージエンジンのサポートとRocksDBエンジンはこの時点で完全に実験的であるため、エラーが発生してマスターからコンパイルできなくなる可能性が高いことに注意してください。これは、この段階で予想されることです。状況がどのように進んでいるかを監視したい場合は、MongoDBdevメーリングリストから始めることをお勧めします。

コンパイルが完了したら、新しい–storageEngineパラメーターを使用してmongodプロセスを起動する必要があります。

$ ./mongod --storageEngine rocksExperiment

そして最後に、単純なドキュメントを接続して挿入し、db.stats()を使用して、すべてをテストできます。すべてが計画どおりに進んだ場合は、RocksDB統計がパイプで返されるはずです。

ご覧のとおり、実験的な機能を有効にして起動して実行するのはかなり簡単です。プラグ可能なストレージエンジンのコードが進歩し、2.8リリースに近づくにつれて新しいエンジンが発表されるのを見るのはとても楽しみです。


  1. MongoDBのスペース使用量を理解する

    MongoDBを初めて使用する方にとって、MongoDBのスペース使用量は非常に混乱しているように思われるかもしれません。この記事では、MongoDBがスペースを割り当てる方法と、ObjectRocketダッシュボードのスペース使用量情報を解釈して、インスタンスを圧縮する必要がある場合や、インスタンスで使用可能なスペースを増やすためにシャードを追加する必要がある場合を判断する方法について説明します。 まず、単一の5GBシャードで構成される新しいMediumインスタンスから始めましょう。このインスタンスに「ocean」という名前のデータベースのテストデータを入力します。テストデータを追加し、い

  2. MongoDBの実験的なプラガブルストレージエンジン

    先月のMongoDBWorldで、MongoDBの創設者でCTOのEliot Horowitzは、2.8リリースが予定されているプラ​​ガブルストレージエンジンのサポートを発表しました。これは、mongoユーザーが自分のワークロードに最適なストレージエンジンを選択できるようになり、APIがすべてのMongoDB機能を完全にサポートするように計画されているため、現在の機能を放棄する必要がないため、エキサイティングなものです。楽しい。それだけでなく、同じレプリカセット内のノードは、さまざまなストレージエンジンを使用できるようになり、さまざまなニーズに対応するあらゆる種類の興味深い構成が可能になりま