09 Jan 2023

最近読んだもの 56 - MySQL の通信を HTTP/3 化、現代のデータベースプロダクト など

  • Faster MySQL with HTTP/3
    • MySQL のクライアント - サーバ間通信を MySQL のバイナリプロトコルから HTTP/3 に変えてみてベンチをとったところ速度の改善が見られた
    • High Latency のケース (手元の PC からの接続といったケース) はまだわかるが、Low Latency のケース (同一 DC 内でのアプリケーションサーバと DB サーバとの通信といったケース) でも高速化していたのが興味深かった
    • ちなみに今回の HTTP を話す MySQL サーバ側の実装は Planet Scale のプロダクトのため必要で実装されたものらしい
  • Building a database in the 2020s - me.0xffff.me
    • TiDB 創業者による 2020 の記事で、今データベースシステム (プロダクト) を一から作る場合に求められる要件や考慮点など
    • 2 年経っているが良い記事で、データベースシステムというだけでなく、開発者向けの XXX as a Service を開発する際の勘所が包括的に簡潔にまとまっている
      • Serverless が実現するであろう開発者体験を最終的なゴールにすべき、とか
    • computing と storage を分離させる設計 (Aurora や Alloy DB のような設計) を更に発展させると、データベース管理システムのいろいろなコンポーネント (例えばスキーマ変更、データ圧縮、ロギング、etc…) も分離できるようになっていくという話が面白かった
  • The End of Programming | January 2023 | Communications of the ACM
    • 昨今の AI の進展を受けて、現在のようなプログラミング・CS はもう終わるという話
    • 大きい変化なのはそのとおりだけど、ちょっと感傷的すぎるというか、一旦落ち着いてほしい感じはある
  • H12 - Request Timeout in Ruby (MRI) | Heroku Dev Center
    • 「rack-timeout によるタイムアウトが日に 10 - 20 件以上起こると、レースコンディションが発生している可能性が高い」という経験則が参考になる
  • The Oldest Bug In Ruby - Why Rack::Timeout Might Hose your Server
    • こちらも rack-timeout の危険性について
  • Why Ruby’s Timeout is dangerous (and Thread.raise is terrifying)
    • 同上で Thread.raise 起因のレースコンディションについて
  • Kubernetesで実践するクラウドネイティブDevOps
    • 読み始めたばかりだが 1 章のクラウド => DevOps => コンテナ => Kubernetes という潮流の説明がすっきりしていてわかりやすかった
Kubernetesで実践するクラウドネイティブDevOps
John Arundel (著), Justin Domingus (著), 須田 一輝 (監修), 渡邉 了介 (翻訳)