このプロジェクトについて
ConvexはWebアプリケーション開発者を対象としたオープンソースのリアクティブデータベースである。データベース、サーバー関数を記述する場所、クライアントライブラリを組み合わせることで、開発者は純粋なTypeScriptを書くだけで、強い一貫性を保ちながらデータを取得しビジネスロジックを実装できる。このプロジェクトは、動的でライブ更新されるアプリケーションの構築とスケーリングを容易にするよう設計されている。
バックエンドはConvexチームによって開発されており、公開リポジトリは数日以内に内部の作業と同期される。READMEには、ランダム化テストフレームワークを含め、ソフトウェアは内部で十分にテストされているが、それらのテストはオープンソースとして提供されるものではないと記載されている。小さなバグ修正は歓迎され、フィードバックはDiscordを通じて促されている。
始めるには、ホスト型クラウドプラットフォームを利用するのが最も簡単で、小規模なアプリケーションやサイドプロジェクトに適した無料枠が用意されている。自分で実行したい場合、セルフホスト版にはダッシュボードやCLIなどクラウドの機能のほとんどが含まれており、Neon、Fly.io、Vercel、Netlify、RDS、SQLite、Postgresといったツールと連携する。セルフホスティングはDocker(推奨)またはビルド済みバイナリで行うことができ、詳細な手順はセルフホスティングガイドに、コミュニティサポートはDiscordの#self-hostedチャンネルにある。
リポジトリの構成には、crates/配下のRustコードがあり、Runtime上にメインバイナリとlocal_backendアプリケーションサーバーが置かれている。またnpm-packages/には、ユーザー定義関数のJS環境向けのudf-runtimeや、CLIが使用するシステム関数向けのsystem-udfsなど、公開および内部のTypeScriptパッケージが含まれている。
READMEには免責事項も記載されている。セルフホストする場合はガイドに従い、デフォルトのインスタンスシークレットと管理者キーを変更すべきである。ConvexはLinuxとMacで最も徹底的にテストされており、Windowsでの経験は少ない。またセルフホスト版のビルドには匿名のビーコンが含まれており、--disable-beaconフラグで無効化できる。ビーコンが報告するのは、ランダムなデプロイ識別子、データベースマイグレーションのバージョン、バックエンドのgitリビジョン、稼働時間のみである。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.