【ポリグロットえいぞくせい】
ポリグロット永続性 とは?
最終更新:
💡 データの用途に合わせて、保存技術を使い分ける
データの使い方や必要な性質に合わせ、複数のデータ保存技術を使い分ける考え方。一つのアプリケーション内でも、複数サービスからなるシステムでも使える。種類を増やすこと自体が目的ではなく、運用やデータの整合性が複雑になる負担も考えて選ぶ。
📌 このページのポイント
- 複数の異なる保存技術を、用途に応じて組み合わせる
- 単一のアプリ内でも、サービスごとの選択でも使える
- DBの種類や数を増やせば必ず良くなるわけではない
- 運用・学習・データの整合性を扱う負担も増える
何を使い分けるの?
データを保存する技術だよ。例えば関連付けて扱う注文を関係データベースへ、識別子で取得する情報をキーと値の形で保存する仕組みへ、といった選択ができる。これは説明の例で、データの名前だけで最適なDBが決まるわけではないんだ。
なんで全部同じDBにしないの?
マイクロサービス専用なの?
専用ではないよ。一つのアプリ内でも使える。サービスごとに保存技術を選べる設計にも合うけれど、各サービスが別のDBを持つだけで必ずポリグロットになるわけではない。同じ技術を使う設計もあるんだ。
デメリットは?
異なる操作方法や運用を学ぶ必要があるよ。監視や復旧の手順も考える。複数の保存先を更新するなら、一方だけ成功した場合や、情報が食い違った場合をどう扱うかも設計するんだ。
種類を増やすほど良いの?
数を増やすことが目的ではないよ。用途に合う利点と、扱う技術が増える負担を比べて選ぶ。既存のアプリへ導入することもできるけれど、名前の流行や「最新だから」だけを理由に替えないようにしよう。
まとめ:ざっくりこれだけ覚えればOK!
「ポリグロット永続性」って出てきたら「データの用途に合わせて、保存技術を使い分ける」と思えばだいたいOK!
📖 おまけ:英語の意味
「Polyglot Persistence」 = 複数の技術を使い分ける永続化
💬 複数の言語を使い分ける考え方になぞらえた名前だよ。ここではプログラミング言語の数ではなく、データの保存技術の選択を扱うんだ。