orangeitems’s diary

40代ITエンジニアが毎日何か書くブログ

デジタルはアナログでもある

 

三井住友銀行の先日の障害について、原因がはっきりしたらしい。

 

xtech.nikkei.com

一部設定の不備に伴い、国内の勘定系システムとATMチャネル間の中継システムにおいて処理時間が長くなったことが原因だった。同行は5月1日にプログラムを修正し、システム上の対応策を講じる。

 

処理時間が長くなる、ということを深く考えると興味深い事実に突き当たる。

データは0と1の寄せ集まりだが、それらをあるコンピューターがその中のメモリーに読み込む。このとき、光のオンとオフがネットワークケーブルを通じて、データが保管されているストレージの箱から運ばれる。

細かく見ていくと、デジタルだって結局はアナログに変換されるのである。デジタルというのは論理的な話であって、物理的には磁力や電力の類にならざるをえない。物理界で説明しうる物体じゃないと、世界に留まることができないからだ。

0と1を代替しうる物体が器から器へ運ばれたり、それを計算機が計算して別の0と1に返還しまた、別の器に入れたりして、絶え間なく物理変換が行われているのがコンピューターだ。

だから、大きすぎるデータは、別の場所にコピーするのにたまらなく時間がかかる。今回のようにプログラムに問題があっても、計算するための時間が必要になり、その結果遅延、ということになる。

そもそも、時間、という概念すらアナログの概念だ。デジタルの世界でも「コスト」と表現されることがある。計算資源がたくさん必要になったり、メモリーが必要で会ったり、もしくはネットワークの転送に時間がかかったりといろいろだ。やりとりするコンピューターの位置が離れていると影響を受ける。インターネットや専用の閉域光回線の登場で大変大きな帯域でやり取りをすることができるようになったけれど、肝心の運ぶデータの大容量化も止まらず、コストを考えないインフラ設計は今でもありえない。

よく、クラウド化すれば、という話があるが、この辺のコスト意識を巨大なインフラによって考慮の優先順位を下げることができるというのが要因になっていることが多い。ただやってみればわかるが、結局はクラウドもオンプレをWebで抽象化したに過ぎず、裏側の物理的なことを意識して設計しないと、痛い目に遭う。例えば同じリージョンの別々のアベイラビリティーゾーンにてサーバーを立て、全然その間の距離を考えないでデータ同期などしようものなら、大量更新が走った時にふんずまってしまうことを経験したことがある。Webの管理画面上には同じ表にサーバーが並んでいるんだけど、存在するデータセンターをつないだら何十キロも離れている。その間をそんなに簡単にデータを右から左へ、とはいかない。

デジタル概念自体は触れることができないので、重さを感じることはできない。しかし、データの塊であるストレージサーバーに触れたらわかるが、何百キロという存在である。ストレージサーバーのデータセンターへの搬入・サーバーラックへの設置は命懸けだった記憶がある。つまり、デジタルであっても究極的にはアナログである。大量データは重い。大量の計算も重い。この重さを感じることこそが、デジタルを扱い大きな問題を引き起こさない鍵であると思う。