石原さとみショックの裏で東証のシステム障害・一体何が起きたのか

どうも乙pyです

昨日、石原さとみショックの裏(て言うか前ですけどね)で
東京証券取引所のシステム障害が発生し
株取引が全面停止になるという事象が発生しました

東証のシステム障害が気になったのでまとめてみました

# 東京証券取引所にシステム障害発生

東京証券取引所は2020年10月01日
システム障害の影響で取引を終日取りやめ
各拠点の証券取引所も停止

午前9時の取引開始から全銘柄を売買できない
大規模障害は2005年11月以来約15年ぶり

前回は午後1時30分に復旧したので
障害の規模は今回のほうが大きいと見られる

終日売買停止は、全面的にシステム取引に移行した
1999年5月以降で初めて。

その後10月02日には復旧し、取引が再開されている

## 株式売買システム「ａｒｒｏｗｈｅａｄ(アローヘッド)」

今回障害を起こしたと見られているのは
富士通と東証が共同開発した株式売買システム
通称アローヘッド

参考：
[富士通 arrowhead](https://www.fujitsu.com/jp/vision/customerstories/tokyo-stock-exchange/index.html)

[日経XTech](https://xtech.nikkei.com/atcl/nxt/column/18/00001/03114/)

2019年11月5日に刷新し最新のもので運用をしている模様
従来のものとの大きな違いは処理能力が大きく向上している

|処理能力|従来システム|新システム|
|:--:|:--:|:--:|
|注文応答時間|0.3ミリ秒|0.2ミリ秒|
|情報配信時間|1.0ミリ秒|0.5ミリ秒|

システムには富士通製のサーバー`PRIMERGY`を
400台ほど使っているとみられる

参考：

[富士通：東証の株式売買システム「arrowhead」をバージョンアップ](https://pr.fujitsu.com/jp/news/2019/11/5.html)

## システム障害の原因はどこか？

原因：
1.基本的な情報などを格納するディスク内のメモリーが故障
2.バックアップに切り替えたが切り替わらなかった

`アローヘッド`では、銘柄名や基準値などの基本情報を
格納しているディスクが2つあり`共有ディスク装置`と呼ばれている

今回は午前7時4分に1号機のディスクの故障を検知し
2号機に自動的に切り替わるはずだったがうまくいかなかった

参考：

[日経：東証売買停止](https://www.nikkei.com/article/DGXMZO64506130R01C20A0EA2000/)


## どういうシステムなのか

開発の経緯は`publickey`さんのサイトの記事がありました。

2005年くらいから刷新を考え、2007年から本格開発
開発には500名以上のメンバーが関わっているそうです。

2010年1月から本番稼働をしているようですね。

銘柄ごとに機能分散し、ハードディスクを使わず
すべてインメモリデータベースを使うことで
`2ミリ秒レベル`の高速性を実現しているとあります

また3台のサーバで同期コピーを行うことで
信頼性を確保しているそうです

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/379626/5a4868a4-26f9-cf3e-44ad-6c1166824a48.png)

arrowheadのシステム概要
（出所：東京証券取引所）


参考：
[ : publickey](https://www.publickey1.jp/blog/11/arrowhead_innovation_sprint_2011.html)

## なんでクラウドじゃ無いのか

2010年当時だと、世間的にはクラウドはあまり
一般的ではなかったでしょう

加えてこの東証のシステム要件には
クラウドでは絶望的なハードルがあります

`売買の注文の受付を10ミリ秒以下`
`情報配信のレイテンシを5ミリ秒以下`
`信頼性は99.999％以上の可用性の確保`

株取引の世界では`高頻度取引(high-frequency trading,HFT）`
が世界中で行われています

この高頻度取引の取引間隔が約1ミリ秒と言われていて
これに対応する取引システムを作るとなると
通常の機材やインフラでは対応出来ないことになります

インメモリ型のデータベースであれば取引データを
数ミリ秒程度に収めることができると分かり
特注で専用のサーバーから設計して開発したと思われます

2010年当時では
注文応答時間を従来の数秒から`5ミリ秒`へ短縮
株価や気配情報の配信に要する時間を`3ミリ秒`に短縮

2020年現在は
注文応答時間`0.2ミリ秒`
情報配信時間`0.5ミリ秒`
とさらに高速化されています。

直接の開発費130億円
稼働後5年間の費用を含め300億円に達するそうです

参考：

[arrowhead─処理速度や拡張性を高めた東証の新株式売買システム](https://it.impress.co.jp/articles/-/7597)

## 障害の責任は?

東京証券取引所は2020年10月1日夕方に記者会見を開き
システム障害で取引が終日停止した問題について謝罪

東証の`宮原幸一郎社長`は、この事態について
`「責任の所在は、市場運営者としてわれわれに全面的にある」`
と述べた

また`「富士通に対する損害賠償は現時点で考えていない」`
とも述べています

東証のCIO`横山隆介氏`も会見で
システム障害発生の経緯や原因を答えていました

その受け答えが`しっかりとシステムを把握されている受け答え`だと
システム業界界隈で絶賛されています

自社のシステムのことをちゃんと理解した上での受け答え
記者に合わせてできるだけ平易な表現で説明

などなど

CIOに関しては完璧な記者会見であるという
意見が多く寄せられています

また東証の社長の`富士通に責任はない。責任があるのは我々`
という発言も素晴らしく、これがトップのあり方だと思う
という意見もありました

なぜバックアップが切り替わらなかったのかについては
東証側では根本原因は分かっていないようで
富士通側に早期に解析を進めるよう依頼している模様

基本的な障害の責任は東証にあるということですが
調査の過程で、もしシステム側に何らかの不具合が
発見された場合は富士通側にも責任は発生する可能性も有り
今後の調査過程を注視していきたいところです

参考：

[日経XTech : ](https://xtech.nikkei.com/atcl/nxt/news/18/08869/)

## これからどう対処すべきか

障害は起きてしまったことなので悔やんでも仕方ありません
これを教訓にして

`1.出来るだけ障害をおこなさい仕組み作り`
`2.障害から手早く復旧出来る仕組み作り`

これが必要なことかと考えます

1.に関してはシステム設計やテストの話です

既にアローヘッドの開発では数百人規模の人数で
数万項目におけるテストなどが実施され
中小規模のシステムテストの域は遥かに超えています

原因が有った箇所の周辺から少しづつ改良を重ね
それを次世代のシステム開発につなげることで
日本全体のIT開発レベルを上げれるのでは無いかと
考えます

是非とも富士通さんには出せる部分については
公開して日本のIT産業に貢献頂けないかなとか
妄想しています

2.に関しては運用面の話だとおもいます
バックアップの定期的なチェック
日頃の監視の強化etc

運用面まで考えて設計はしていると思いますが
防災訓練のようにシステム周りも
運用体制の強化や仕組み作りは必要だとおもいます

そこら辺、運用体勢とかがどうなっていたとかは
東証さん出して欲しいなあとか思ったりしています

## 感想

アローヘッドのような止めちゃいけないシステム開発とか
自分が責任者だったらと思うとゾッとしますね

HFTシステムの仕組みなども分かり
障害を気に少し勉強が捗りました

東証CIO横山さん

この方について周りの評価が高く
現代の会見での見本となる人材が
いらっしゃるのが分かったことも
大きな収穫でした、見習いたいです

その昔20年位前
`F通`さんで`某最近の話題になった事件のシステム開発`を
していたのを思い出しました

その時は開発者の規模が多すぎて何人いるか分からないのと
そんな人数が窓のない部屋で一斉に作業
かつ、24時間365日営業中という
素敵な開発現場だったなーという思い出です

まさに`開発を止めるな`でした
月の労働時間はMAX300時間くらいでしたかねwww


# 雑談

### 真の原因は?!?!?!

どうやら芸能人の結婚報道があると
株価が大暴落したりするジンクスがあるそうです。

堀北真希ショック　－８９５円
木村沙織ショック　－２９８円
福山雅治ショック　－７１４円
釈由美子ショック　－２０３円
北川景子ショック　－４７９円
優香ショック　　　－５８２円
押切もえショック　ー３０７円
小倉優子ショック(再婚）ー１０１０円

石原さとみショック　・・・東証物理破壊

ちなみに`石原さとみさん(本名:石神国子)`は
発表前に止めているので他の人より
スケールが大きいですね

どこかのあの宗教ではありませんが
神様はいるのかもしれません

信じるか信じないかは
あなた次第といった所でしょうか

### フェイルオーバー

システムなどでで異常事態が発生したとき
自動的に冗長な待機系システムに切り換える機能のことを
`フェイルオーバー`といいます

本命とセカンド・・などで二股三股をかけておいて
本命と別れたら自動的にセカンドが本命に昇格する

これを人間フェイルオーバーと言うとか言わないとか
さとみんも一般男性にフェイルオーバーしていたのかなぁ・・・


一般男性とかけて
東証のシステムと説きます

その心は

どちらも`石原さとみ`なら
簡単に落とせるでしょう!!!



## 作者の情報

乙pyのHP：
http://www.otupy.net/

Youtube：
https://www.youtube.com/channel/UCaT7xpeq8n1G_HcJKKSOXMw

Twitter：
https://twitter.com/otupython