Mongoアーキテクチャ

based on v10

MongoDBは2つの重要なコンポーネントがあります。  一つが、mongod プロセスで、コアデータベースサーバです。  多くのケースで、mongod はmysqldと似た自己完結型のシステムとして扱われます。   別のマシン(そして別のデータセンタ)に置かれたmongodは、片方からもう片方へレプリケーションすることができます。

もう一つが、MongoDBプロセス(mongos)で、auto-shardingの機能を持っています。  mongosは、複数のmongodプロセスを一つのデータベースクラスタとするための"データベースルータ"のようなものと考えられます。  詳しい情報は、 sharding を参照してください。

データベースキャッシュ

リレーショナルデータベースでは、オブジェクトのキャッシュは通常別の機能になっています(memcachedなど)。これは、RAMページキャッシュにヒットした場合でさえ、リレーショナルデータベースでは非常に高価なオペレーション(joinが要求されることもあり、またデータをオブジェクト表現に変換する必要もある)なので理解できます。

Mongoは(あるケースで)、このオブジェクトをキャッシュするレイヤーを省略できます。データベース内のオブジェクトの表現と、アプリケーションのメモリでの表現がとても近いので、クエリー結果のRAMキャッシュは非常に有効です。

また、MongoDBは、どのレベルへもスケールしますし、オブジェクトのキャッシュとデータベースは統合され提供します。これは、キャッシュからデータを取得する際にリスクがないので、とても便利です。加えて、DBMSが提供する複雑なクエリも可能です。

Next: [Mongo Concepts and Terminology]


Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.

IF YOU HAVE A QUESTION, POST IT TO THE USER GROUP.

These pages are fine for comments, but for questions, your best bet will always be the MongoDB User Group.

blog comments powered by Disqus