Skip to content

データへのアクセスと分析

データインフラは、アナリティクスの必要性と導入の増加をサポートするために、ますます強力になっています。アナリティクスツールは、データソースから別の環境にデータを引っ張ってくる方法から、データを移動する際のオーバーヘッドを避けるためにアナリティクスをデータソースに押し込む方法へと、大きく進化してきました。同じことがデータベースやデータウェアハウスにも言えます。データベースやデータウェアハウスは絶えず進化し、急速に変化する市場に対応してきました。データベースやデータウェアハウスは、単に大量のデータを保存するだけではなく、増大するデータのセキュリティと整合性を維持し、世界を動かすアプリケーションを動かすために不可欠な存在です。

世界がAIの時代を迎えたとき、これらの重要なシステムは、アナリティクスのユースケースをサポートするために再び進化し、データ管理システムへの厳しい要求に応えてきました。今日、ベンダーは、データベースやデータウェアハウスの販売から、データおよびアナリティクスソリューションのマーケティングおよび販売へと移行し始めています。データサイエンスツールやプラットフォームをデータベースと統合して、データベースとの対話を容易にしようとしているところもありますが、データベース内アナリティクスという道を選んだところもあります。この記事では、Netezza Analyticsで利用できる機能を中心に、この2つの方法とそのメリット、そしてどちらかを選ぶべきタイミングについて説明します。

Netezza アナリティクス

Netezza® Analyticsは、Netezzaの非対称超並列処理(AMPP)アーキテクチャを利用して、大量のデータに対して高いスループットを実現する。SQLオブジェクトによるデータベース内の分析、Python、R、Luaによる分析のサポート、そしてこれらをすべてNetezzaエンジン内で実行する機能を網羅している。

データベース内アナリティクス

インデータベース・アナリティクスは、データが存在する場所に分析ロジックを持ち込むもので、次のようなものに適用されます(ただし、これに限定されません)。

  • データの準備 - データのクリーニングと品質チェック、データのラベリング、正確性の向上、バイアスの排除、歪んだデータの処理などの機能工学に関わります。
  • モデル構築 - 機械学習アルゴリズムは、テーブルやビューに直接アクセスし、データベースのインフラを利用して処理を行います。機械学習モデルを保存し、新しいデータがシステムに入ってきたときに再学習することができます。
  • モデル展開 - 新しいデータをスコアリングするためにデータベース内の専用ツールを使用して、データベースの外で洗練された機械学習モデルを開発します。
  • ワークロード管理、クエリの最適化、およびデータベース内のタスクの自動化 - これらのスマートデータベースは、過去の動作から学習し、ワークロードの変化に応じてデータベースリソースを適応・割り当てます。

Netezza Performance Serverのデータベース内分析は、ユーザー定義のSQLオブジェクトを通じて提供されます。データ準備、データマイニング、予測モデリング、最適化のために、Netezzaに搭載されたアルゴリズムを使用することができます。相関分析や仮説検証のための統計関数から、決定木やクラスタリングのような複雑なMLアルゴリズムまで幅広く対応している。より大きなデータセット(またはデータセット全体)を使用して、より正確な結果を得るためにモデルをトレーニングしたり、新しいデータがシステムに入ってきたときにモデルを再トレーニングしたり、新しいデータをリアルタイムでスコアリングしたりすることができる。

インデータベース・アナリティクスは、大量のデータや頻繁に更新される可能性のあるデータを扱う複雑なアナリティクスに適しています。

  • 大量のデータをデータベースの外に出すためのオーバーヘッドを排除することができます。
  • データベースからデータを移動させないことで、企業は機密データを保護し、コンプライアンスを維持することができます。
  • Netezzaアプライアンスが提供する計算能力と並列化メカニズムを活用できる。

データサイエンスツールや言語の統合

データベース内分析のメリットは、複雑な分析を容易にし、安全性を高めるとともに、データサイエンティストがハウスキーピングではなく分析のライフサイクルに集中できることですが、データの可視化や探索には適していません。これらの操作は通常、データベース内ではサポートされておらず、データのサブセットにしか適用できないため、私たちは言語やデータサイエンスツールのサポートを利用し、この統合をシームレスで簡単に行えるようにしています。

Netezzaは、JDBCとODBCのサポートに加えて、PythonとGoのネイティブドライバーと言語サポートを備えている。このネイティブドライバーの統合により、データサイエンティストは、テラバイトスケールのデータのフィルタリング、アグリゲーション、分析をNetezza内で行いながら、これらの言語とそのライブラリのサマライズ、ビジュアライゼーション、分析のサポートを活用することができる。

例えば、Pythonライブラリ「nzpy」は、Pythonのデータ分析スイート「pandas」との直接統合を可能にし、Netezza自体が持つ大規模データの分析、準備、マイニング機能の上に、豊富な要約・可視化技術を搭載している。このライブラリを使えば、Netezzaからフィルタリングしたデータや集計したデータをpandasに取り込み、データを探索したり、結果を可視化して洞察力を高めたり、データを配布したり、さまざまな人が利用しやすい形で結果を表現したりすることができる。

データウェアハウスとアナリティクスを一つのプラットフォームで統合する

Netezzaは、IBM Cloud®Pak for Dataに緊密に統合されており、データ管理、データ運用、ガバナンスから自動化されたAIまで、アナリティクスのライフサイクル全体にわたるデータとAIのサービスを1つのプラットフォームに統合しています。これにより、複数のクラウドやデータ管理製品に存在するデータを、様々なフォーマットやアクセス制御のニーズに合わせて収集し、データが存在する場所ですべてのデータを扱うことができます。例えば、IBM Watson®Knowledge Catalogを使ってデータ保護ルールを実装し、ビジネス・インテリジェンスのCognos®Analyticsを使って、さまざまな部門のレポートやダッシュボードを生成することができます。

次のステップ

今回の記事では、データサイエンスツールの統合やインデータベース・アナリティクスから、Netezza Analyticsのそれぞれのメリットまで、多くの内容を紹介してきた。次のステップとして、これらのコンセプトをより深く調査し、以下の方法で関連するテクノロジーを実際に体験することができます。

  1. nzpy Pythonライブラリを使用して、CSVファイルから外部テーブルまたはIBM Cloud Object Storageにデータをロードして、IBM Cloud Pak for Data上のNetezzaからデータをロードしてアクセスする。
  2. SQLステートメントを実行してデータのサブセットにアクセスし、結果を視覚化する。