
わたしがすごいなーと思うシステムは NTT DoCoMo の料金システムである。
2005年度 第2四半期データ によると、DoCoMo だけで 5,000万契約ある。
月に一度請求書を送るとすると、5,000万通の請求書を送付しなければ
ならない。もし RDBMS で保持していたとすると、月に 5,000万レコード
ずつ増加することになる。12ヶ月で 6億レコード。
これだけでもため息が出るが、手元にある昔の DoCoMo の請求書を見ると、
となっている。明細が 8行なので、明細テーブルは 5,000万×8レコードで
4億レコード。月に 4億レコード増える。これは怖い。12ヶ月で 48億レコードである
(まぁ延滞利息については料金計算システムではなく、与信管理システムが算出して
いるような気がするが)。
さらに言えば、何月何日何時何分に何パケット送受信した、というデータも当然管理
しているだろう。これを RDBMS で管理したとするなら、レコード数は 1千億や1兆の
単位になるかもしれない。
ちなみに上記四半期データによると ARPU (Average Revenue Per User。1契約
あたりの月間売上) は 7,000円程度なので、1ヶ月の請求額合計は 350,000,000,000 円
(3,500億円)。
これもデカい。32bit 符号付整数の最大値は 21億なので全然足りない。64bit
符号付整数なら余裕だけれども。
で、これだけでも「デカいシステムだなぁ。RDMBS でまともに管理できるのかなぁ」
って感じなのだが、驚いたのは携帯を解約したとき。窓口に行ったときに、
「今月の請求額は~円です。ただし直近 2時間程度の料金などは含まれません
ので、もしそういう通話があれば後日請求させていただきます」
と言われたことである。DoCoMo は2時間程度のタイムラグでリアルタイムに
料金計算をしているのか~と心底感心したものだ。そして解約した月の通話
料金について、どこまで請求して、残りはいくら、という管理ができている
ことにも驚いた。
わたしが経験した範囲では、金が絡むシステムはミスが怖いので、締め日に
月次バッチを動かした後、ある程度手動で検証作業を行ったりするものである。
もしそこでミスが発覚したら、プログラムを修正し再度請求額を計算する。
正確性については、その程度のミスは許容されていた。しかしリアルタイム
性を求めると手動での検証作業はあきらめなければならない。つまりミスは許されない。
DoCoMo の中の実情は知らないが、外から見る限りでは凄いシステムだなぁと
思う。まぁ中身はボロボロだったりするんだろうけれども、外に見せないだけでも
立派だ。
2005年度 第2四半期データ によると、DoCoMo だけで 5,000万契約ある。
月に一度請求書を送るとすると、5,000万通の請求書を送付しなければ
ならない。もし RDBMS で保持していたとすると、月に 5,000万レコード
ずつ増加することになる。12ヶ月で 6億レコード。
これだけでもため息が出るが、手元にある昔の DoCoMo の請求書を見ると、
基本使用量 (デジタル800/プランA) [月額] | 4,500円 |
いちねん割引料 (契約期間2年超3年まで) [月額] | -540円 |
基本使用量 (パケット/ライフプラン) [月額] | 150円 |
付加機能使用量 (iモード) [月額] | 150円 |
ダイヤル通話分 | 430円 |
無料通話分 | -430円 |
延滞利息 | 34円 |
消費税相当額 (合計) | 213円 |
(合計) | 4,507円 |
となっている。明細が 8行なので、明細テーブルは 5,000万×8レコードで
4億レコード。月に 4億レコード増える。これは怖い。12ヶ月で 48億レコードである
(まぁ延滞利息については料金計算システムではなく、与信管理システムが算出して
いるような気がするが)。
さらに言えば、何月何日何時何分に何パケット送受信した、というデータも当然管理
しているだろう。これを RDBMS で管理したとするなら、レコード数は 1千億や1兆の
単位になるかもしれない。
ちなみに上記四半期データによると ARPU (Average Revenue Per User。1契約
あたりの月間売上) は 7,000円程度なので、1ヶ月の請求額合計は 350,000,000,000 円
(3,500億円)。
これもデカい。32bit 符号付整数の最大値は 21億なので全然足りない。64bit
符号付整数なら余裕だけれども。
で、これだけでも「デカいシステムだなぁ。RDMBS でまともに管理できるのかなぁ」
って感じなのだが、驚いたのは携帯を解約したとき。窓口に行ったときに、
「今月の請求額は~円です。ただし直近 2時間程度の料金などは含まれません
ので、もしそういう通話があれば後日請求させていただきます」
と言われたことである。DoCoMo は2時間程度のタイムラグでリアルタイムに
料金計算をしているのか~と心底感心したものだ。そして解約した月の通話
料金について、どこまで請求して、残りはいくら、という管理ができている
ことにも驚いた。
わたしが経験した範囲では、金が絡むシステムはミスが怖いので、締め日に
月次バッチを動かした後、ある程度手動で検証作業を行ったりするものである。
もしそこでミスが発覚したら、プログラムを修正し再度請求額を計算する。
正確性については、その程度のミスは許容されていた。しかしリアルタイム
性を求めると手動での検証作業はあきらめなければならない。つまりミスは許されない。
DoCoMo の中の実情は知らないが、外から見る限りでは凄いシステムだなぁと
思う。まぁ中身はボロボロだったりするんだろうけれども、外に見せないだけでも
立派だ。
スポンサーサイト


