「データ指向アプリケーションデザイン」読書メモ
個人的に気になったポイント抜粋。
1章 信頼性、スケーラビリティ、メンテナンス性に優れたアプリケーション
パフォーマンスの表現
- p15 レイテンシとレスポンスタイム。レイテンシはリクエストが処理を待っている時間
- p15 レスポンスタイムの計測には平均値を用いるのは良くない。より良いのはパーセンタイルを使うこと。中央値は50パーセンタイル。略してp50。
- p16 外れ値がどれほど悪いかを知るには最も大きなパーセンタイル値を見ること。一般的には95、99、99.9(略してp95 p99 p999)、大きなパーセンタイルのレスポンス値はテイルレイテンシとも呼ばれる
- p17 パーセンタイル値の実際、レスポンスタイムのデータを集計するための正しい方法は、ヒストグラム同士を加算すること
メンテナンス性
- 運用性、単純性、進化性(拡張性、修正の容易性、プラスティシティ)
進化性 変更への配慮
2章 データモデル とクエリ言語
2.1.1 オブジェクトとリレーショナルのミスマッチ
2.1.3 多対一と多対多の関係
2.1.5 今日のリレーショナルデータベースとドキュメントデータベース
- p42 データ間の関係性が強い場合、ドキュメントモデルは扱いにくい×、リレーショナルモデルは許容範囲△、グラフモデルが最前○
- p45 CoddもJSON概念。非単純ドメインと呼称
- p45 宣言型と命令型。関係代数(relational algebra)
- p48 CSSは宣言型、JavaScriptは命令型
- p49 Map Reduceは宣言型と命令型の中間のどこかに位置する
グラフ型のデータモデル
- p52 プロパティグラフモデルとトリプルストアモデル