#092 RDBを支えるトランザクションとレプリケーションは人間と同じ仕組みで成り立っている…

2022/11/16 ·

  • これはコンピューターの信頼性との戦いの記録であるということでですねオープニング挟まった感じですか?今編集で挟まってないですか?急にここから始まりました?もしかして壮大なNHKみたいなやつそうですねでも実際コンピューターって結構壮大なんですよまあね噂だとそう聞いてますよそうなんですよ特に何が壮大かっていうとコンピューターって



  • 昔すげーしょっちゅうクラッシュしてたんですねすげーしょっちゅうクラッシュしてたんすか多分虫入ったぐらいでぶっ壊れるぐらいありましたねバグの話でね回路とかも安定してないでしょうからね今ほどハードウェア故障やっぱそう実際データってぶっ壊れたらダメな性質のタイプのビジネスっていっぱいあるじゃないですか仮想通貨とか



  • まあ仮想通貨は行き過ぎなんですけどあれですねやりすぎた普通に銀行とかですねあの口座の残高とかもね結局データですよね確かにそうてかあと他にも普通に数字とか間違えてたらやばいじゃんっていうのはいっぱいあるじゃないですかビジネスとしてアマゾンとかのねコカコーラ1本150円のはずが1万5000円になってたら切れますねダメでしょうん切れるそうなのでコンピューターには非常に信頼性っていうのが求められるわけなんですけどうん



  • これはですねデータベースという非常に信頼のおけるコンピューターあるんですがこれがどういう仕組みで成り立っているのかっていうのを



  • もうすっごくわかりやすく解説する回でございますおっと?えっとデータベースがしっかりと動く上の本当の中の仕組み?そうですねあれですか?じゃあもう本当にセレクト文とかっていう話じゃなくではなくデータベースがなぜ信頼性のあるデータを担保し続けられるのかというほー



  • 戦いの記録である戦いの記録なんだ戦いの記録なんですねはいじゃあなんかあのいわゆるですよ基本情報とかITパスポートはデータベースあるんですかちょっと知らんすけどいや俺取ったのちょっと7年前とかなんでわからんすねまあなんかそこではねリレーショナルデータベースが非常にねアシッドっつってねお出た出たまあなんか要するにデータ矛盾しないように頑張ってますっていう話なんですけどはい



  • それなんか表面の特徴みたいな感じで学ぶんですがどうやってんのっていうのは正直学ばないのでそこではその辺がなんか学べるとそういうことですねこれあれですかじゃあ学ぶとデータベースが可愛く見えてくるみたいなめちゃめちゃ可愛いっすマジっすかマジで猫猫?猫ほぼ猫ほぼ猫うん



  • ほぼ猫はやばいですねほぼ猫ですねあれはそうなんだほぼ猫なんだ猫ですねこれ聞くとデータベースが猫になるとすごいです可愛いです可愛いんだということではい



  • 主にさっき言ってくれたようにデータベースの中でもリレーショナルデータベースっていうタイプのデータベースについてのさらに深掘りしてトランザクションに焦点を当ててお話ししていこうかなと思いますのでトランザクション?トランザクションって?まずはRDBとは何かっていうとこから軽く説明していきますありがとうございます今日は順平いないんで優しくいこうと思いますそうですねということでリレーショナルデータベース何かっていうとはい



  • めっちゃ簡単に言うと表形式でいろんなデータを保存しているタイプのデータベースですよく使われているのだとRDBMSって呼ばれているRelational Database Management Systemの種類で言うとMySQLとか聞いたことある



  • ポストグレスポストグレスQLあれちょっとね発音俺若干曖昧なとこあるんですけどあのポストグレSQLなのかポストグレスQLなのかちょっと分かってない確かにまあポストグレと言われてるやつとかまあSQLiteとかあーきどうだですねあとまあ有料製品とかだとあれですかね



  • オラクルとかSQL ServerとかDB2とか知らんなんでそれそんなんですねIBMかな確かはいはいはいっていうのはいろんなRDBのシステムがあると思うんですけどはい



  • これはですねすごい画期的な発明でいろんなデータを自由自在に取り出せるしすごい柔軟に保存できるしかつすごい容量も容量いいというか効率いいんですよ実はあれそうなんですねたくさん入るんですねテーブルで分割してるじゃないですかユーザーとかカンパニーとかですねそう



  • 今日は別に深掘りするつもりない部分なんですけど正規化って言ってさ無駄なく設計するじゃないですかテーブルをテーブル設計であれは何て言えばいいんだろうな簡単に言うと無駄なく重複なくみたいな繰り返しなくみたいな効率よくデータを管理する上でのデータ整理テーブル整理



  • 手法そうですねあれをちゃんとやってることによって入ってるデータの量の割に繰り返しが減らされてるんですごい省エネなんですよ実は確かに言われてみればそうかも何も考えないで使いやついっぺんに入れてると重複データとか生まれますからねそうなんですそういうのも削れてるしすごい効率のいいサービスですよと中でもね



  • 今回のトランザクションっていうところがですね非常に素晴らしいんですよトランザクション日本語で言うと



  • 手続きですびっくりした調べてないのかと思った手続きです見切り発車で日本語で言うとっていうかと思った手続きって言われてもって感じなんでちょっとこれを詳しく説明していくとお願いします一連の処理例えばですけどよく事例で使われるのが銀行口座で送金をしましょうってなったとAさんからBさんの口座に1000円を移すっていう処理をしたいとするじゃないですか



  • やりたいですねそういう時って何するかっていうとAさんの口座から1000円を引いてBさんの口座に1000円を追加すればそういうことになりますよねと結果としてAさんから1000円を引いてBさんにも



  • 増えてるから送ったことになるよねって言う そうですねただ少しそのさっき言ったコンピューターよくクラッシュするよねっていうところにちょっと問題があって 確かにはいもし a さんの口座から残高1000円引いた後にコンピューターがクラッシュすると a さんがただ損しただけになるんですよ確かになんならなんかそのせい日本から消滅することになりますね そうです日本の損失ですはいはいはい



  • なのでそういうのを絶対なくしたいと確かにいうために使われるのがトランザクションっていうので要はその複数の処理っていうのを一個にまとめちゃって全部が完了するかもしくは全部失敗するかのどっちかの状態にしてるやつがトランザクションですねすごいなそれ絶対ないんですね



  • 絶対ありませんすごいですね世の中に絶対がないと言われるこの世の中でも絶対大丈夫ですすごいトランザクション一つエッジケースを上げるなら世界中のコンピューターが同時に全て消滅したらダメになりますエッジケースってちなみに何ですかレアケースですレアケースですね先端って意味ですけどね氷山の一角的な意味ですねそうですはいはいはい



  • トランザクションは要するにデータベースを操作するその一連の流れ全て一下りか話でいう一下りを



  • DVでいう一下りをトランザクションって言うんですねそうそうそう話でいう一下りですストーリーって全部まとまってこそ一個のストーリーですよねと一個ずつ聞いても何も意味ないんですよ結論だけ聞いてもダメなんですよ全部聞かなきゃっていうのがトランザクションですと余計わかんなくなったなまあ大丈夫かまあ大丈夫でしょう皆さんならさっき言ってくれたようにアシット特性って言って難しいのがあるんですけど3?3?3星の3?惜しいっす惜しい



  • どっちかというとアルカリ性なんでそうなんだアルカリ電池のイメージから言っちゃいました



  • はいこれはですねあのいろんな言葉の頭文字とってアシットって言ってるんですけどはいこれ言っても難しくなるだけなんで確かにわかんない用語は減らした方がいい簡単に言うと本当に独立してるよねっていうのを表している特性なんですよはい一個一個のトランザクションって独立してるよねみたいなうんうんなんですがそれはまあわかりやすいサイトを見てくださいと確かにうん



  • いっぱいありますからね試験にも出ますからこんなそうなんですこのトランザクションの中でですね3つ



  • 知っておきたい概念がありますアシットって4個ですよねそのうちの3つアシットはもうやらない忘れた掘り返しちゃいましたトランザクションがどういう風にして一貫性というか全部の手続きを完了させるよっていうのは担保してるかっていうこの3つの作業があります3つの作業というかアクションかな工夫1つはコミットもう1つはロールバック



  • ロールバック最後がロックロックでコミットっていうのは何かっていうと作業が完了した時にやるやつですねこの作業もう完了しましたよっていう目印をつけるみたいな終わったよっていうハンクをポンって押すみたいなねそういうことですね



  • ロールバックは途中で失敗したら全部巻き戻すよっていう機能です切り戻しってやつですかねロックっていうのがさっきのAさんとBさんの話に戻るんですけどAさんがBさんに送金をしようとしましたとってなった時に例えばAさんがまず口座から減りましたと1000円がその直後ですよ本当にたまたまなんですけどBさんがアカウント削除しましたとってなったらAさん



  • 悲しみますよね悲しみ1000円がどっか行くって話じゃなくて感情的な話ですか悲しみますよね悲しいは悲しいかもしれないですね払ったことにならないのかな多分ロールバックの機能によって戻ってくるんですけど虚しい気持ちになりますよねだけどこのロックっていうのがあると今回関係あるリソースデータをロックかけるんですよだから何かやってる途中に



  • 別の処理が割り込んでこない状態にできるというかっていうのをロックって言いますよとまずはこのトランザクションはこの3つの作業があると思ってくださいなるほどちょっとロック重ねていいですかAさんとBさんとCさんがいますAさんからBさんに1000円送りますとでBさん側の処理で残高1000円じゃないな残高1万円が1万1000円になりますと



  • よっしゃじゃあ1万1000円に書き換えようとしてる瞬間にCさんがBさんに1000円送りますCさんがBさんに送った時もゴールとして1万1000円を目指していきます確かにっていう処理が同時に走った場合に2000円送られてるはずが結果として1万1000円になります1000円がどっかに消えます



  • ブチギレ案件みたいなね絶対そっちの例の方がいいこれは典型的なロックの話ですねそういうことなんだなるほどねそういうことが起きますよとなのでこのロック的なのも大事ですよと大事そうですねでもこのトランザクションめっちゃむずそうじゃないですかいやもうだって単語がむずそうでもこれ実はめちゃめちゃ簡単な仕組みでできてるんですえ?だってDBが簡単にできてるって言ってます?トランザクションかトランザクションが簡単にできるとできます



  • てか簡単ってどういうことですか簡単にできますっていうのは裏側の仕組みは実はめちゃくちゃシンプルなんですよなんか小学生でもできる的な大学年ならできるかもしれないじゃあ義務教育レベルですねまあそうですねちょっと聞かないとあんま実感わからないですね教えてあげましょうちょっと聞きますはいということでこの実はトランザクションってどういう仕組みでやってるかというとはいトゥードゥリストでやってるんですよん?



  • 人間も使いますよねトゥードゥリストやることをバーって書いていってできたらチェックするやつですねそうですトランザクションがやってることってまずそのトランザクションが開始したらトゥードゥリスト作りますよと例えばさっきのAさんBさんの例で言うとAさんの口座から1000円引く1個目ですね1000円引くというよりも例えば1万円あったら1万円から9000円にするみたいな1万円あったら9000円にすると



  • レビィさんの講座の1万円を1万1000円にするとはいはいはいっていうのがトゥードゥリストの内容ですとはいはいっていうリストをまず作るんですよはいなんかDB参加するとなんかやることがはっきりして予想そうですねそうですであとはもう実行しますと順番にはいはいで実行が完了したらあとはそのトゥードゥリストを消すっていううんうんうんうんだけです



  • ちょっと待ってくださいはいなんか変わりますかこれなんか作業間違えちゃうかもしれないからトゥードゥリスト用意してあげるみたいになってますよ今えっとですねまずなんでこれが必要なのかっていうところなんですけどはいコンピューターでクラッシュしたら前何やったか覚えてないんですよまあそうですね確かに新しい自分みたいに積まれてきますねそうはいなんですけどまずトゥードゥリストがあると前何やってたかが分かるおーなるほどそうあー



  • あれですね本当に博士が愛した数式の博士みたいなちょっと見たことない前日寝たら記憶を失っちゃうおじいちゃんみたいなのがいて次の日の自分に向けたメモをずっと取り続けててみたいなそれそれそれそういうことがまず起きますよとだからトゥールリストさえあればまず何実行すべきかが分かるんですよ途中で復活してもそうかつえーっと



  • データベースで実はべき等性っていうちょっと性質があってわー日本語はむずいですね漢字すら思いつかない日本語はむずいんですけど要は一個の作業をやるじゃないですかそのやった後の結果って何回やっても同じだよねみたいな感じですね例えばじゃあ9000円にするっていう作業があるとするじゃないですかでもこの9000円にする作業って何回やっても9000円のままなんですよ



  • 1回実行しようが2回実行しようが9000円になりますよねちょっと今聞いてて思うのは1万円から1000円引いて9000円だと思ってたら2回やったら8000円になりそうじゃないですかこれは言葉のあやです言葉のあや1000円引くっていうよりも9000円にするっていう処理をしてます相対的というよりは結果としてこうなるってことをやるからだからじゃあ



  • 1万円から9000円引いたら9000円なのそうですともともと9000円の状態から9000円にしても9000円のままですみたいなことなんですねっていうことが起きますとなので何回実行してもいいんでまず1回寝てしまって起きて記憶ないでもこのトゥードゥリストを実行すれば大丈夫っていう状態にするんですねはいはいトゥードゥリストあるからとりあえずやれば間違いないっていう状況なんですねそうですで全部完了したらもうトゥードゥリストを破棄しますと



  • はいはいはい破棄されてればこのリストはもう実行済みだってことが分かるんで別にぶっ壊れてもいいですよねその後確かにこれでもうトランザクションが完成ですさあここでさっきの3つの処理当てはめていきましょうとおースッキリできそうまずコミットコミットトゥードゥリストの破棄です



  • 破棄がコミットなんですね要はもう全部to do全部やったよポイがもうコミットですね作業完了したよっていう仕事となのではいはいはいはいでロールバックはそのto doリストがあった時にうんもう一回実行し直すかそれともそのto doリストに書いてある逆のことをするかのどっちかですねうんうんうんうん



  • 逆のことってどういうことですか例えばトゥードゥリストに1万円から9000円にするっていうのがありましたとだとしたら9000円を1万円にするっていう処理をするわけですねこれがねロールバックですねロールバックロックは



  • さっきには出てこないんですけど実はやってる時に守られてますよっていう神の加護みたいなちょっと待ってくださいどうなってんすかロックはロックはそのトゥードゥリストには出てこないんですけど邪魔されませんよっていうのがまた別の機構で起きてるわけですねだから厳密には3つのうち2つまでしか言えませんよということではあります後で回収されるのかな



  • されませんされないんですね要するにトゥードゥリストで触っているAさんのお金の部分とBさんの口座となったお金の部分この2つがこのトゥードゥリストが発行されている時は誰も触れなくなっているってことなんですかねそういうことですそれがロックですかそれがロックですはいっていうので実はこれだけでトランザクションが成り立ってしまうわけですね



  • なんか簡単ですね確かにやってることでもさ人間と一緒じゃないバイトみたいな感じですよねマニュアルみたいなのがあってこれ手じゃあこれ通りやればいいんですね野里さんこれ最初朝の点検で決まってるからチェックリストされて頭からポンポンポンってやって行って途中で通り前に刺されて記憶を失って帰ってきて



  • 途中まで埋まってるけどまあ最初からやればいいかーつってそうそうそうそうそれですまさにってやってるのがトランザクションなんですねそういうことですロールバックってどういう時に使うんですかいいとこに踏み込みました踏み込んじゃいましたはいえっとはいこれはですねデッドロックっていうのがかかった時に必要なんですよプロレス技ですかいやデッドロックはねプロレス技じゃありません



  • これはねコンピューターRDBのどうしても起きてしまう問題なんですけどロックって例えば他の処理で使うとするじゃないですか同じリソースを他の人も他の処理でAさんの講座どんだかBさんの講座どんだか使う場合そうそうそうロック待ちってのをするんですよ



  • ロック待ち僕も使いたいよって時にロックかかってたら待っちゃうんですねそれを順番守って偉いですねなんですけどデッドロックっていうのはお互いがお互いを待っちゃう状態のことを言っててAさんの講座を使いたいよとでもAさんは今Bさんの講座使いたいんだけどBさんの講座ロックされてるから待ってるんですよでも



  • Bさんも実はAさんの口座使いたくてうんAさんの口座使いたいからロック待ってるんですようんうんていうのでお互い待っちゃってて永遠に解決しない状態っていうのはデッドロックと言いますとはい



  • っていう時に使いますロールバックはその時に何が起きるかっていうと定期的に実はRDBってデッドロック起きてないかどうかをチェックしてるらしいんですよでデッドロックかかってんの見つけたら片方ロールバックして片方実行完了させてもう片方ロールバックした方をもう一回実行するみたいなことをするらしいんですねっていうので使うそうですロールバックは



  • AさんとBさんお互いにお金を送ろうとするとお互いに自分の口座をロックして1000円引いた9000円に変更するっていう命令が走った後に送ろうと思ったらAさんはAさんの口座使ってるしBさんは自分のやつ使ってるからお互いに送れーんっていうこれあれですねあの



  • 大変ですねと大変ですねとRDBMSさんが天の声として君ロールバックしなさいって言ってこればかりは神の手があるんですね介入しないといけないですねっていう3つですねただこのトランザクションだけだと信頼性っていうのは完璧には獲得できません信頼性って何ですか



  • 今回のテーマでいうと信頼性はまず一貫性というか整合性取れてるかどうかっていうのと消えないかどうかですねまず整合性が取れてるかどうかでいうとこれはトランザクションによって解決しますなぜならトランザクションは間違ったトランザクション作ったら解決しないんですけどちゃんと作れば整合性あった状態になりますよねとさっきみたいに1000円消費しないですよね



  • 一連の下りで正しく処理が行われるのが整合性取れてるっていう言い方をしていてそうですデータがちゃんと残るかどうかっていうのは単純に何が起きてもデータ消えないかどうかっていうところですね保全性



  • 違うか保存して言うからねか完全性とかっていうなぁそっちだはいなんかであった セキュリティー系ですかねそうですはいだけどトランザクションだけだと整合性のところは完結できるんですけどそんな気しますね その消えないかどうかってどこができないんですよなんか機械がぶっ壊れたら消えそうじゃないですかその通りなんです 機械がぶっ壊れたらデータ消えてしまうんですとはいなので



  • そこでそれに立ち向かうために生まれたのがレプリケーションというものがありますちょっと待ってくれ機械が壊れても大丈夫だって言ってるんかいそうだぜジョニーとんでもないなサムまあそういうことだサムもそう思うサムの一人称サムなんだ珍しい珍しいな



  • フワちゃんと同じちょっと待って何の話したか忘れたレプリケーションですレプリケーションは簡単に言うと名前の通りなんですけどレプリカっていうだけあって同じものをいっぱい作ろう作戦ですねバックアップ的なねこれであれば例えばそのPCにたまたま隕石が落ちて粉々に吹っ飛んだとしても別のデータベースに残ってるからいいよねっていう状態を作ることをレプリケーションって言いますとただですね



  • レプリケーションするとデータベースって非常にさっき解決したはずの不整合の部分がすごく合わせるのめんどくさいんですよいやそうですよね今聞いててすっと思うのはレプリケーションじゃない方が本体だとしたら本体でそっちをマスターというかいつも使ってるやついつも使ってるやつの方書き換わってるけど



  • レプリケーションの書き換わってない状態の時に本体が死んだらレプリケーションに不利法が残りそうそれは残るかもしれん近かった話のツボが近かったそれは残るかもしれんそこじゃなかったんだなもしかしたら偉大な技術によって解決してる可能性あるけどそこはね解決できてないかもしれない今回の話はすいませんそれで言うと多分そうだと思いますじゃあどこだどこだ話のポイントははいこれはですねはい



  • 不整合が起きる可能性がありますよっていうのは例えばデータベースじゃ3つに分散してるとするじゃないですかデータベース3つはいでもその3つのコンピューターって全部全く同じスペックとは限らないですよね確かにそうですねだから例えばですけどマスターのデータベースは作業完了できるけど1個だけもう容量限界数って更新できない可能性とかもあったりしますよねありますねはいはい



  • っていうようなタイプの不正語が今度起きるようになるんですよなるほど確かにただですねここも実は解決するためにすごいシンプルなテクニックを使ってますとマジでどうやって解決できるのかわからないですこれはね



  • これはでもさっきのトランザクションとあんまり変わらないと変わらないんですけどちゃんとそれぞれのデータベースに対して今からこういうトランザクションを行うけど大丈夫そう?って確認するんですよおー事前確認全部の確認が取れたらやっちゃえってやるっていうだけなんですよすごいシンプル人っぽそうデータベースは



  • 猫じゃなくて人なんですいやし猫なんじゃないんかい 人なんですよ猫落ち期待したのにやってることあーもなんか会社っぽいですよね本当になかったあの作った人はそういうアイディアなんでしょ本当に人間こうやっていけるからいけるしろみたいなそう本当にそんな感じで作られててへー こんな複雑な仕組みの裏にこんな人間らしい動きが潜んでいるそして



  • それをうまくやることによってデータベースっていうのは圧倒的な信頼感を持ってもう世界中で使われまくってるというわけなんですねなんかあれなんですかね例えば今のレプリケーションの話ありましたけど最初のトゥードゥリストトランザクションの話の場合でもトゥードゥリスト作った時点で容量足りんぞってなったらダメってなってトゥードゥリストを実行することなく終わったりするみたいな感じなのかもしれないですねああそうだねその通りですねうんうん



  • なんならロールバック1回実行してロールバックとかしてる可能性ももしかしたらあるかもしれない作業効率とか考えたら結局使うと複雑じゃないですかでも裏側というか突き詰めて分解して分解して分解していくとそういう地道な



  • 人同士でやるみたいなそうですねトゥードゥリストだってね忘れないようにメモしてるだけだしこのレプリケーションも予定合わせるに近いよね電話で明日いけるみたいないけるいける



  • 明日無理だわって言ったらさっきOKだった人に明日やっぱ無理だったわまた別の日決めようってそういうことだもんねっていう風に本にも書いてます仲良しですね一人来なかったけどまあいいかはないんですねそうなんです全体の整合性をとって圧倒的な信頼感を稼いでいるのがこのRDBですよという今日はそういう話でしたありがとうございます



  • なるほどなこのリレーショナルデータベースは本当にすごくてですね登場したの1970年代とかなんですよ確かえ?1970年?それが未だに現役バリバリで活躍しているというかすごいな70年は論文科なんかってこと?コット博士がコット博士?はい作った年から分かんないけど



  • どうなんだろうな興味あるなでも多分コンピューターないでしょあるのかなコンピューターはあるんじゃないコンピューターは確か1950何年とかなんですげーじゃあDBもありそうだなそうでもRDBができたのがそのぐらいのタイミングいまだにほとんどのウェブサービスで使ってないサービスなんか多分ないでしょないは言い過ぎですけど今ならねもしかしたらダイナモだけでやってるとことかあるかもしれないけど



  • でも大体のケースにおいてRDBが向いてるよねってなると思うんでやっときゃ間違いないですからね完成されてたんだな最初からそうなんですよまだ100年は経ってないですけどでも50年経ってんのはすごいよめっちゃすごいハードウェアも超進化してるのに50年後に絶対リアクトないもんだよね多分ね本当にあるかもしれないですけどねわずかにっていうところですごく



  • 長く使われる技術なんでぜひ今回のでRDBちょっと面白そうじゃんって思った人はねぜひなんかいろいろ深掘りしてってスキルつけたら一生食っていける力になるんじゃないかなって思いますねデータベーススペシャリスト的ななるほどな大きいアプリケーションこそデータベース非常に重要になってくるんでじゃあなんかここからはマイSQL SQL文叩くたびにもなんか



  • なんだデータベース君はわートゥードゥリスト作らなきゃこっちのテーブルからこれ引いて9000かな9000こっち1000引いたからこっちじゃ1万1000円だなよしトゥードゥリストできためっちゃアホそうそのデータベースめっちゃアホそう間違えたもう一回やり直さなきゃポチポチポチポチポチ



  • おもろそうですねっていう感じでやってるシーンを思い浮かべてみるとすごいデータベースに愛着湧いて愛着湧きますね学習しようってなるかもしれないですねそうですね本当になんか無駄にレプリケーションとか作りたくなっちゃいますねですねデータベース一人だと寂しいかなーつってそろそろやり取りしてんなーと予定合わなかったーうちのシステムのDB一人だとかわいそうなんでそろそろあのもう2台ぐらい追加したらいいんじゃないですかやばいやつだよ



  • こいつデータベースをなんか生き物だと思ってた仕組みを知るとねやっぱそういうとこが



  • 見えてきますからいいですねでも実は今回のお話参考文献が重くそあるんですけど重くそまあまあまああってよかったですなかったら怖いです以前お話しした1年目のエンジニアこれ読めのやつの世界で最も強力な旧のアルゴリズムっていう本の中の1個にデータベースって章があってそこでちょっとこれについてお話しされてるんですねじゃあこれは世界で最も強力なここの



  • ココナッツのアルゴリズムの一つそうですトップ9トップ9に入っててあれどっちかというとトランザクションに集中してないでRDB全体の話してるんですけど今回はその中のトランザクションとあとレプリケーションのところを抽出してお話してるって感じですね



  • いやー興味あるその本マジでその本の目的がやっぱりその裏側の仕組みを知ることによって少しでも触るときに愛着が湧くようにっていうコンセプトの元の本なんで今まさにその目標を達成された感がありましたいや達成しましたねだってねコンピューターがぶっ壊れてももはやもう愛おしく感じるかもしれないそうだねおっとウルリストだけは支出しなきゃー



  • うわぁメモリがいっぱいでよく分かんなくなっちゃったよしよしロールバックしようかそうそうそうそうまぁでもねそのちょっと偏見ですけど光線とかの人たちだとそういうバグとかも可愛いやつめって言って対応しますねそうなんだはい



  • その感覚に近づけると思います近づけますね仕事が楽しくなってますね間違いない他のやつ気になるなあと8つこういうのが増えるんですよね8つもあるよこういうのがいいな他も話せそうなやつあるんですよね他もね色々面白そうなのがあります個人的には誤り訂正符号が好きなんですけど



  • まずだってそもそもさっきも言ってましたけどクラッシュとかって身近じゃないじゃないですか普通にコンピューター使ってるとただサービス運用してるとまあまああるっすよあるねで誤り訂正不合についてはネットワークの話なんですけどネットワーク上で起きてることなんて誰もつゆ知らずですよいやほんとねコンピューターってこんなに通信の時ミスってんのって思ったそうそうそう



  • それはねじゅんぺいにも教え込んでやりましょうよ ok うんじゃあちょっといつか誤り訂正不合の美しさを話したいと思いますいやー大期待これは大期待ですねっていうので9エピソードもいけんなそんないけんのこれ全部話せるってこと?9のアルゴリズムだからまあ確かにちょっと全部が適切な内容かはちょっと知らないですけどまあでもいや普通に聞きたいよ普通に9つ聞けるなら聞きたいっすうん



  • いけるやつといけないやつあるわですよね面白そうなやつだけかいつまんで聞きたいですということで今日はRDBの信頼性を支えているアルゴリズムについてのお話でしたありがとうございましたではまた次回バイバイ



  • ちょっとやりとりしたい人はメール気軽に送りたい人はGoogleフォームツイートお願いします詳細は説明欄を見てくださいポッドキャストのフォローコメント評価してくれるとバカ騒ぎしますそれではまた次回

0:00 33:16

#092 RDBを支えるトランザクションとレプリケーションは人間と同じ仕組みで成り立っている…