すべてのプロダクト
Search
ドキュメントセンター

E-MapReduce:JindoFS の概要と使用方法

最終更新日:Jan 11, 2025

JindoFS は、Alibaba Cloud Object Storage Service(OSS)に基づいて構築された、オープンソースのビッグデータエコシステム向けの Hadoop 互換ファイルシステム(HCFS)です。JindoFS は、OSS にデータを格納するための 3 つのストレージモード(クライアント専用モード(SDK)、キャッシュモード、ブロックストレージモード)を提供します。クライアント専用モードまたはキャッシュモードの JindoFS は、Hadoop および Spark エコシステムのコンピューティングエンジンから OSS へのアクセスを最適化します。ブロックストレージモードの JindoFS は、OSS をストレージバックエンドとして使用することで膨大なストレージ容量を提供し、効率的なメタデータクエリをサポートします。

クライアント専用モード(SDK)

このモードでは、JindoFS は Hadoop コミュニティの OSS FileSystem および S3A FileSystem と同様の機能を提供します。JindoFS は、Alibaba Cloud OSS へのアクセスと、Hive や Spark などのコンピューティングフレームワークのデータに対するさまざまな操作を最適化します。このモードでは、OSS でのファイルまたはオブジェクトの編成方法は変更されません。ファイルは引き続き OSS に保存されます。JindoFS は、Hadoop エコシステムへのクライアント接続、拡張、適応、および最適化されたアクセスのみを提供します。このモードで JindoFS を使用するには、JindoFS SDK の JAR パッケージを classpath ディレクトリにアップロードするだけで済みます。このモードはシンプルで使いやすく、分散サービスのデプロイは必要ありません。SDK

キャッシュモード

このモードは、クライアント専用モード(SDK)と互換性があり、Jindo の分散データキャッシュ機能を使用して OSS のデータキャッシュを高速化します。これは、大規模なデータ分析要件とトレーニングのスループット関連の要件を満たすのに役立ちます。クライアント専用モード(SDK)に基づいて、キャッシュモードはメタデータキャッシュと分散データキャッシュをサポートし、OSS とのデータ互換性と同期を維持します。データは、さまざまなコンピューティングシナリオに合わせて、メモリ、SSD、およびベーシックディスクにキャッシュできます。Cache

ブロックストレージモード

このモードでは、JindoFS は Apache Hadoop HDFS と同様の機能を提供します。JindoFS は、データをキャッシュしてデータアクセスを高速化できます。また、データを編成および保存し、ファイルメタデータを管理することもできます。このモードでは、JindoFS は独立したストレージシステムとして機能しますが、ファイルは OSS にブロックとして保存されます。Block

キャッシュモードとブロックストレージモードの比較

どちらのモードでも、JindoFS は OSS にデータを保存し、ローカルストレージスペースの使用状況に基づいて、ローカルクラスターにデータをキャッシュするかどうかを決定できます。

2 つのモードの本質的な違いは、OSS でのファイルストレージ方法にあります。ブロックストレージモードの JindoFS は、ディレクトリとファイルメタデータを管理し、ファイルをブロックとして OSS に保存します。キャッシュモードの JindoFS は、ファイルをオブジェクトとして OSS に保存します。

3 つのモードの比較

次の表に、複数のディメンションでの 3 つのモードを示します。

ディメンションクライアント専用モード(SDK)キャッシュモードブロックストレージモード
ストレージコスト
  • すべてのデータを OSS に保存します。
  • アーカイブストレージクラスをサポートします。
  • すべてのデータを OSS に保存します。
  • ホットデータをキャッシュします。これは、データ総量の 20% を占めます。
  • アーカイブストレージクラスをサポートします。
  • すべてのデータを OSS に保存します。
  • ウォームデータとホットデータをキャッシュします。これは、データ総量の 60% を占めます。
  • アーカイブストレージクラスをサポートします。
  • 透過的な圧縮をサポートします。
スケーラビリティ比較的高
スループットOSS が占有する帯域幅に依存します。OSS が占有する帯域幅とホットデータのキャッシュに消費される帯域幅に依存します。OSS が占有する帯域幅とウォームデータとホットデータのキャッシュに消費される帯域幅に依存します。
メタデータ
  • HDFS をシミュレートしてメタデータを管理し、ディレクトリベースのストレージとファイルセマンティクスをサポートしていません。
  • エクサバイトのデータをサポートします。
  • HDFS をシミュレートしてメタデータを管理し、ディレクトリベースのストレージとファイルセマンティクスをサポートしていません。JindoFS はファイルデータをキャッシュできます。
  • エクサバイトのデータをサポートします。
  • 最高のパフォーマンスを提供します。このモードの JindoFS の互換性は、HDFS の互換性に近いです。
  • 10 億を超えるファイルをサポートします。
メンテナンスワークロード

キャッシュシステムの O&M が必要です。

比較的高

Namespace Service および Storage Service の O&M が必要です。

