超高速ビッグデータ処理技術
Zap-In Technology 概要

 

概要: Zap-In はインメモリ型データベースの最進化型

 データベースの中で最も成功し普及したリレーショナル・データベース。これを高速化するために、メインメモリにデータを置くインメモリ型データベースが現れました。しかし、これでは10倍程度しか高速化できていません。
ターボデータラボラトリーは、データ構造と処理アルゴリズムを根本から考え直してインメモリ型データベースを高速化しました。自社開発の成分分解法(*)に基づくアルゴリズムを基本においたことで、10倍~10,000倍、処理によっては100,000倍の高速性を引き出すことができます。
また、このデータ構造により、インメモリ型でありながら最大20億行の巨大データを取り扱うことが出来ます。

Zap-In Technology の特長

データベース処理が超高速 <詳細情報へ>

 通常のデータベースシステムに比べて 10倍~10,000倍も高速です。JOIN処理では100,000倍になる場合もあります。通常のデータベースシステムで例えば一昼夜かかっていた処理が、1分以内に終わる例もあります。これだけ速度を上げると、業務の質を格段に進化させることができます。

 通常のリレーショナルデータベースシステムでは、データ量が増えると処理時間は急激に長くなります(データ量nに対して o(n*log(n)) )。 ビッグデータでは処理時間が長く実用になりません。
これに対して Zap-In Technologyでは、処理時間はデータ量に比例になります(データ量nに対して o(n) )。ビッグデータでは、通常のデータベースとの差は飛躍的に大きくなります。

 データ(CSV)の取り込みスピードは、一般のデータベースよりも100倍も高速です。

ビッグデータでも超高速

 最大20億行のビッグデータにも対応できます。データをハードディスクではなくメインメモリに保持するインメモリ型データベースですが、高効率データ構造によって巨大なデータにも対応できます。
クラスタ構成ならば16台のサーバーを用いて、総計320億行の巨大ビッグデータに対応できます。

高コストパフォーマンス

同じ性能をはるかに小規模のハードウェアでローコスト(1/10~1/1000)に構築できます。

超短期でシステム構築:マクロ記録による自動プログラミング <詳細へ>

 ユーザーのグラフィカルユーザーインタフェースによるデータベース操作をマクロ記録し、その操作をプログラムに自動変換します。非手続き型言語のSQLではなく、手続き型言語の Python を採用しています。
この機能によって、プログラムを書くこと無く、データベースの構築が超短期で完了します。SQLプログラミングで1ヶ月かかったシステム構築が、3日で完成出来た例もあります。

他のデータベース技術との比較(機能、性能)

現在の世の中で使われている各種のデータベースシステムと Zap-In Technology で、機能・速度の比較を行います。

機能比較:
Zap-In (インメモリ型超高速データベース)

特徴: 超高速で、ほぼRDB同等の高機能。高機能で高速な全文検索も持つ。トランザクション機能は持たない。

RDB(ディスク)型データベース

製品例: MySQL, OracleDatabase
特徴: 現在の世の中の主流。多機能だがビッグデータでは速度低下。

RDB(インメモリ)型データベース

製品例: HANA(SAP社), TimesTen(Oracle社), Spark(Apache)
特徴: RDB(ディスク)より高速(10倍程度)。

NoSQL型データベース

製品例: DynamoDB(Amazon社), Cassandra(Apache)
特徴: 高速だが機能が少ない。

全文検索型データベース

製品例: SecureEnterpriseSearch(Oracle社), Namazu
特徴: 全文検索の単機能だが高速。

バッチ処理型データベース

製品例:
特徴: プログラミングが手軽で容易だが低速。

速度比較:

<速度ベンチマークへ>

処理 RDB(ディスク)型データベース RDB(インメモリ)型データベース NoSQL型データベース 全文検索型データベース ターボZap-In (注釈: Zap-Inの特徴)
CSVデータ取り込み 1 10 50 0.05 100
JOIN演算 1 10 1000-100,000 カーディナリティが大でも高速
SORT 1 10 100-100,000 カーディナリティが大でも高速
SEAERCH 1 10 100-1000
(キー項目完全一致の場合)
10-1000 データ量が大でも高速
BOM展開 1 10 500-700
カテゴライズ 1 10 10-1000,000 特に高速 O(n)
集計 1 10 1000-100,000 カーディナリティが大でも高速
計算・更新 1 10 0.1-10,000 1件ずつ更新は低速、まとめて更新は超高速
EXPORT 1 10 1
(キー項目完全一致データ1件の場合)
1-10
(ヒットしたドキュメントの取り出し)
100-1000 ヒット件数が大なら特に高速
全文検索 1 10 ? ? 10-1000 ヒット件数が大でも高速

注)カーディナリティ: 値の種類の数。その項目の値が「男か女か」ならカーディナリティは2。氏名などは大きくなる。数値データ等なら巨大になることも。一般のDBはカーディナリティ大の場合に速度低下する。

<速度ベンチマークへ>

システム構成

スタンドアローン構成

1台のPCのみの構成です。

Standalone 

サーバー・クライアント構成

1台のサーバーマシンに16台までのクライアントPCを接続できます。
データベース処理はサーバーマシンで行い、クライアントPCは表示機能を担当します。

ServerClient

クラスタ・サーバー構成

サーバー・クライアント構成の拡張構成で、データ容量、処理能力を増強できます。
最大16台までのサーバーマシンに16台までのクライアントPCを接続できます。その他にサービスネジャーマシン1台が必要になります。
データベース処理はサーバーマシンで行い、クライアントPCは表示機能を担当します。

Cluster

ウェブサービス構成

サーバー・クライアント構成のサーバーを、ウェブサービス構成にしたものです。
クライアントPC・スマートフォンのウェブブラウザを利用します。

WebServer

詳細情報ページ

・処理の高速性 へ
・自動プログラミング機能 へ
・高機能ビジネスインテリジェンス へ
・応用例 へ
・ベンチマーク へ

・製品ご紹介 へ
・導入事例 へ

・技術文書 へ