PyTables/PyTables

A Python package to manage extremely large amounts of data

解決する課題

PyTablesは、極めて大規模な階層型データセットの管理と保存という課題に対処します。膨大なデータを効率的に保存および取得する方法を提供し、従来のリレーショナルデータベースやオブジェクト指向データベースと比較して、ディスクとメモリのフットプリントを大幅に削減します。

仕組み

HDF5ライブラリとNumPyの上に構築されたPyTablesは、オブジェクト指向インターフェースを使用してデータを管理します。テーブル(固定長レコード)やさまざまな種類の配列といった構造化フォーマットで情報を保存します。パフォーマンスが重要なタスクにはC拡張を使用し、Bloscのような高度な圧縮アルゴリズムをサポートすることで、CPUとI/Oのオーバーヘッドを最小限に抑えます。これにより、多くの場合、基盤となるハードウェアの帯域幅が通常許容するよりも高速なデータ処理が可能になります。

対象ユーザー

データ収集システム、シミュレーションソフトウェア、ネットワーク監視、大規模なシステムログリポジトリなど、大規模な多次元データを扱う開発者や科学者向けに設計されています。リレーショナルデータベースを置き換えるものではなく、補完することを目的としています。

ハイライト

  • 標準的なデータベースと比較して3〜5倍少ないスペースで済む、非常に効率的なストレージ。
  • Bloscライブラリによる高速圧縮のネイティブサポート。
  • 生産的な対話型データ分析のための組み込みイテレータを備えたユーザーフレンドリーなインターフェース。
  • テーブル、拡張可能な配列、可変長配列を含む柔軟なデータ構造。
  • Linux、macOS、Windowsで動作するクロスプラットフォーム互換性。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト