検索アクセス可能な数百万のオーディオ ファイルのストレージ (可能な場合)

検索アクセス可能な数百万のオーディオ ファイルのストレージ (可能な場合)

私は 7TB 相当のファイルを保存するときに発生する問題の解決策を探していました。これらのファイルはすべてオーディオ ファイルで、Astarisk ベースのサーバー freepbx の録音です。

最初にやったことは、高速アクセスのために SSD を搭載したサーバーに Proxmox をインストールし、次に Web 経由でファイルにアクセスするために NextCloud をインストールすることでした (このサーバーはローカル ネットワークでのみ機能するため、セキュリティはここでは問題になりません)。ファイルをアップロードし続けると、特定のファイルの検索に時間がかかり、使用量が 2TB しかないため、これは悪いアイデアだと気づきました。しばらく Next Cloud を試していて、SSH または WebDAV 経由で検索できることはわかっていますが、これらのファイルは複数のユーザーが定期的にアクセスする必要があるため、やはり時間がかかります。

私はまだ 5TB 相当のデータを持っているので、この問題の解決策を探しています。Web アクセス、またはストレージからデータを簡単に検索して取得する他の方法、またはファイルの保存とアクセスに役立つまったく新しい OS/Web サーバーを探しています。

私が持っているのは、起動用の SSD、RAID5 上のストレージ用の 4x4TB ドライブ、アクセス用の 2x ギガビット LAN カードを備えたサーバーで、proxmox がインストールされ、いくつかの仮想マシンが実行されています。データは、年>月>日>数千のファイルという構造になっており、識別のために名前に電話番号が付いています。

ありがとうございました。

答え1

私も大量のオーディオファイルを扱っています。

これに対処するために私が見つけた最良の方法は次のとおりです。

  • アクセスを高速化するには、SSD ディスクと RAID1/ZFS ミラーを使用します。
  • ファイルを処理するのではなく、ファイル名とメタデータを処理します。シンプルで軽量な検索可能なインデックスを作成します。データベースの ElasticSearch は適切に機能しますが、RAM を消費します。インデックス付きフィールド列を持つ PostgreSQL でも同様に機能します。
  • アクセスがトリガーされたときにファイル パスへのリンクを使用するだけです。

私のワークフローは次のとおりです:

  1. シンプルなウェブページからテキストベースのツリーとファイル名を参照する(自作)
  2. クリックしてファイルにアクセス
  3. Web ページはパスに基づいてファイルを取得し、ユーザーに提供します (LAN 上またはインターネット経由)。

ところで、このような量の場合、データホーダーが使用するツールを調べるのも興味深いでしょう。

関連情報