間違いだらけのネットワーク作り(614)2009/11/14
「ACID とBASE」

 
昨日の新聞に世界最大のSNSであるフェー スブックが来年日本法人を設立するという記事が出ていました。 目的は日本のケータイ向けに新サービスを開発し、それをグローバルに展開することだそうで す。 技術者は米国から連れてくるとのこと。 フェースブックが米国以外に拠点を設けるのは初めてです。 日本の高度化したケータイはそれだけの価値があ るということでしょう。 超ガラパゴス委員会は日本のキャリアや端末メーカーに外に出ていけと助言しましたが、フェースブックの方が先に日本の技術やノウ ハウを海外に広めることになりそうです。 
 モルガンスタンレーが最近まとめたレポートによると、日本のケータイの収入構造は2008年時点でEコマース、決済サービス、広告といった付加価値の高 いサービスが30%以上になっています。 対して、日本以外の国では10%程度にすぎません。  10%というのは日本の2000年時点と同じです。 と いうことは日本はケータイのサービスが諸外国より8年くらい進んでいる、ということになります。 フェースブックが日本を重視する理由が分かります。

「ACIDと BASE」

 
先週の記事に書いたようにこれからはWANよりもデータセンタ(DC)内のネットワークの方が規模も大きく、内容もますます高度化しま す。 今週、大規模データセンターの設計経験がある技術者に最先端のDC設計がどんなものなのか、ヒアリングしました。 まず、その体制の大きさに驚きま した。  サーバ統合をはじめシステム基盤を担当するチーム、セキュリティ・チーム、ネットワーク・チームなど数10名でやったとのこと。 あらためて 思ったのはシステム側とネットワーク側の境界がなくなってきたな、ということです。 

 基盤チームとネットワーク・チームが分かれていても、ネットワーク技術者はサーバ内の仮想スイッチも含めてネットワーク設計せねばならず、VMware など関連する製品のネットワークにかかわる仕様を理解する必要があります。 サーバの統合だとか、仮想化などネットワーク技術者には関係ない話だと思って いるとシステム系の技術者がネットワークも含めて全部設計するようになって、ネットワーク技術者は仕事を失うでしょう。 軸足はネットワークにあっても、 システム系の基本を勉強しなければなりません。 

 ヒアリングの中で新しい用語を覚えました。 ACIDとBASEです。 ACIDとはAtomicity(原子性=データ処理が完了か未実行かのいずれ かであり、曖昧さがないこと)、Consistency(データの矛盾がない)、Isolatoin(独立性=処理間の依存関係がない)、 Durability(永続性)の頭文字を取ったものです。 銀行の勘定系システムがその典型ですね。  対してBASEはクラウド環境の特性として提唱 されているもので、Basically Available、Soft state、Eventual Consistencyの頭文字を取ったもので す。 システムの可用性を最優先し、システム連携はゆるやかに、データの同期はリアルタイムでなく非同期に複製を取り(プライマリーから複数のセカンダ リーへの複製を一斉には行わない)、最終的にシステム全体が一貫した状態になる特性です。

 クラウドは超並列分散処理であり、一つのプライマリーサーバと故障を前提とした多数のバックアップセカンダリを配置し、プライマリからセカンダリへのコ ピーを非同期にすることで高速なレスポンスや負荷の軽減を図っています。  完全な同期処理ではありませんから、切替のタイミングによってはデータの不整 合が生じます。 

 Consistency(データの一貫性)、Availability(可用性)、Partition(システムの分散)の3つのうち、同時には2つし か実現できない、という定理があり、CAP定理というそうです。 クラウド・コンピューティングではCを犠牲にすることで可用性と分散を実現しているとい うことになります。

 大規模なDCはプライベート・クラウドになるわけですが、そこにはACID特性のシステムと、BASE特性のシステムがあり、それぞれに応じた設計が必 要になります。 

*ここに書いてあ ることで質問、ご意見などありましたら下記メールへお知らせください。

   tuguhiro@mti.biglobe.ne.jp

ホームページへ