10章ストレージ、インデックス、レプリケーション
これまでの本書の大部分は、データベースの運用についてでした。データベースの種類はさまざですが、そこに共通するもっとも基本的かつ重要な機能は、データを格納することです。本章では、単一ノードにおいてデータを格納する方法、大規模なデータセットを分割して格納する方法、および複数ノードにおいてデータをレプリケーションする方法について説明します。
本章では、信頼性と運用に重点を置いています。DBREとしてこれらを実現するため、インフラを選択し、パフォーマンス特性を理解し、サービスに適したデータストアを取捨選択できるよう、Martin Kleppman著"Designing Data-Intensive Applications"(O'Reilly、『データ指向アプリケーションデザイン』オライリー)を強くおすすめします。
10.1 データ構造のストレージ
伝統的にデータベースは、テーブルとインデックスの組み合わせでデータを保存してきました。テーブルは主な記憶メカニズムであり、インデックスはアクセス時間を改善するために順序づけられたデータの最適化されたサブセットです。最近では、データサイズの急増もあり、どちらも大幅な進化を遂げています。データがどのようにストレージから読み込まれ、また書き込まれるかを理解することは、ストレージのサブシステム、およびデータベースの構成と最適化をするうえで重要です。
データベースがどのようにデータを格納しているかを理解する場合、生データの格納と取得の両方を考えなければなりません。大規模なデータセットでは、妥当なレベルのレイテンシで特定のデータのサブセットにアクセスすると、そのデータの検索と取得を高速化するために、インデックスと呼ばれる特殊なストレージ構造が必要になることがよくあります。 ...
Get データベースリライアビリティエンジニアリング ―回復力のあるデータベースシステムの設計と運用 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.