[技術解説]

高い可用性と性能を低コストで確保―分散技術の先端を知る—Part4

2009年9月15日(火)

クラウドを支える要素技術 数万から数10万台のCPUやHDDを使い、大規模なデータを分散管理・処理する。そのうちいくつかが故障しても処理を継続できる─。 クラウドを支える、このような分散処理はどんな仕組みなのか。そこにはMapReduce、キーバリューストア、P2P通信といった技術要素がある。

分散システムは、複数台のコンピュータノード(以下、ノード)を用いることにより、システム全体としての処理能力を向上させたり、可用性を増大させることを目的にしたシステム形態である。処理するデータ量の増大に対してこれまでは、サーバーのCPUを増設する、リレーショナルデータベース(RDB)を増強する、といった対策で乗り切るケースが多かった。しかし、そうした対策はパフォーマンスとコストの両面から見て限界を迎えつつある。信頼性の高いサービスを低コストで提供するクラウドコンピューティングにとって、大規模な分散システムを実現することは極めて重要である。

ただし、分散システムには複数のコンピュータを単純に並べるだけは不十分で、それらを協調動作させる技術が不可欠だ。その上で大量のデータを高速に処理する性能と高い可用性を実現しなければならない。

本パートでは、インターネットイニシアティブ(IIJ)が独自に開発した「ddd(distributed database daemon)」を例に、低コストのPCを利用しながら信頼性の高い分散システムを実現する技術について解説する。

dddは、IIJのバックボーン回線を流れるトラフィックを解析することを目的に開発した分散システムである。現在では、セキュリティサービスやアプリケーションサービスのログ解析など、より広範なデータの処理に活用している。

この記事の続きをお読みいただくには、
会員登録(無料)が必要です
登録済みの方はこちら

IT Leaders 雑誌版、電子版をご購読の方、会員登録済みの方は下記ボタンよりログインして続きをお読みください

初めての方はこちら

IT Leaders 会員になると
会員限定公開の記事を読むことができます
IT Leadersのメルマガを購読できます

関連記事

高い可用性と性能を低コストで確保―分散技術の先端を知る—Part4クラウドを支える要素技術 数万から数10万台のCPUやHDDを使い、大規模なデータを分散管理・処理する。そのうちいくつかが故障しても処理を継続できる─。 クラウドを支える、このような分散処理はどんな仕組みなのか。そこにはMapReduce、キーバリューストア、P2P通信といった技術要素がある。

PAGE TOP