タイムシリーズデータ(ログ)の処理、キー単位の名寄せ処理を得意としています。Scriptで記述が可能クラスタの起動、停止からデータロード、インメモリデータ処理まで全てをShellで記述・実行が可能です。インメモリ・並列分散処理・ストリーミングロードインメモリデータベースは、データの処理を行う際、HDDに書き出す必要がなく、かつソースデータをロードしながら、同時に加工処理を実行することで、非構造データやタイムシリーズデータ処理の高速化を実現。必要な時に環境を構築し、処理を実行、処理が完了し、必要なくなったらインスタンスを落とすことでコストを削減、オンプレミスでの利用も可能です。環境構築やデータ処理の実装において、ソフトウェアを用いたシンプルな構造で、導入期間やコスト、負荷の削減を実現します。ストリーミングロードessentiaは元データの形式のままクラウドストレージにアップロードするだけで、アプリケーションがダイレクトに並列分散で読み込み処理を実行します。一般的なデータ処理フローにおいて、必要とされる中間プロセスは一切不要です。一般的なデータベースは、圧縮ファイルを解凍→クレンジング→DWHに格納→加工・集計とデータ処理に際して、何段階ものプロセスが必要です。essentiaは、元データの形式のままクラウドストレージにアップロードするだけで、ダイレクトに並列分散でストリーミングロードし、並列分散でデータの加工・処理・集計を実行します。インメモリ(ローディングとデータマージ)一般的なシステムでは123の全レコードをデータベースにロードしてから、データ処理を実行しますが、essentiaはデータをロードしながら同時に対象ユーザへの絞り込み処理を実行します。不要なデータは読み込まないため、データロードの時間を大幅に短縮し、同時にデータ処理上のオーバーヘッドを削減することができるのです。図は広告配信ログデータ、数百億件分をロードし、コンバージョンしたユーザの広告接触履歴、Webサイト訪問履歴を作成するデータ処理を実行した例です。1でコンバージョンしたユーザの全データをロードした後は、23のデータ処理のプロセスではコンバージョンしていないユーザのデータは読み飛ばして処理を行います。データ量が幾何級数的に増えて、数千億件になったとしても、ユーザの初回接触からコンバージョンに至るまでのカスタマージャーニーデータを容易に生成することができるのです。並列分散処理(essentiaクラスター)essentiaはデータロードとデータ処理の両方のプロセスで並列分散処理を実現しています。マスタはワーカーへのジョブの割り当て、処理完了後のデータのマージ(いわゆるReduce)機能を受け持ちます。各ワーカーは担当のジョブのみを実行し、他のワーカーのジョブには関与しません。並列分散の台数の上限はなく、データ量や処理の頻度、求められる処理速度に応じた柔軟なリソース設計が可能な仕組みになっています。Workerノードで構成されています。Masterノードは、クライアントから命令されたJOBをWorkerノードに割り振る機能とファイル出力時のReduce機能を受け持ちます。Workerノードは、Masterから割り振られた処理を実行する機能とインメモリ・データストアの機能を持っています。データの分散配置や再配置処理など、Workerノード間で可能な通信は、Masterノードを介さずに実行され、効率的なネットワークパスを実現しています。技術的優位性インメモリデータベースessentiaのデータ処理プロセスイメージS3にオリジナルの形式でデータを配置しておくだけで、後はすべてのデータ処理プロセスをessentiaのソフトウェアが実行します。キーを軸にしたデータの分散essentiaはデータを各ノードで分散保持することで、1ノードあたりの処理対象レコード数を減らして高速化を実現しています。各ノードはキーを軸にデータを分散しています。各ノードは自身が担当するデータのみを処理対象にし、他のノードを参照する必要がないため、IOコストが低く抑えられ、データ処理の高速化を実現しています。処理したデータを更に別のキーを定義したデータオブジェクトへインポートし直す場合、キーを軸にしたデータの再配置を実行するため、ノード間のデータ送受信が発生します。6倍高速データオブジェクトessentiaのインメモリデータ処理では、以下の2種類のデータオブジェクトを定義できます。主な用途・特徴tableキーごとに複数行のデータを保持します。データをそのまま格納し、後から参照するために使用します。vectorキーごとに単一行のデータを保持します。以外の項目に集計処理が設定でき、インポートするだけで設定した集計処理が行われます。各オブジェクトには必ず1つのキーが設定されています。同じキーのデータオブジェクトはdatabaseとしてグループ化され、データをインポートした時点でキーでJOINされた状態を形成します。vectorの項目には以下の集計処理が設定できます。集計処理はデータのインポート時点で実行され、インポート完了と同時に集計が完了します。主な用途・特徴+FIRSTインポートされた最初の値を保持します。+LASTインポートされた最後の値を保持します。+ADDインポートされた値を加算します。+MINインポートされた値の最小値を保持します。+MAXインポートされた値の最大値を保持します。+NOZERO数値型の場合は0ではなく値を、文字列型の場合は空白ではない値を保持します。+FIRST、+LAST、+MIN、+MAXと併用します。EXAMPLE詳しく見るessentiaは以下の2つの方法でご利用頂けます。処理対象とするデータの種類や機密性、プロジェクトのフェーズ、お客様のデータセキュリティのポリシー等から、適切な方法をお選び下さい。クラウドサービスでPoCを実施した後、サブスクリプションに環境を移行するなど、ミニマムスタートから本格的なデータ活用まで、ニーズにあったご利用方法をご提案いたします。詳しく見るSaaSPoCに最適、処理対象のデータをAWS、S3に配置するだけのクイックスタート詳しく見る今日からはじめてみませんか?AURIQの製品・ソリューションの資料をお配りしています。お気軽にご相談ください。