20 Jun 2021

最近読んだもの 5

記事

  • Things I Wished More Developers Knew About Databases | by Jaana Dogan | Medium
    • データストアに関するいろいろなトピック。各論が列挙されている感じだけどいい内容で面白かった
    • トランザクション分離レベルの話とか、分散システムでネットワークやタイムスタンプが信用ならない話とか、そういう データ志向アプリケーションデザイン で出てきそうなちょっと理論寄りの話から、トランザクションがネストしないようトランザクションを開始するレイヤーを決めておくとか、性能検証のコツとか、実運用の話まであり、筆者の高い力量が垣間見える
    • 面白かった
      • トランザクション分離レベルは SQL 標準で定義されている 4 つよりも更に細分化できるよという話
        • データ志向アプリケーションデザイン筆者の プロジェクト も登場していた
      • オートインクリメントな pk がベストではないケース
        • 分散環境にあるデータストアの場合 (分散システムでシーケンスを生成するのは大変)
        • パーティションアルゴリズムに pk を使うデータストアで、シーケンシャルなことで偏りが生まれる場合
        • シーケンシャルな番号以外で pk になりうるカラムがある場合 (計算の分が無駄になる)
      • 性能検証はシビアなワークロードでやったほうが良いという話
        • 例えば、50M 行あるテーブルに関連レコードを伴う INSERT、平均 500 人友達が居るグラフで友達の友達までを取得、500 フォローしているタイムラインの上位 100 レコードの取得、など