資料作り完了
4時に寝て8時に起きた。夜に資料作りに集中していたので家に帰ってきたのが3時頃で、くつろいだりアニメみたりしてから寝た。遅くに帰ってきてもすぐに寝るわけじゃなくて、だらだらして実際に寝るまで1-2時間はかかる。こういうところ、生活が堕落していて改善していくべきなのかもしれない。良かったこととして、ウォーキングのせいか、夜はよく眠れた。
みんなの Python 勉強会の資料作り⌗
昨日の続き。一晩寝てから最後の仕上げをした。時間を置く、とくに一度寝てから資料を洗練させると改善点があちこち出てきてより良いものになっていく気がする。午前中に主催者に連絡したものの、午後になってから思い付いたことをちょくちょく修正したりもした。オンラインの資料だと、先方に連絡した後でも微修正できるところがよい。業務の資料だとさらに2-3日かけて洗練させていくけど、勉強会の資料だからこれでいいかな。タイトルはすごく気に入っているというわけではないけど「本と学びの段階」とした。ひとまず完成したので自分のやりたいことに取り組める。
神戸市長選⌗
神戸市は衆議院選挙とは別に市長選挙も一緒にあった。神戸市長選 によると、投票率は53.79%で439,749 (67.7%)の得票を得た現職の市長が完勝した。3回目の当選になるらしい。私が神戸に戻ってきてから初めての市長選挙だった。起業してから手続きなどで行政が身近になったことから関心をもつようになってきた。自分ごとで考えるというのか、どんなものでも身近なことは関心をもつのかもしれない。
データ指向アプリケーションデザイン⌗
9.2 線形化可能性を読んだ。
線形化可能性 とは、データのコピーが1つしかなく、そのデータに対する操作がすべてアトミックであるかのようにシステムにみせることを指す。古くなったキャッシュやレプリカからの値ではないことを保証する、最新性の保証(recency guarantee) と言える。トランザクションの章に出てきた 直列化可能性 とはまったく異なる。直列化可能性が保証するのは、複数のトランザクションが何らかの順序で実行された場合に同じ結果になることを保証するもの。
あと「役に立たない CAP 定理」というコラムもおもしろい。CAP 定理とは次の3つはすべて成り立たず、2つを選択することを強いる。
- 一貫性(Consistency)
- 可用性(Availability)
- 分断耐性(Partition tolerance)
CAP 定理は歴史的にデータベースのトランザクションのトレードオフについての議論の出発点として引用され、有名な定理ではあるが、分散データベースの研究者の中では1970年代から知られていたことであったらしい。そして、ネットワークを介した分散システムは、分断耐性が必須 (ネットワークが切断しないことはないから) であることから一貫性か可用性のどちらかを選択するしかない。ここで一貫性とは線形化可能なシステムを実装することだが、これはパフォーマンスのデメリットが大きい。そのため、現代の多くの分散データベースは線形化可能性を提供しないことを選択しており、結果として可用性と分断耐性を選択することになっている。したがって、CAP 定理から議論を始めることは無意味であると言う。