セキュリティ
  • AccessKey ペアベースの認証をサポートします。
  • RAM 認証をサポートします。
  • OSS アクセスログをサポートします。
  • OSS データの暗号化をサポートします。
  • AccessKey ペアベースの認証をサポートします。
  • RAM 認証をサポートします。
  • OSS アクセスログをサポートします。
  • OSS データの暗号化をサポートします。
  • AccessKey ペアベースの認証をサポートします。
  • UNIX コマンドを実行するか、Ranger を使用して、このモードの JindoFS の権限を管理できます。
  • AuditLog によって生成された監査ログをサポートします。
  • データ暗号化をサポートします。
使用方法oss://<oss_bucket>/<oss_dir>/ 形式で OSS ディレクトリを指定してファイルにアクセスすることのみが許可されます。OSS ディレクトリへのクロスサービスアクセスがサポートされています。
  • oss://<oss_bucket>/<oss_dir>/ 形式で OSS ディレクトリを指定してファイルにアクセスできます。OSS ディレクトリへのクロスサービスアクセスがサポートされています。キャッシュ機能を有効にすることができます。これはデフォルトの方法です。
  • デプロイされた名前空間のいずれかに jfs://<your_namespace>/<path_of_file> 形式で JindoFS ディレクトリを指定してデータにアクセスできます。JindoFS ディレクトリへのクロスサービスアクセスはサポートされていません。キャッシュ機能を有効にすることができます。
説明 キャッシュモードで JindoFS を使用する方法の詳細については、キャッシュモードの JindoFS のドキュメントをご参照ください。
デプロイされた名前空間のいずれかに jfs://<your_namespace>/<path_of_file> 形式で JindoFS ディレクトリを指定してデータにアクセスすることのみが許可されます。JindoFS ディレクトリへのクロスサービスアクセスはサポートされていません。キャッシュ機能を有効にすることができます。
説明 ブロックストレージモードで JindoFS を使用する方法の詳細については、ブロックストレージモードの JindoFS のドキュメントをご参照ください。

FAQ

  • Q: 典型的なデータレイクシナリオでは、どのモードが推奨されますか?

    A: クライアント専用モード(SDK)とキャッシュモードは、OSS のオブジェクトストレージセマンティクスと完全に互換性があり、完全なコンピューティングストレージ分離と柔軟なスケーラビリティを提供します。典型的なデータレイクシナリオでのビッグデータ分析と AI トレーニングの高速化には、クライアント専用モード(SDK)またはキャッシュモードを使用することをお勧めします。

  • Q: なぜブロックストレージモードの JindoFS は HDFS よりも高いパフォーマンスを提供するのですか?
    A:
    • ブロックストレージモードの JindoFS は、10 億を超えるファイルを処理できます。ただし、HDFS は最大 4 億ファイルしか処理できません。さらに、ブロックストレージモードの JindoFS のパフォーマンスは、クラスタビジネスのピーク時により安定しています。
    • ブロックストレージモードの JindoFS には、Java のオンヒープメモリとメモリ使用量に制限がなく、HDFS よりも大規模なデータを処理できます。HDFS には、Java のオンヒープメモリに制限があります。
    • ブロックストレージモードの JindoFS では、軽量な O&M が必要です。破損したディスクや異常なノードについて心配する必要はありません。データは OSS に 1 つのバックアップがあり、ノードは接続または切断できます。
    • ブロックストレージモードの JindoFS は、コールドデータを透過的に圧縮およびアーカイブできます。さまざまな方法を使用してコストを最適化し、OSS に接続してエクサバイトのデータをサポートします。
    • ブロックストレージモードの JindoFS は、HDFS AuditLog、Ranger との統合、データ暗号化など、HDFS のいくつかの重要な機能をサポートしています。
  • Q: ブロックストレージモードの JindoFS の特別な利点は何ですか?
    A:
    • ブロックストレージモードの JindoFS は、ファイルメタデータを管理し、ファイルデータを編成できます。したがって、ストレージインターフェースに関するさまざまなビッグデータエンジンの要件を完全に満たすことができます。これらのインターフェースには、名前変更操作の原子性とトランザクション処理を実装するためのインターフェース、高パフォーマンスのローカルデータ書き込みを実装するためのインターフェース、透過的な圧縮を実装するためのインターフェース、および truncate、append、flush、sync、snapshot インターフェースなどが含まれますが、これらに限定されません。これらの高レベルのストレージインターフェースは、完全な POSIX を実現するために必要であり、Flink、HBase、Kafka、Kudu などのより多くのビッグデータエンジンを OSS に接続するために使用されます。クライアント専用モード(SDK)の JindoFS またはキャッシュモードの JindoFS も、一部のインターフェースを使用して OSS にアクセスできます。ただし、これら 2 つのモードの機能と利点は不十分です。
    • ブロックストレージモードは、他の 2 つのモードよりも費用対効果が高くなります。これは、ブロックストレージモードでは、データ総量の 60% を占めるウォームデータとホットデータがローカルクラスターにキャッシュされるためです。したがって、OSS ではなくローカルクラスターから大量のデータを読み取ることができます。