2024-09-08 TIL

MongoDB について調べたことメモ

MongoDB のクエリパフォーマンス向上するために、ざっくり知識をつけたい。 次のメモ等を中心に、公式ドキュメント等にたどり着いて情報収集した。

概要

  • lookup や mongoose populate を頻繁に行う場合、embedding の考えに従ってネストした方がよい
    • やりすぎると逆にパフォーマンスが落ちるため、要検討
    • 例)ページ情報を 1 ドキュメントにまとめると肥大化する可能性が高いが、商品+在庫情報は 1 ドキュメントにネストしてもよさそう
  • 全文検索のパフォーマンス改善を行う場合、Atlas Search 等を検討する
  • 基本 lean を利用してパフォーマンス向上を図る(save 等を行わない場合)

MongoDB 系メモ

RDB 系

ついでに気になって読んだスライド

ECS 系

GPT に相談一部抜粋

タスク A に cpu=1024 (1vCPU)、タスク B に cpu=512 (0.5vCPU)を割り当てた場合、タスク A が 1vCPU をすべて使用している間、タスク B が同じ CPU を超えて使用することはできません。その結果、タスク B はパフォーマンスが低下します。タスク B がリソースを確保できなければ、その負荷はタスク A に偏り、全体的なリソース不足が生じる可能性があります。

ハードリミット、ソフトリミットを確認してみた方がよいかも