
ALTIBASE Data Streamは大きく3つの要素で構成されています。
データストリームのリアルタイム処理及び分析のための‘Data Processing & Analysis’, データ共有及び一貫性保障のための‘Data Coherency’、
データのリアルタイム転送のための‘Data Delivery’などです。
◈ Data Processing & Analyzing 主な機能
◈ Data Coherency 主な機能
◈ Data Delivery 主な機能
< Implementation of Service in ALTIBASE Data Stream >
◆ ALTIBASE Data Stream詳細機能
Data Processing & Analyzing
Stream & Event Processing
ALTIBASE Data Streamは、データストリームをDBMSと類似しているスキーマにより処理します。
従って、スキーマ作成/削除のためCreate Topic あるいはDrop Topicのような操作言語を提供すると共に、ストリームデータの操作のための Insert/Selectが提供されます。
これにより、ユーザーは動的にトピックを作成して、そのトピックにデータを転送することで、簡単にデータを扱うことができます。
ALTIBASE Data Streamでは、単純なストリームデータの転送のみならず、そのストリームの複雑な処理のための強力な概念であるWindow機能が提供されます。
Windowはレコード数あるいは時間を基準にした、一時的に保存されるストリームデータの空間ですが、このWindowを利用して、
他のトピックとのjoin、あるいはWindowとWindowの間のjoinにより、リアルタイムでそのデータの特性が分析できます。
CQL 機能
CQL(Continuous Query Language)はデータ処理のための中心的な言語で、Insert--select 構文が利用されます。Insert-Select構文を利用して、
データストリームのFilteringやTransformation もしくは前に述べたJoinを適用して、リアルタイムでデータを評価し、再転送することができます。
リアルタイム集計関数
CQLでは、リアルタイムで入力されるデータの集計情報(MIN、MAX、AVG、SUMなど)を取得して、これをユーザーがリアルタイムで把握できる関数を提供します。
これによりユーザーは大量のデータを全てDBMSに入れ、長い時間を掛けて分析する代わりにデータの転送直後に現在の状態が把握できる強力な機能を利用できます。
Data Coherency
Coherency TableはPrimary Keyが定義されているトピックに対して作成できます。これにより定義されたCoherency Tableは分散環境でノード間のデータをリアルタイムで共有します。
たとえば、A, Bと言うノードがCと言うCoherency Tableを共有している場合にはAあるいはBがCを変更する場合、両側にリアルタイムでそのデータが反映され、
お互い共有できるようになります。
Coherency Tableは一般データベースのテーブルのようにInsert、Update、Delete、Selectが可能です。
ALTIBASE Data StreamはCoherency Table のアクセスのため、ODBCとJDBCによるアクセスを提供します。これにより、
一般のDBMS にアクセスするように既存のコードを再使用しながらALTIBASE Data Streamの長所が利用できます。
DBMSの特定のテーブルをCoherency TableにCachingすることで数十倍の性能向上を提供します。
特別なカスタマイズなしにデータ複製及び分散が容易で、障害発生後に再接続すると、同じネットワーク上にある他のCoherency Tableを利用してデータ復旧が可能です。
スキーマ基盤データ転送
Schema-based Data Transfer
ALTIBASE Data Streamから提供する多様なデータ型を利用して、任意の環境に合わせて直接スキーマを設計及び使用できます。
例えば、ALTIBASE Data Streamでは、DBMSのデータを操作するようにCHAR、VARCHAR、INTEGER、NUMERIC、DATE、TIMESTAMP 等のような高水準のデータが定義できます。
また、integer、floatなどのようなprimitive データ型も共に転送できます。これにより、開発者は特定なデータ型に対する演算や変換のため、別のコードを開発する必要がないので、
開発時間の短縮及びエラー発生の可能性を減らすことができます。
リアルタイムデータ転送
ALTIBASE Data StreamはARTP(ALTIBASE Realtime Transfer Protocol)を利用してデータを転送します。ARTPは基本的にUDPによりデータを転送しますが、
ARTPによるデータの消失は全くなく、高速にデータの転送ができます。正常な場合であれば、1つのデータを他のノードに転送するのに数マイクロ秒が使用され、
大量のデータを転送する場合、 nanosecondほどの転送時間が期待できます。1件のデータで数マイクロ秒なのに、
大量のデータでさらに短いナノ秒になるのは説明がおかしいと思われます。
多様なQoS 提供
ALTIBASE Data StreamのQoSは、データ自体に対する属性やデータを処理するプログラムに特定な機能を与えます。
例えば、データベースクライアントの場合には、データを転送する途中にネットワーク障害により転送が失敗するとクライアントが再転送しなければなりません。
しかし、 ALTIBASE Data Streamでは、そのデータのQoSがReliableで設定されている場合、ネットワーク障害が解決される直後にそのデータが自動的に再転送されるようにできます。
ALTIBASE Data Streamが提供するQoSの種類
|
| QoS 種類 |
目的 |
活用方法 |
|
| RELIABILITY |
データ転送の信頼性保障 |
どのような状況でも、消失されてはいけないデータの 転送に適合で、消失を許容しても、最大限早く送らなければならないデータに対してはUnreliable(Best Effort) 転送モード設定可能
|
|
| HISTORY |
過去のリソース確認及び再転送 |
ネットワークに新しくアクセスしたクライアントが現在以前に転送されたデータを照会する場合に有効
|
|
| DURABILITY |
データ保存、永続性管理 |
HISTORYと共に使用されるQoS。設定されたメモリサイズの分、データを一時的に保存。TRANSIENT Level(Shared Memory 基盤、Not Disk)のDurabilityサポート
|
|
| PRESENTATION |
データ一貫性保障 |
ALTIBASE Data Streamではデータの一貫性保障のため、Soft Transactionと言う概念で多数の変更されたデータ3つを一度に転送するか取り消し可能
|
|
| OWNERSHIP |
障害解決、高可用性(HA) |
HA(High Availability) サービスのための基本QoS
|
|
OWNERSHIP STRENGTH |
障害解決、高可用性(HA) |
OWNERSHIPを‘exclusive’で設定する場合、STRENGTHの中で、最高の値を持つクライアントのデータのみユーザーに転送。
特定ノードが異常終了した場合にも残っているノードが転送するデータを連続的に処理するので、高可用性保障
|
|
ノード自動検索(Auto Discovery)とリアルタイムモニタリング
ALTIBASE Data Streamはデータベースのようなクライアント/サーバーモデルのConnection概念ではない、Attach/Detachと言う概念でノード間のデータ転送を説明します。
このような構造はデータ処理モデルの障害がサービス全体に影響を与える中央集中化の限界を克服するために考案されたものです。
このような転送方式により、ALTIBASE Data Streamはネットワークにアクセスする瞬間に自身の情報を他のノードに転送する同時に他の場所でアクセスする新規ノードを検知するので、
動的ネットワークの変化に応じて柔軟に対処できます。
このような構造の利点はネットワークのノード変更内容をリアルタイムでモニタリングできるようにします。
ユニ/マルチキャスト基盤の高効率・多重転送
ALTIBASE Data StreamはUDPをデータ転送の基で使用していて、UDPでもデータが消失されない効率的なプロトコルを持っています。また、多数のノードに対する最高の転送効率を得るため、
ユニキャストは勿論マルチキャスト技術も共に使用するので、非常に早い性能の多重ノードデータ転送が可能です。
|