AIGFS上に保存される研究データ、学習データ、共有データ群を「Dataset」という論理単位で管理し、利用者がWeb UIを通じて安全かつ容易に操作できる基盤の提供を目的として開発されています。
運用時にはDataset単位での管理を前提とし、単一ディレクトリーへのデータ集中を防ぐことで、スケーラブルなデータ管理を実現します。また、バージョン管理による適切なディレクトリー分割が自然に行われるため、メタノードへのアクセス集中を抑制し、大規模環境においても安定した運用を可能にする設計となっています。
dataset worker 用の専用実行ユーザーを分ける
大容量では複製・整合性確認・段階遷移を十分考慮する
学習再現性の確保
将来のtier移動や複製が発生する
研究データの登録と同時に、ディレクトリ作成、アクセス権設定、配置先ストレージの初期設定を自動化します。
| 項目 | 内容 |
|---|---|
| dataset Name | データセット名 |
| project | プロジェクト |
| owner | 管理者 |
| tags | 検索タグ |
| storage tier | Fast / Staging / Cold |
| visibility | 公開範囲 |
必要時は aigfs entry set --num-targets=.. を設定可能にする
データセットの履歴管理、推奨版の切替、旧版保護をGUIから実行できます。
v3などの新しい版を作成
currentを任意の版へ変更
過去バージョンを読み取り専用化
/datasets/genome-atlas/current
/datasets/genome-atlas/versions/v1
/datasets/genome-atlas/versions/v2
| 管理項目 | 内容 |
|---|---|
| source dataset version | 複製元バージョン |
| destination cluster | 複製先クラスタ |
| replicate job status | ジョブ状態 |
| last success | 最終成功時刻 |
| lag | 同期遅延 |
これに統一することで、単なるファイル共有でなく”管理された dataset platform” にも見せることが可能。
何が存在するかを目標にスタイルをデザイン
Web処理に至る前提として、internal job API → worker とする。
※時間を浪費する場合はCLi依存の形式に更新する。
/beegfs/datasets/
staging/
project-a/
ds-000123/
published/
project-a/
genome-atlas/
versions/
v1/
v2/
current -> versions/v2
fast/
project-a/
genome-atlas/
v2/
archive/
project-a/
genome-atlas/
v1/
データセットの基本情報
バージョン管理情報
レプリケーション管理
ジョブ管理
アクセス制御
研究データ管理では、UNIX 権限のみでは運用要件を満たせないケースがあります。
AIGFSでは Webアプリケーションによるロール管理と、OSレベルのアクセス制御を組み合わせて運用します。
Python FastAPI
PostgreSQL
Keycloak / LDAP / AD
React / Next.js
PostgreSQL Based Queue
Go