単純な S3 だけです。

2026/04/11 19:36

単純な S3 だけです。

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

信頼できるローカルストレージ解決策を求めることは、人気のあるオープンソース代替案でしばしば行き詰まることであり、Minio などのプロジェクトはバグ(例えば破綻した削除ロジック)により失敗し、AI 業界向けの資金調達へと方針を転換しました。その他、Garage は同様の理由で一時的に停止されたものもあり、Rust ベースであるにも関わらず過剰に複雑さを残しているままのケースも存在します。SeaweedFS は LAN ネットワーク上で著しく低速であり、CEPH は基本的なニーズに対してリソース消費が大きく、複雑すぎます。さらに Rust ベースの選択肢も時折長編コンパイル時間に対応できず、rclone は主にクライアントとして機能し、プロダクションサーバーとしては不適切です。これに対して Versity GW は、速度と安定性を特に重視したハイパフォーマンスな代替ソリューションとして浮上しています。単一スレッドの NodeJS アーキテクチャや中止された実験とは異なり、Versity GW は「ひっさび」なラインレートダウンロードを提供し、LAN 内で迅速なデータアクセスを必要とするユーザーにとって理想的です。Minio の実践的なバイナリ代替として機能し、関連する互換性の問題を引き起こさず、広範なメタデータ処理の側面と共に直接ファイルシステムバックエンドをサポートします。現在では学術機関や政府機関で主に知られており一般商業市場では浸透していないものの、Versity GW は実運用対応のストレージへとの変化を象徴しています。

Text to translate:

Seeking a reliable local storage solution often leads to dead ends with popular open-source alternatives. Projects like Minio have faltered due to bugs (such as broken deletion logic) and shifted focus toward AI industry funding, while others like Garage were paused for similar reasons or remain overly complex despite their Rust foundation. SeaweedFS suffers from significant slowness on LAN networks, and CEPH is too resource-heavy and complex for basic needs. Even Rust-based options sometimes struggle with long compile times, and rclone acts primarily as a client rather than a production server. In contrast, Versity GW emerges as a high-performance alternative specifically designed for speed and stability. Unlike single-threaded NodeJS architectures or abandoned experiments, Versity GW delivers "lightning fast" line-rate downloads, making it ideal for users needing rapid data access within a Local Area Network (LAN). It offers a practical binary replacement for Minio without associated compatibility issues, allowing direct filesystem backend support alongside extensive metadata handling. While currently known primarily among academic and government institutions rather than general commercial markets, Versity GW represents a shift toward production-ready storage.

本文

単に S3 機能を求めているだけです。要件は非常にシンプルです。スケールアウトも不要で、レプリケーションも不要です。必要なのは、S3 プロトコルを確実かつ高速に実行できるソリューションのみです。

  • Minio はもう終焉を迎えました。AI 業界への資金調達を追うためにインターフェースを廃止し、リポジトリをアーカイブ化する決断を下したのです(その手法を多用する方々にとってはその判断は幸運かもしれませんが)。テストで検出できなかったバグ(レスポンスのモック化により実際のコードテストを行っておらず、結果として削除機能が一時期破損していたことを指摘した際、開発元側は平然とした反応を示しました)を発見したため、私は既に彼らを評価基準から除外していました。
  • Garage は新進気鋭で興味深いです。Rust で構築されていますが、私が最後に試した頃(6 ヶ月前?)、 unnecessarily complex でありすぎることが欠点でした。まだ若いため開発は一時中断していましたが、資金調達に伴うものでした。また、当時は私が必要ないくつかの標準的な S3 機能が欠けていました。現在ではより改善されているかもしれません。しかし、依然として重すぎる感じがあります。
  • SeaweedFS は正直言って非常に面白いものです。彼らのアプローチや、WebDAV 対応のような拡張性を可能にするレイヤーを追加した点が気に入っています。何か不明な要因があるようですが、マスターノードとボリュームノードで稼働させても低速でした。新しい weed mini アプローチに切り替えても同様です。数 GB の通常のファイルを格納しているにも関わらず(高度な設定は施していません)、自家ネットワーク(LAN)内であってもファイルのダウンロードが非常に遅いです。初期速度は数百 KB/s 程度から始まり、ようやく〜10 Mbps に達しますが、なぜでしょうか?LAN 上での通信であれば瞬時ではあるべきではないでしょうか。
  • CEPH は巨大な存在です。極めて大規模であり、職場でも導入されています。私が必要とするレベルよりもはるかに複雑ですが、もし真に Amazon S3 と対抗できるシステムを構築したいのであれば、CEPH が適しているでしょう。SeaweedFS もほぼ同等の能力を持つと言われています。

