PR

超並列DWHとユーザー定義関数

2010年3月10日(水)
中塚 裕美子/小平 啓一

速さの秘訣その2:分散並列処理によって処理時間を短縮

大量データの検索や書き込みはとかく時間が長くかかるものです。それなら、少量データに小分けして並列に処理すれば、時間を短縮できます。

データベースにおいては、もし、1テーブルに1億件のデータが格納されていても、100個のディスクに分散されていて100並列に処理できれば、1つ当たりは100万件の処理量ですむのです。

Netezzaは、データ処理専用のプロセッサと専用メモリ、および各ハードディスクを担当するFPGA上で動く「スニペット・プロセッサ」といういわば小型の「高機能DB専用エンジン」を多数搭載しており、SQL処理やデータロードを並列に処理します。

以下の対照的な2つのアーキテクチャを併せ持つのが、NetezzaのDWHアプライアンスです。

  1. 大量データを複数ディスクに分散して格納し、スニペット・プロセッサがそれぞれの担当するディスクを処理する「シェアード・ナッシング式のMPPアーキテクチャ」
  2. ユーザーからのリクエストを1つのホストで受け、複数のスニペット・プロセッサに分かれて処理が行われていることを意識させることがない「SMPアーキテクチャ」

SMPホストは、データロード命令を受け付けると、データをハッシュ分散してスニペット・プロセッサへ渡し、データが各ディスクに格納されます。また、SQL命令を受け取ると、コンパイルしたバイナリを各スニペット・プロセッサに配布し、各スニペット・プロセッサが並列に処理した結果を受け取りユーザーへ返します。利用者がシステム構造やシステム管理を気にすることなく、並列処理が行える仕組みになっています。

DWHアプライアンスの活用とOnStream

複数台のサーバで並列に処理する「MPPアーキテクチャ」のデータベースはほかにも存在しますが、Netezzaは先に紹介したSQL処理を行うハードウエア「FPGA」が組み込まれたスニペット・プロセッサが動くブレード「S-Blade(スニペット・ブレード)」の形で、非常に省エネで、コンパクトな1ラックのハードウエア構成となっています。

冷蔵庫を自宅に運び入れて電源を入れたらすぐ使えるといった家電製品のように、Netezzaも搬入設置してネットワークにつないだらすぐにデータ・ウエアハウスとしてテーブル作成、データロード、検索ができるカンタンDWHアプライアンスです。パフォーマンスチューニング作業やディスク管理、CPU管理に時間を取られる必要はなく、どういうデータを入れて、どういう検索を行うかという分析業務ロジックを考えるほうに注力すれば良いわけです。

それでは最後にDWHアプライアンスの活用編として、OnStream機能を紹介します。OnStream機能は、標準SQLでは記述できない問合せやアプリケーションを、ユーザがC++で作成してNetezzaで並列処理させることができるというものです。

この機能の活用例として、金融業界において必要とされるリスク計算のためのシミュレーション処理などの事例があります。データベースから取得した結果をシミュレーション計算するのではなく、データベースから取り出す時点でシミュレーション計算させるというしくみです。

Netezzaのデータ取り出し部分ですから、計算処理が並列に処理できます。これにより、シミュレーション精度を高めるために十分な大量データの計算が高速に行えるのです。

並列コンピューティングを実現するため、複数台の分散サーバやロジックの並列化などを常に意識しながらプログラミングを進める事に比べると、すでに分散並列アーキテクチャが実装されているNetezza上でシミュレーション計算のロジックのみに思考が集中できることは、時間やコストを大幅に削減できることになります。

著者
中塚 裕美子/小平 啓一
伊藤忠テクノソリューションズ株式会社 ソリューション営業第3部DWH/BIソリューション課
【中塚 裕美子プロフィール】
RDB論理設計、パフォーマンスチューニング、SYBASE製品のプリセールス、さらに、ITインフラ全般の構築部門を経て2006年より現職。あらゆるDWH製品に関わるプリセールスや構築支援に携わる。
【小平 啓一プロフィール】
1984年よりUNIXシステムの日本語化、画像データファイリングシステム・電子帳票システム製品の設計、開発を担当。UNIXを中心としたシステム間を接続したシステム開発を手がける。2006年よりDWH/BIの製品担当として製品検証・技術支援、開発に携わる。

Think IT会員サービス無料登録受付中

Think ITでは、より付加価値の高いコンテンツを会員サービスとして提供しています。会員登録を済ませてThink ITのWebサイトにログインすることでさまざまな限定特典を入手できるようになります。

Think IT会員サービスの概要とメリットをチェック

他にもこの記事が読まれています

超並列DWHとユーザー定義関数 | Think IT(シンクイット)

Think IT(シンクイット)

サイトに予期せぬエラーが起こりました。しばらくたってから再度お試しください。