zaki blog


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に偏り、全体的なリソース不足が生じる可能性があります。

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