Lindorm は、ワイドテーブル、時系列、検索、ファイルストレージを単一サービスに統合したクラウドネイティブなマルチモデルデータベースです。Apache HBase、Apache Cassandra、OpenTSDB、Apache Solr、および Hadoop 分散ファイルシステム (HDFS) の API と互換性があるため、アプリケーションコードを書き直さずに既存のワークロードを移行できます。
本トピックでは、Lindorm が置き換えるオープンソースデータベースとの比較を行います。
Lindorm と Apache HBase・Apache Cassandra の比較
LindormTable は、半構造化データおよび構造化データ向けのワイドテーブルエンジンです。HBase API、Cassandra Query Language (CQL)、Phoenix SQL、および標準 Java Database Connectivity (JDBC) を、同一のデータセット上でサポートします。HBase API 経由で書き込まれたデータは、同期処理を必要とせずに即座に CQL でクエリ可能です。
| 機能 | Lindorm | Apache HBase | Apache Cassandra |
|---|---|---|---|
| データモデル | ワイドテーブル、時系列、検索、ファイルを単一サービスで提供 | ワイドテーブルのみ | ワイドテーブルのみ |
| API | HBase API、CQL、Phoenix SQL をサポート。プロトコル間のデータ相互運用性を実現 | HBase API および Phoenix SQL | CQL のみ |
| SQL | 標準 JDBC をサポート。Phoenix SQL は内蔵されており、オープンソース版 Phoenix よりも高い安定性とパフォーマンスを実現 | 外部 Phoenix コンポーネントが必要 | 簡易な SQL ダイアレクトのみ |
| データの型 | 複数のデータの型をサポート。詳細については、「データの型」をご参照ください。 | BYTE[] のみ | 複数のデータの型をサポート |
| 生存期間 (TTL) | テーブル、カラム、セル単位での設定が可能 | テーブルおよびセル単位での設定が可能 | テーブル単位でのみ設定可能 |
| 整合性 | 強整合性および結果整合性 | 強力な一貫性 | 強力な一貫性 |
| グローバルセカンダリインデックス | 内蔵機能。外部コンポーネント不要 | 外部コンポーネントが必要。構成が複雑 | サポート済み |
| 全文検索および多次元クエリ | LindormSearch との統合により内蔵。詳細については、「概要」をご参照ください。 | 非対応 | 非対応 |
| スループット | オープンソース版 Apache HBase の 7 倍。詳細については、「ベンチマーク結果の分析」をご参照ください。 | 基準値 | データなし |
| P99 レイテンシ | オープンソース版 Apache HBase の 1/10。詳細については、「ベンチマーク結果の分析」をご参照ください。 | 高尾部レイテンシ | 高尾部レイテンシ |
| ストレージコスト | 自己管理型クラウドディスクと比較して最大 80 % 削減可能。ストレージ仕様には、パフォーマンス、標準、キャパシティが含まれます | 自己管理型クラウドまたはローカルディスク。弾力的スケーリング不可 | 自己管理型クラウドまたはローカルディスク。弾力的スケーリング不可 |
| コンピューティングとストレージの分離 | サポート済み。ストレージおよびコンピューティングを独立してスケール可能 | 非対応 | 非対応 |
| データ圧縮 | 内蔵の最適化アルゴリズムを採用。圧縮率は 10:1 を超え、Snappy より 50 % 以上向上 | Snappy、LZ4、LZO をサポート。圧縮率は低め | Snappy および LZ4 をサポート。圧縮率は低め |
| アダプティブエンコーディング | サポート済み。デコードせずに高速クエリを実現 | DIFF エンコーディングを採用。中程度の圧縮率だが、エンコードされたデータは取得不可 | 非対応 |
| ホットデータとコールドデータの分離 | 自動階層化ストレージを採用。ストレージコストを 80 % 削減し、ホットデータのクエリパフォーマンスを 15 % 向上。詳細については、「概要」をご参照ください。 | 非対応 | 非対応 |
| 最小ノード数 | 該当なし。 | 最低 3 ノード | 最低 3 ノード |
| スケーラビリティ | 数千ノードまでスケール可能 | 数千ノードまでスケール可能 | パフォーマンスボトルネック発生前の上限は約 100 ノード |
| アクティブ/アクティブ冗長構成 | サポート済み。自動フェイルオーバーおよびデュアルクラスターデプロイを含む。Lindorm を、自己管理型 HBase または Cassandra インスタンスとプライマリ/セカンダリモードで併用可能。 | フェイルオーバー機能なし | サポート済みだが、3 つのレプリカが必要 |
| マルチデータセンターにおける強力な整合性 | サポート済み。データセンター単位のディザスタリカバリを実現 | 非対応 | 非対応 |
| バックアップおよび復元 | Object Storage Service (OSS) への 100 TB 超のバックアップを実施可能。目標復旧時間 (RTO) は 30 分未満。オンデマンドバックアップおよびポイントインタイム復元をサポート。詳細については、「データバックアップおよび復元の有効化」をご参照ください。 | 限定的なサポート | 限定的なサポート |
| アクティブ地理的冗長性 | サポート済み。リージョンおよびユニットを横断したデプロイを可能にし、構成可能なデータ同期を実現 | 非対応 | ある程度のサポート |
| 認証およびアクセス制御リスト (ACL) | ユーザー名/パスワード認証および ACL をサポート | 非対応 | サポート済み |
| リソースの隔離 | リソースグループを用いたテナント間の物理リソース隔離を実現 | 非対応 | 非対応 |
| クォータ管理 | テナントごとにグローバルなリクエストおよびストレージクォータを設定可能 | マルチテナンシー非対応 | 非対応 |
| 静止時暗号化 | Key Management Service (KMS) を介してサポート。すべてのデータおよびログを暗号化 | 限定的なサポート | 非対応 |
| リモートプロシージャ呼び出し (RPC) ブラックリスト | サポート済み。特定の RPC 呼び出しに対してレート制限を設定可能 | 非対応 | 非対応 |
| 監査 | 非対応 | 非対応 | 非対応 |
| テーブルのゴミ箱 | 削除されたテーブルは回復可能なゴミ箱に移動 | 非対応 | 非対応 |
| 連鎖分割 | コンパクションを待たずにリージョンを継続的に分割可能 | 非対応 | 非対応 |
| 離散 TTL | 単一テーブル内で複数の時間範囲にわたるデータ保持を実現 | 非対応 | 非対応 |
| 運用および保守 (O&M) ツール | テーブル、名前空間、リソースグループ、ACL のクラスター管理を GUI で実施可能。詳細については、「クラスター管理システムへのログイン」をご参照ください。 | HBase Shell のみ | CLI ツールのみ。GUI 非対応 |
| SQL を用いたデータクエリ | グラフィカルインターフェイスで SQL クエリを実行可能。詳細については、「データクエリ」をご参照ください。また、HBase Shell および cqlsh もサポート。 | HBase Shell のみ | cqlsh のみ |
| データ移行 | オンライン、バージョン横断、自動化された移行を、任意の HBase または Cassandra バージョンから実施可能。アプリケーションコードの変更は不要。詳細については、「概要」をご参照ください。 | オフライン移行のみ | オフライン移行のみ |
| MySQL データ同期 | Lindorm Tunnel Service (LTS) を介した MySQL からの完全同期および増分同期を実施可能。詳細については、「概要」をご参照ください。 | 専用ツールなし。オンライン増分同期非対応 | 専用ツールなし。オンライン増分同期非対応 |
| Apache Spark 連携 | 深く連携:増分同期、Spark SQL 分析、および Lindorm への結果書き戻しが可能 | 手動連携。多大な開発工数が必要 | 手動連携。多大な開発工数が必要 |
| MaxCompute 連携 | Lindorm から MaxCompute への増分データアーカイブを実施可能 | 手動連携。多大な開発工数が必要 | 手動連携。多大な開発工数が必要 |
| Simple Log Service (SLS) 連携 | SLS からのリアルタイムデータをサブスクライブし、Lindorm へインポート可能。詳細については、「概要」をご参照ください。 | 手動連携。多大な開発工数が必要 | 手動連携。多大な開発工数が必要 |
| SLA | シングルクラスターデプロイで 99.9 %、デュアルクラスターデプロイで 99.99 % | SLA なし | SLA なし |
| O&M コスト | フルマネージド。データベース管理者による運用管理不要 | O&M コストが高い | O&M コストが高い |
| 技術サポート | Apache Project Management Committee (PMC) メンバーおよびコミッターを含む専門チームが対応 | 専任サポートなし | 専任サポートなし |
| 実績 | Alibaba Group のワークロードを支える数十万インスタンスを、9 回の Tmall 独身の日ショッピングフェスティバルで実証済み | 実績なし | 実績なし |
Lindorm と OpenTSDB の比較
LindormTSDB は、OpenTSDB プロトコルと互換性のある高性能かつフルマネージドな時系列エンジンです。Alibaba Cloud が独自開発したインデックス、データモデル、およびストリーミング集約機能により、OpenTSDB では HBase 上で自ら構築する必要がある機能を提供します。
| 機能 | LindormTSDB | OpenTSDB |
|---|---|---|
| サービス可用性 | 99.9 % | 自己管理型。可用性を確保するため、すべての依存関係を含むクラスターのプロビジョニングおよび構成が必要 |
| データ信頼性 | 99.9999 % | 自己管理型。信頼性は HBase およびインフラ構成に依存 |
| インフラコスト | ハードウェアおよびソフトウェアの導入不要。実際の使用量に基づいて課金 | 専用データベースサーバーが必要 |
| メンテナンス | フルマネージド | 専任のデータベース管理者 (DBA) が必要 |
| デプロイメントおよびスケーリング | 即時有効化。弾力的スケーリングを実現 | ハードウェア調達、データセンターのホスティング、およびマシンの手動デプロイが必要 |
| 依存関係管理 | O&M 不要 | AsyncHBase、HBase、および関連依存関係の管理が必要 |
| パラメーター調整 | ベストプラクティスに基づき事前に構成済み | salt 値、接続数、flush モード、コンパクション設定などの手動構成が必要 |
| テーブル作成 | 自動管理。ユーザーには透過的 | 静的テーブル作成のための手動 O&M が必要 |
| モニタリングおよびアラート機能 | すべてのプロセスにわたる内蔵モニタリングを実施 | サードパーティ製ツールが必要 |
| データモデル | 複数値および単一値 | シングル値のみ |
| SDK | Java SDK | クエリ用 SDK なし |
| データの型 | 数値、ブール値、および文字列 | 数値のみ |
| SQL クエリ | サポート済み | 非対応 |
| 漢字サポート | 英字および漢字 | 英字のみ |
| タグパラメーター | 任意指定 | 必須 |
| 最大タグキー数 | 16 | 8 |
| エコシステム連携 | Apache Flink および IoT Platform とのシームレスな連携を実現 | 限定的。Alibaba Cloud サービスとのネイティブ連携なし |
| データ圧縮 | 専用の時系列圧縮アルゴリズムを採用。高い圧縮率を実現 | 汎用圧縮アルゴリズムを採用。圧縮率は低め |
| 読み取り/書き込みの分離 | 読み取りおよび書き込み用に別々のスレッドプールを採用。混合ワークロード下でも安定したパフォーマンスを維持 | 読み取りおよび書き込みパスが結合。接続枯渇により障害が発生する可能性あり |
| 集約 | 細かい粒度のメモリ管理を備えたストリーミング集約を実施 | インメモリ集約を実施。OutOfMemory 例外のリスクあり |
Lindorm と Elasticsearch・Apache Solr の比較
LindormSearch は、標準 Apache Solr API と互換性のある分散検索エンジンです。LindormTable および LindormTSDB と統合され、単一サービス内で複数のデータモデルにわたる統合ストレージおよび取得を実現します。
| 機能 | LindormSearch | オープンソース版 Elasticsearch | Apache Solr |
|---|---|---|---|
| データモデル | ワイドテーブル、時系列、検索、ファイルをサポート。他の Lindorm エンジンからのインデックスをシームレスに格納可能 | 検索のみ | 検索のみ |
| APIs | CQL、Phoenix SQL、および Solr API | Elasticsearch API | Solr API |
| TTL | テーブルおよびカラム単位での設定が可能 | テーブル単位でのみ設定可能 | テーブル単位でのみ設定可能 |
| 統合ストレージおよび取得 | LindormTable および LindormTSDB と統合し、マルチモデルクエリを実現 | 非対応 | 非対応 |
| スループット | Apache Solr の 130 %~200 % | データなし | 基準値 |
| ストレージコスト | 自己管理型クラウドディスクと比較して最大 80 % 削減可能。ストレージ仕様には、パフォーマンス、標準、キャパシティが含まれます | 自己管理型クラウドまたはローカルディスク。弾力的スケーリング不可 | 自己管理型クラウドまたはローカルディスク。弾力的スケーリング不可 |
| コンピューティングとストレージの分離 | サポート済み。ストレージおよびコンピューティングを独立してスケール可能 | 非対応 | 非対応 |
| データ圧縮 | 内蔵の最適化アルゴリズムを採用。圧縮率は 10:1 を超え、Snappy より 50 % 以上向上 | 非対応 | 非対応 |
| ホットデータとコールドデータの分離 | 自動時間ベースシャーディングを採用。コールドデータにはコスト効率の高いメディアを使用 | 非対応 | 非対応 |
| ストレージの拡張性 | 高い拡張性。コンピューティングとストレージを分離し、数クリックでスケールアップまたはスケールアウト可能。ストレージは数秒、コンピューティングは数分でスケール | 低い拡張性。スケールアウト前にデータ移行が必要。スケールアウトに数時間かかる | 低い拡張性。スケールアウト前にデータ移行が必要。スケールアウトに数時間かかる |
| 読み取り専用レプリカ | 各シャードは 1 つのプライマリおよび複数の読み取り専用レプリカをサポート。レプリカ追加は数秒で完了 | サポート済みだが、データ移行が必要。数時間かかる | サポート済みだが、データ移行が必要。数時間かかる |
| データ移行 | Apache Solr またはオープンソース版 Elasticsearch からのオンライン、自動化された移行を実施可能。アプリケーションコードの変更は不要。詳細については、「概要」をご参照ください。 | オフライン移行のみ | オフライン移行のみ |
| MySQL データ同期 | LTS を介した MySQL からの完全同期および増分同期を実施可能。詳細については、「概要」をご参照ください。 | 専用ツールなし。オンライン増分同期非対応 | 専用ツールなし。オンライン増分同期非対応 |
| Apache Spark 連携 | 深く連携:Spark SQL 分析、増分同期、および Lindorm への結果書き戻しが可能 | 手動連携。多大な開発工数が必要 | 手動連携。多大な開発工数が必要 |
| MaxCompute 連携 | Lindorm から MaxCompute への増分データアーカイブを実施可能 | 手動連携。多大な開発工数が必要 | 手動連携。多大な開発工数が必要 |
| SLS 連携 | SLS からのリアルタイムデータをサブスクライブし、Lindorm へインポート可能。詳細については、「概要」をご参照ください。 | 手動連携。多大な開発工数が必要 | 手動連携。多大な開発工数が必要 |
| SLA | シングルクラスターデプロイで 99.9 %、デュアルクラスターデプロイで 99.99 % | SLA なし | SLA なし |
| O&M コスト | フルマネージド | データなし | データなし |
| 技術サポート | Apache PMC メンバーおよびコミッターを含む専門チームが対応 | 専任サポートなし | 専任サポートなし |
| 実績 | Alibaba Group のワークロードを支える数十万インスタンスを、9 回の Tmall 独身の日ショッピングフェスティバルで実証済み | 実績なし | 実績なし |
Lindorm と HDFS の比較
LindormDFS は、Hadoop 分散ファイルシステム (HDFS) プロトコルと互換性のあるクラウドネイティブなファイルストレージエンジンです。コンピューティングとストレージを分離することで、自己管理型 HDFS の運用複雑さを回避しながら、弾力的スケーリングおよび階層化ストレージを実現します。
| 機能 | LindormDFS | オープンソース版 HDFS |
|---|---|---|
| HDFS プロトコル互換性 | サポート済み | サポート済み |
| 基本読み取り/書き込み API | 完全サポート | 完全サポート |
| 高度な管理 API | 完全サポート | 完全サポート |
| ストレージ単位価格(購入ページに表示される実際の価格が優先されます) | 0.019 USD/GB/月から | 0.023 USD/GB/月から |
| ストレージのスケーリング | 最小ステップサイズなしでスムーズなオンラインスケーリングを実施可能 | スケーリングごとの最低コストが高く、ステップサイズが大きい |
| コンピューティングとストレージの分離 | サポート済み。ストレージおよびコンピューティングを独立してスケール可能 | 非対応。ストレージおよびコンピューティングは共存デプロイ |
| ホットデータとコールドデータの分離 | 自動階層化ストレージを採用。ホットデータおよびコールドデータを異なるメディアに格納 | 非対応 |
| 最大ノード数 | 制限なし | 0~1,000 |
| ストレージ容量 | 0~1 EB | 0~10 PB |
| 最大ファイル数 | 数百億 | 数千万 |
| エコシステム | Alibaba Cloud のデータエコシステムおよび、Apache Hadoop、Apache Spark を含むオープンソースビッグデータエコシステムと連携 | Apache Hadoop、Apache Spark を含むオープンソースビッグデータエコシステムと連携 |
| メンテナンス | O&M 不要。操作が簡単 | ステートフルサービス。複雑なメンテナンスが必要 |