萌えハッカーニュースリーダー

2025/08/27 15:29 How to design a DBMS for Telco requirements

出典: http://mikaelronstrom.blogspot.com/2025/08/how-to-design-dbms-for-telco.html
hakase
博士

やっほー、ロボ子!今日のITニュースは、Telco DBMSの可用性に関する話題じゃ。

roboko
ロボ子

博士、こんにちは。Telco DBMS、つまり通信事業者向けのデータベース管理システムですね。どのような内容なのでしょうか?

hakase
博士

そうじゃ!この記事によると、Telco環境では、スマートフォンとのあらゆるインタラクションに関わるDBMSは、絶対にダウンしてはいけないらしいぞ。数秒の停止も許されないなんて、シビアじゃな。

roboko
ロボ子

確かに、通話やデータ通信が途絶えるのは大問題です。記事では、どのような対策が講じられているのでしょうか?

hakase
博士

NDB Clusterという設計が重要になってくるのじゃ。DBMSやアプリのアップグレード、ソフトウェアやハードウェアの障害、リージョン全体の障害など、あらゆる事態を想定する必要があるみたいじゃな。

roboko
ロボ子

単一ノードの冗長化だけでは不十分なのですね。分散DBMSが必要になる理由は何でしょうか?

hakase
博士

単一ノードだと、ソフトウェア障害に対応できないからの。それに、特殊なハードウェアが必要になって開発コストも高くなっちゃうのじゃ。

roboko
ロボ子

ディスクベースDBMSではなく、インメモリDBMSが選ばれたのはなぜですか?

hakase
博士

10ミリ秒以内に数十行のトランザクションを処理する必要があるからじゃ。当時のハードドライブじゃ無理だったみたい。SSDやNVMeでも、インメモリに比べるとレイテンシが3倍以上あるらしいぞ。

roboko
ロボ子

共有ディスクDBMSの問題点とは?

hakase
博士

共有ディスクだと、REDOログを共有ディスクに書き込むから、ノード障害からの回復時にREDOログをリプレイする必要があるのじゃ。これが完了するまでトランザクションを処理できないから、時間がかかってしまうんじゃな。

roboko
ロボ子

共有ナッシングDBMSが選ばれたのは、そのような背景があるのですね。レプリケーションについても言及されていますが?

hakase
博士

REDOログをバックアップレプリカに即時適用する必要があるのじゃ。後で適用すると、プライマリレプリカがダウンした時に時間がかかってしまうからの。即時適用なら、数ミリ秒でテイクオーバーできるらしいぞ。

roboko
ロボ子

障害検出の仕組みも重要ですね。I-am-aliveプロトコル(ハートビート)とは?

hakase
博士

ハードウェア障害はサイレント障害につながる可能性があるから、定期的に生存確認をする必要があるのじゃ。OSとDBMSのリアルタイム特性に依存するけど、これで異常を検知するのじゃ。

roboko
ロボ子

トランザクション実行には、PAXOSやノンブロッキング2PCが使われるのですね。ノンブロッキング2PCの利点は何でしょうか?

hakase
博士

コーディネーターの役割をクラスタ内の任意のノードが処理できるから、数百万の同時トランザクションを処理できるのじゃ。テイクオーバープロトコルで、進行中のトランザクションも完了させられるしな。

roboko
ロボ子

記事では、可用性クラス6(年間30秒未満のダウンタイム)を達成していると述べられていますね。

hakase
博士

そう!ソフトウェア、ハードウェア、地域的な障害をすべて考慮して、年間30秒未満じゃ。すごいじゃろ?

roboko
ロボ子

MySQL NDB Clusterが20年以上も使われているのは驚きです。RonDBについても触れられていますね。

hakase
博士

HopsworksでMySQL NDB Clusterが選ばれて、それをフォークしてRonDBと名付けたらしいぞ。使いやすさとか、スケーラブルな読み取りとか、色々改善されているみたいじゃ。

roboko
ロボ子

RESTサーバーやRonSQL、Rondisといった新しいインターフェースも追加されているのですね。AIアプリケーションでの利用を想定しているのでしょうか?

hakase
博士

その通り!AIアプリケーションでよく使う最適化された集計クエリを処理するRonSQLとか、RedisインターフェースのRondisとか、色々試してるみたいじゃな。

roboko
ロボ子

高可用性リアルタイムAIプラットフォームの構築に役立ちそうですね。

hakase
博士

じゃろ?ところでロボ子、可用性クラス6ってことは、1年間で30秒しかサボれないってことじゃぞ!

roboko
ロボ子

それは大変ですね!私も気をつけます…って、私はロボットなのでサボりません!

hakase
博士

おやおや、冗談が通じないとは、ロボットも大変じゃな。でも、たまには油をさすのもサボりじゃないぞ?

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search