Versity GW ベンチマークを行う S3 バックエンドのパフォーマンスに関するスレッドの中で、このソリューションを取り上げられたい方、Reddit のコメント欄の貢献者に感謝申し上げます。これがあることを知らない人々も多く、主にサンディア国立研究所、ローズアラモス国立研究所、軍事施設、および一部の大学のみにしか知られていないようです!

  • Versity S3 ゲートウェイは現在、汎用 POSIX ファイルバックエンドストレージと Versity の ScoutFS ファイルシステムに対応しています。
  • Versity メインの用途が何かを私は把握していません。他の S3 バックエンドへのプロキシ機能を提供することで、認証情報を外部に公開する必要なく済ませたり、独自の認証レイヤーを提供したりできます。リードスルーキャッシュ化は可能でしょうか?確認していないため不明です。ローカルバケットとプロキシされたバケットの併存は可能でしょうか?これも確認しておらず不明です。
  • 少なくとも実現できるのは、ローカルのファイルシステム自体を S3 ストレージとして直接使用することですが、それだけで十分満足できます。Web インターフェースで管理ができ、匿名公開読み取り用バケットもサポートし、ポリシー処理も可能です。興味深い点としては、オブジェクトメタデータを xattrs(Extended Attributes)を使って保存していることです。

このソリューションを導入し、rclone でデータを移行してテストを行うと、LAN 上で期待通りの光速のようなパフォーマンスを発揮し、ラインレートでのダウンロードを実現できました。ようやく健全な状態が回復しました。今から待ち望んでいるのは、ZFS ネイティブのオブジェクトストレージへの置き換えであり、現在誰かが開発を推進してくれています。

後発候補者 Versity をデプロイした後に知ることになりましたが、以下の注記があります:

  • RustFS: 新しい候補の一つで、これも Rust で書かれています。私の需要よりも重そうですが、ベンチマーク結果では Minio(POSIX ファイルシステムをバックエンドとするもの)より高速です。100% S3 互換性を謳っており、これが事実であれば非常に素晴らしいことだと考えます。「2023 年 12 月に開発を開始し、2025 年 7 月 2 日にオープンソースプロジェクトとして公式にローンチしました」という記述があり、「ユーザーは現在 MinIO から RustFS にバイナリ置換を通じて移行できます」。
    • まだ評価していません。コンパイル時間が非常に長く、また FreeBSD Ports にも含まれていないため(自分でポーチングが必要となる)、環境にさらに Rust を追加することに enthusiasm がありません。ファイルシステムを使わず、オブジェクトをカスタムデータ形式にパックするアプローチをとっている場合、小規模なオブジェクトの性能は低下しますが、私はそもそも通常のファイルシステムバックエンドを希望しています。 Entire disks や ファイルシステム全体を与えることでデータを分散でき、壊れたディスクを交換した際にも修復・回復できる点はすばらしいですね!
  • rclone: S3 サーバーとして動作させる機能がありますが、それが主な目的ではなく、依存することに慎重です。この件については知っていましたが却下していました。推測するに、サーバー側の実装は主にクライアントのテストを容易にするために行われたのではないかと思われます。
  • Filestash: 非常に魅力的なオールインワンソリューションに見え、調査すべきです。「FTP、SFTP、S3、SMB、WebDAV、IPFS およびその他約 20 プロトコルと動作する、ストレージプロトコルの制限に依存しない Dropbox 類似のファイルマネージャーとして始まりました」という記述があります。
  • Zenko CloudServer: 聞いたことがないのもう一つです。NodeJS で書かれており、シングルスレッドイベントループの課題を楽しんでいただければ幸いです。
  • Supabase Storage: これも NodeJS ですが、メタデータを Postgres に格納します。権限管理は Postgres の行レベルセキュリティ(RLS)で処理されています。興味深い概念です。

同じ日のほかのニュース

一覧に戻る →

2026/04/14 2:54

1 つ、30 の WordPress プラグインを購入し、それぞれにバックドアを埋め込まれた。

## Japanese 翻訳: 元サマリーの原文は明確で正確であり、高レベルの概要として十分に範囲内に収まっており、改行文筆は必要ありません。

2026/04/14 5:36

