GridGainのDani Traphagen氏がOSCON 2017カンファレンスでApache Igniteプラットフォームについて語った。氏は、ディスク(disk)をボトルネックと見なしてメモリのコストを削減するパラダイムシフト、オープンソースプロジェクトApache Igniteを使ったマイクロサービスアーキテクチャのための活用について話した。
Apache Igniteは、データセットをリアルタイムに処理できる分散型インメモリキャッシュとクエリエンジンである。リレーショナルデータベース、Cassandra、Spark、そしてHadoopのようなNoSQLデータベースといった他のシステムとも統合できる。プラットフォームは以下のような多様なコンポーネントを備えている:
- Data Gridはプラットフォームの基礎である。分散キーバリューデータストアで、クラスタを通して分散型インメモリデータをキャッシュする。データキャッシュは、パーティションキャッシュ(プライマリとバックアップノードを含む)と複製キャッシュ(クラスタを通してデータが複製される場所)という2つの特色がある。Data Gridは整合性、データの局所性、モダリティ(どのクライアントも自分が属しているノードを特定できる)も備えている。
- SQL GridはIgniteのインメモリSQLコンポーネントである。ANSI-99に準拠しており、SQLおよびDMLコマンド、分散型SQL結合、インデックス、ACIDトランザクションをサポートしている。
- Compute GridはMapReduceやFork/Joinといったデザインパターンを使って分散処理、マシンラーニング、リスク分析、グリッドコンピューティングに利用できる。
- Service Gridはスケーラブルなミドルウェアを備えたマイクロサービス ベースド アーキテクチャの基礎である。ユーザが定義したマイクロサービスのデプロイに利用され、サービスのライフサイクルを管理する(初期化、保守、終了)。このアーキテクチャモデルでは、サービスノードはデータノードにつながり、データノードはリレーショナルデータベース、Cassandra、そしてHadoopといった永続的なデータストアにつながる。
Service Gridの4つの主な特徴は、データノード、サービスノード、コミュニケーション、インターナルおよびエクスターナルアプリケーション、そしてパーシステンスである。また、ロードバランシング(スティッキー対ノンスティッキー)とフォールトレランスも備えている。デプロイメントはNode Filterによって実行される。サービスを稼働させるためのノードを特定してくれるクラスである。
Data Nodesは、データの蓄積、クエリの受け付け(and/or演算)を分散して行うサーバノードである。Service Nodesはサーバまたはクライアントのノードで、サービスデプロイメントの対象として使われうる。Persistent Storageはどのパーシステントストアを選んだかによって、リードスルー、ライトスルー、そしてトランザクショナルになる。
Apache Igniteプラットフォームを始めてみたい人は、デモプロジェクトも入ったウェブサイトGridGain Web Consoleを参照するといい。
Rate this Article
- Editor Review
- Chief Editor Action