菊池修治(193)24この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。こんにちは、菊池です。Indexes(部分インデックス)を試してみました。IndexesNOSQLであるMongoDBでも、クエリに対する応答性能を向上させるためには、いかにI/Oを減らすがが重要となります。RDBと同様に、インデックスを使ってコレクションの全走査をできるだけ発生させないのが有効な手段となります。むやみにインデックスを付与するとIndexが肥大化してメモリを圧迫し、結果的にDiskへのI/Oが増加するという問題もあります。3.2で追加された部分インデックスを使うことで、あらかじめクエリで絞り込む条件が明確な場合には、インデックスのサイズを抑えることが可能です。Manualインデックス作成時に条件を設定することで、インデックスの作成対象をコレクション内の全ドキュメントではなく、一部のドキュメントに限定することができます。付与できる条件は以下の通りです。true$gt、$gte、$lt、$lte$type$andやってみた部分インデックスの有無、条件の一致/不一致による実行計画を確認してみました。テストデータを投入します。});この時点ではインデックスは生成されていません。これに対して、まずクエリの実行計画をみてみます。Scanで全走査を意味します。それでは部分インデックスを作成します。今回は、ageが30を超えるドキュメントに対して、useridにインデックスを作成します。1}>作成されました。先ほどと同じクエリの実行計画をみてみます。1}>このクエリでは、検索対象が全ドキュメントのため、先ほどの部分インデックスは利用できません。部分インデックスの範囲に含まれる、ageが40を超えるドキュメントを絞り込む条件を加えた場合のクエリを見てみます。"IXSCAN"となりました。これはインデックスを使った検索を実行することを意味します。同じように絞り込み条件を入れても、部分インデックスの範囲を超える場合には以下のようになります。"COLLSCAN"となりまずので、この場合は全走査となってしまいます。3.2で追加された部分インデックスを紹介しました。ワークロードからあらかじめクエリの絞り込み条件を指定できる場合には、インデックス量削減のために有効な機能かと思います。リモート】クラスメソッドの会社説明会を開催しますクラスメソッドでは、AWS・AI・ビッグデータ・モバイルなどの技術職や営業のメンバーとして一緒にお仕事をする仲間を大募集しています。#cmdevio新型コロナウイルスの感染拡大を受け、本イベントを延期させていただくことになりました(開催時期未定)。お申し込みいただいた皆様には大変申し訳ございませんが、何卒ご理解いただけますようよろしくお願いいたします。AWSについてライトに色んな情報交換をしましょう。カフェ店長のオカノです。今日はオフィスに用があるので、通勤ラッシュを避けて出社しました。この子は新メンバーのさめくんです。在宅勤務が推奨されているのでオフィスが閑散としており、すこしさみしそうです。夏目祐樹147こんにちは、CX事業本部の夏目です。MacのタッチバーのタッチIDが非常に便利なのですが、Terminalでsudoを叩かないと行けないときに使えたらなぁと思ったので、情報を共有します。タイトルがすべてなのですが、社内で「登壇勉強会」が開催されたので、「登壇は最強の生存戦略である」というタイトルで登壇しました。本が出ていたので読んでみたところよかったので紹介させていただきます。臼田佳祐295ワークフロー自動化OSSのn8nをAWS環境で建てて検証してみました。非常に期待できるサービスです。Fargateの勉強をしています。使ってみたい方は参考にしてください。洋介255SnowflakeがAWSの東京リージョン上で稼働するようになりました。データを日本に置けます。芳賀健233こんにちは!猫様の忠実なるしもべ、芳賀健です。Tokyoで開催されました。カフェ店長のオカノです。クラスメソッド株式会社が運営するAWS・iOS・HTML5に関する技術情報サイトです。