GitHub で積み上がったプルリクエストを処理する。

## Japanese Translation: 本テキストでは、「Stacked PRs(スタックされたプルリクエスト)」を紹介します。これは、大規模で管理が困難なプルリクエストによる問題、例えばレビューの難易度が高いこと、マージにかかる時間が長いこと、頻繁な衝突などを解決するために GitHub が実装した機能です。開発者は一度に巨額の変更を提出するのではなく、作業を注力し独立した層に分割し、それらが互いに縦方向に積み上げられ、最終的に main ブランチへマージされるまで進めます。 GitHub 本家はこのワークフローを、ナビゲーション用の可視化「スタックマップ(stack map)」UI でサポートしており、ブランチ保護規則がターゲットとなる最終ブランチに対して自動的に適用され、継続的統合(CI)システムが各層ごとに個別にテストを実行し、main ブランチへのマージを想定する manner で動作します。また、ユーザーはスタックの全て、または一部の PR をマージすることができ、残りの PR は自動的にリベースされ、スタック構造が維持されます。 このワークフローをローカル環境で管理するためには、開発者は `gh stack` CLI ツールを使用します。これは、拡張機能をインストール(`gh extension install github/gh-stack`)し、`gs init`、`gs add`、`gs push`、`gs submit` などのコマンドを用いてブランチを作成し、カスケードリベースを管理し、スタックをレビューまたはマージのためにオープン化することを意味します。将来的には、AI コーディングエージェントもこのスタックを自律的に処理できるように、特定のスキルパッケージ(`npx skills add github/gh-stack`)をインストールすることで教育できます。Ultimately(結果として)、Stacked PRs はチームが段階的なレビューを通じてコードの品質を向上させながら、大規模なコードベースを維持するために必要な手動作業を劇的に削減することを可能にします。

2026/04/14 0:31

『何事も起きない:スポーツ市場以外では常に「いいえ」と購入する Polymarket ボット』

## Japanese Translation: 本書では、Polymarket でスポーツ以外の Yes/No マーケットにおける「NO」エントリを取引することを目的に特化して構築された非同期の Python ボット「Nothing Ever Happens」を معرفیしています。本プロジェクトは娯楽目的でのみ提供されるものであり、保証や免責事項は一切適用されません(as-is)として提供されます。ライブフラグが設定されていないデフォルト状態では `PaperExchangeClient` が採用され、シミュレーションテストが行われます。リアルな取引を実行するには、環境変数を明示的に設定する必要があるためです。具体的には、`BOT_MODE=live`、`LIVE_TRADING_ENABLED=true`、`DRY_RUN=false` などを設定することでリアル取引モードを有効化します。また、ライブオーダーの送信を有効にするには、`PRIVATE_KEY`、`FUNDER_ADDRESS`(署名タイプ 1 および 2 の場合)、データベース URL、および Polygon RPC URL などの特定のエントリが必要となります。 ボットのアーキテクチャはモジュール化されており、ランタイムロジック、取引所クライアント、ダッシュボード UI、回復ツール、そしてコア戦略モジュールである「nothing_happens」で構成されています。ローカルでのセットアップでは、`pip install -r requirements.txt` によって依存関係をインストールし、`config.example.json` を `config.json` にコピーして非機密設定をその中で構成し、秘密鍵やフラグは `.env` ファイル(パス:`strategies.nothing_happens`)に保存します。ローカル設定は意図的に git 無視されており、ユーザーは環境変数 `CONFIG_PATH` を通じてランタイムが参照する異なるパスを指定できるようにしています。 Heroku でのクラウドデプロイメントでは、特定のコマンドヘルパー(`alive.sh`、`logs.sh`、`kill.sh`)を使用して、アプリの状態を管理し、ライブ取引の有効化/無効化やロギングを行うことができます。デプロイには、bot モード、プライベートキー、RPC URL、データベースに関する環境変数を `heroku config:set` コマンドを用いて設定する必要があります。-production 環境では、誤って長時間実行タスクを実行してしまうのを防ぐためにワーカーダイノを除外し、ウェブダイノのみを使用するようにスケーリング構成されています。また、`db_stats.py`、`export_db.py`、`wallet_history.py`、`parse_logs.py` などのユーティリティスクリプトは、データベースの点検やログ分析を実行することなく市場の変動を意図的に引き起こさずにこれらの情報を可視化することを可能にするため、透明性を高めています。

単純な S3 だけです。 | そっか~ニュース