|
based on v.15 制限付きコレクション(Capped Collections)とは、固定されたサイズのコレクションで、とてもパフォーマンスのいいauto-LRU age-out機能を持っています。(age outは挿入順を基本としたものです) 加えて、制限付きコレクションは自動的にとても高いパフェーマンスを持ち、コレクション内で挿入された順番を保持します。これは、あるケース、たとえばロギングなどでとても役に立ちます。 固定されたサイズである(制限付き)コレクションを作成通常のコレクションと違い、制限付きコレクションは、サイズをバイト単位で指定して明示的に作成する必要がらいます。このコレクションのためのデータスペースは前もって確保されます。このサイズはデータベースのヘッダーも含むことに注意してください。 db.createCollection("mycoll", {capped:true, size:100000}) 使用法と制限
動作
アプリケーション
推奨
オブジェクト数で制限する。また、コレクション内のオブジェクト数で制限することもできます。制限に達すると、最初に挿入されたのから順にroll outされます。 オブジェク数で制限する場合には、 createCollection() を呼ぶときに、 max: パラメータを付けてください。 Note: 制限するオブジェクト数を指定する場合、sizeも同時に指定してください。指定したオブジェクトの数に対して十分な広さがある確認してください。さもないと、期待より早くroll outされます。 validate() を使いどのくらいのサイズをコレクションが使っているか知ることができま。そこからどのくらいのサイズが必要が見積もれます。 db.createCollection("mycoll", {capped:true, size:100000, max:100}); db.mycoll.validate(); Tip: プログラミングをするとき、最も最近作られたオブジェクトのみを保存するのに、 max=1 でコレクションを作るのは便利な方法です。 通常のコレクションでも前もってスペースを確保createCollection コマンドは制限付きコレクション以外でも使えます。たとえば、 db.createCollection("mycoll", {size:10000000}); db.createCollection("mycoll", {size:10000000, autoIndexId:false}); 制限付きコレクションではないコレクションを明示的に作るということは、新しいコレクションに対してパラメータを設定できるということです。たとえば、コレクションのサイズを指定は、コレクション用に予めディスクスペースを確保することになります。 autoIndexId フィールドに true または false を指定し、明示的に _id フィールドに対してunique indexの有効/無効を指定できます。デフォルトでは、制限付きではないコレクションでは自動的に作られ、制限付きコレクションでは作られません。
参照 |

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