@thorikiriのてょりっき

@thorikiriがWebとかAndroidとかの技術ネタや本を読んだブログです

Webエンジニアのためのデータベース技術[実践]入門 その3

Webエンジニアのための データベース技術[実践]入門 (Software Design plus)

Webエンジニアのための データベース技術[実践]入門 (Software Design plus)

第6章は、トランザクションって何で必要なんでしたっけ?ってところから始まります。途中でエラーが発生した場合にもとに戻すってこともありますし、ロックすることで排他制御が可能になるよというところですね。で、レプリケーションしてるときの安全性についても述べられてて面白いですね。

第7章は、ハードウェア、主にストレージの発展によって、データベースがどうなってきているのかってのが書かれてるんですが、非常に興味深かったです。単に技術的な事ではなくて、読み物としても面白いですね。データベースのボトルネックはディスクIOになるわけで、何故かといえばHDDが機械部品だから。そこで、メモリを沢山乗せた方が良かったし、HDDの容量が増えても、1台であればIO問題は解決しないから、台数を増やしてたりしてたんですね。でも、64bitになって、メモリは増やせるようになったし何よりも非常に安価になった。だから台数は減る方向性になっていったと。そこへ、SSDが現れてと。こうなってくると、ディスクIOはあまり問題にならなくなって、ネットワークの方がボトルネックになるって感じです。興味深いですね。

第8章は、データベースは単体ではあまり価値がないので、アプリケーションと組み合わされます。アプリケーションは作る時ではなく、使われる時に価値を発揮するものなので、運用は非常に大事だよと。運用で困らないためには、シンプルにしなければならないし、ある程度枯れたものでやっていく必要があるけど、そうするとエンジニアとしてはイマイチだから、実験台となるプロジェクトとのバランスは取らないといけないよねって話が前半。後半は問題が起きた時の対応と、対応にもルーチンワーク的なことがあるからそこは可能な限り自動化しておかないと、エンジニアも疲弊しちゃうよねって事ですね。まさにその通りでごもっともです。

今回読んでた範囲は面白いなぁ〜と思いましたね。技術そのものの書籍とかではあまり触れられてないんじゃないかな、と思う内容でした。