タグ

mongodbとclusteringに関するkanbayashiのブックマーク (3)

  • インデックス - Docs-Japanese - 10gen Confluence

    based on v49 インデックスはクエリーのパフォーマンスを(とても)向上させます。有効なインデックスを定義するためには、アプリケーションが必要とするクエリについてよく知ることが大切です。それさえできていれば、MongoDBでインデックスを作成するのは簡単です。 MongoDBのインデックスは、MySQLのようなRDBMSのインデックスと概念的に似ています。MySQLでインデックスを付けたいような場所に、MongoDBでもインデックスを付けることになるでしょう。 基 インデックスは、コレクションの中のドキュメントの特定のフィールドの値について集めたデータ構造です。このデータ構造はMongoのクエリオプティマイザによって、コレクション内のドキュメントを、素早く検索したりソートするために使われます。正式な言い方で言うと、インデックスは"B-Tree"で実装されています。 シェル 上で、

  • バックグラウンドでのインデックスの作成 - Docs-Japanese - 10gen Confluence

    スレーブとレプリカのセカンダリーはあるバージョン(最新を含む)ではすべてフォアグラウンドでインデックスのビルドを行ないます。そのため、 background:true がプライマリで実行されても、 slave/secondary では、インデックスがビルドされている最中はクエリを実行できません。 デフォルトでは、 ensureIndex() 操作はブロックを行ない、完了するまで同じデータベース上での操作を停止させます。しかし、 バージョン1.3.2以上では、バックグラウンドでのインデックス作成のオプションがあります。 バックグラウンドでインデックスをビルドするには、 background:true をインデックスオプションに付けてください。 例: > db.things.ensureIndex({x:1}, {background:true}); > db.things.ensureInd

  • 第31回 RubyistのためのMongoDB入門(1) | gihyo.jp

    はじめに ここ最近、NoSQLというキーワードが注目を集めています。 リレーショナルデータベースは、一般的にスケールアウト(サーバの台数を増やして性能向上を図る手法)が難しく、特に大規模サービスにおいてパフォーマンス上のボトルネックとなりえます。また、タグやグラフ構造のようなデータは関係モデルに馴染みにくいため、それらを扱う際にはアプリケーションコードもぎこちないものになりがちです。 これらの問題を背景に、何にでもリレーショナルデータベースを使うのではなく、用途に応じてKVSなど他のデータストアを選択する流れが広まりつつあります。このムーブメントがNoSQL(Not Only SQL)と呼ばれているものです。 今回は、NoSQLなデータベースの1つであるMongoDBをご紹介します。 MongoDBとは MongoDBは高いパフォーマンスとスケーラビリティを特徴とするドキュメント指向型デー

    第31回 RubyistのためのMongoDB入門(1) | gihyo.jp
  • 1