クラウド
中級

Supabase Realtime Broadcast(スーパーベースリアルタイムブロードキャスト)

2024年Supabase Realtime機能拡充。Postgres Changes+Broadcast+Presence+Database Functions Trigger+Row Level Security統合+Edge Functions連携搭載。

0 回閲覧
0 いいね
2026/5/5 更新
関連タグ
Supabase
Realtime
Broadcast
WebSocket
PubSub

概要

Supabase Realtime Broadcastは2024年Supabaseが大幅機能拡張したRealtime Broadcast仕様で、WebSocket経由のサーバーレスPub/Sub+ Database Changes Streaming+ Presence(在席状況)+ Edge Functions連携の4機能セットでRealtimeアプリ構築の標準解として位置づけ。Supabase(PostgreSQL+Auth+Storage+Edge Functions+Realtimeを一体化したBaaS Platform)の中核機能で、Firebase Firestore Realtime Listener・Pusher Channels・Ably Realtime等の競合に対する差別化要素。2024年9月の機能強化では、Broadcast Throughput 10倍向上+Presence Tracking 効率化+Database Function Trigger 統合+Authorization 細粒度制御等の改善。リアルタイムCollaboration App(Figma/Notion/Linear等)・Live Chat・Multiplayer Game・IoT Dashboard・Live Sports Score等の用途で、Supabase 単独で完結するBackendスタックを構築可能。jisaku.com APIは Hono on Bun + PostgreSQL直接接続採用で Supabase 不採用だが、Realtime機能必要な記事ベース読者向けの重要技術。

主な特徴・仕組み

  • Postgres Changes: PostgreSQL CDC(Change Data Capture)経由のRow-level変更通知
  • Broadcast Channel: WebSocket Pub/Sub、任意のJSON Payload送受信
  • Presence Tracking: 同一Channelに参加するUser一覧+在席状態自動同期
  • Row Level Security統合: Supabase Auth+RLS Policy で細粒度Access Control
  • Database Function Trigger: PostgreSQL Function から Broadcast送信可能
  • Edge Functions連携: Edge Function内から Realtime Channel送信
  • WebSocket Multiplex: 単一接続で複数Channel購読、Resource効率
  • Throughput 100K+ msgs/sec: Production対応、Scale-out自動
  • Replay対応: 一定時間内の過去Message取得、接続切れ復帰時に役立つ
  • Multi-region: グローバル分散、低レイテンシ実現
  • JavaScript/Dart/Swift Client SDK: 主要プラットフォーム公式SDK提供

スペック比較表

項目Supabase RealtimeFirebase Firestore RealtimePusher ChannelsAbly Realtime
実装PostgreSQL+WebSocketFirestore SDKWebSocketWebSocket
DB CDC○ Postgres Changes× (Firestore直接)××
Presence○ Native× (Firebase Presence別)○○
Broadcast○ JSON Payload△ Document経由○ Native○ Native
Edge Function統合○○ Cloud Functions△ Webhook△ Webhook
Pricing$0-25/month +ThroughputPay-per-read/write$7-99/month$29-99/month
Throughput100K+ msgs/secHighMediumHigh
OSS Self-host○ Supabase OSS× Firebase××

具体例・対応製品

import { createClient } from '@supabase/supabase-js';

const supabase = createClient(URL, ANON_KEY);

// 1. Broadcast Channel
const channel = supabase.channel('chat-room-1');

channel
  .on('broadcast', { event: 'message' }, (payload) => {
    console.log('New message:', payload);
  })
  .subscribe();

// Send broadcast
channel.send({
  type: 'broadcast',
  event: 'message',
  payload: { user: 'Alice', text: 'Hello!' }
});

// 2. Postgres Changes
supabase
  .channel('table-changes')
  .on('postgres_changes',
    { event: 'INSERT', schema: 'public', table: 'messages' },
    (payload) => console.log('New row:', payload.new)
  )
  .subscribe();

// 3. Presence
const presenceChannel = supabase.channel('online-users');
presenceChannel
  .on('presence', { event: 'sync' }, () => {
    const state = presenceChannel.presenceState();
    console.log('Online users:', state);
  })
  .subscribe(async (status) => {
    if (status === 'SUBSCRIBED') {
      await presenceChannel.track({ user_id: '123', online_at: new Date() });
    }
  });
  • Supabase Cloud: Pricing $0-25/month、Throughput依存
  • Supabase OSS Self-host: Docker compose構成、データ保有完全制御
  • Supabase Auth + Realtime: RLS Policy で細粒度Access Control
  • Edge Functions + Realtime: Edge内から Broadcast送信、Game Backend等
  • 競合機種: Firebase Firestore Realtime、Pusher Channels、Ably Realtime、AWS AppSync、Liveblocks

自作PCでの選び方・注意点

Supabase Realtime BroadcastはWeb/モバイル開発者向けのリアルタイム機能で、jisaku.com の Backend(Hono on Bun + PostgreSQL直接) では採用していないが、リアルタイム機能必要なWebアプリ開発時の選択肢として重要。Supabase Realtime 採用判断基準は、1)PostgreSQL CDCで Database変更通知必要、2)Multi-tenant Realtime+RLS Auth統合、3)Supabase Stack(Auth+DB+Storage+Edge Functions+Realtime)一体化メリット重視、4)OSS Self-host可能性確保。Firebase Firestore Realtime に対する Supabase の優位は、PostgreSQL Native+OSS Self-host可能+Multi-region柔軟+Vendor Lock-in 軽減。Pusher/Ably に対する優位は、PostgreSQL CDC統合+Auth/Storage/Edge Functions統合の Full Backend Solution。一方、Supabase 不採用の判断基準は、1)Supabase Stack 全体のVendor Lock-in 懸念、2)Multi-region で Pricing 不経済、3)Self-host Supabase の運用負荷大。jisaku.com は Hono on Bun + Direct PostgreSQL の独自構成で、Realtime 機能必要な領域は Hono WebSocket(Bun WebSocket Native API) で自前実装可能、Supabase Realtime は不採用。一方、新規プロジェクトや小規模Webアプリは Supabase Stack 採用で開発速度+運用負荷低減のメリット大きい。

関連用語との違い

Firebase Firestore Realtimeとの違い: Firestore は NoSQL Document DB ベース、Supabase Realtime は PostgreSQL Native+CDC。Firestore は Vendor Lock-in 強+Pay-per-read/write、Supabase は OSS Self-host可能+Subscription Pricing。jisaku.com 等のSQL重視プロジェクトには Supabase 適合。 Pusher Channels/Ably Realtimeとの違い: Pusher/Ably は WebSocket Pub/Sub 専用 SaaS、Supabase Realtime は PostgreSQL CDC+Pub/Sub+Presence の3機能セット。Pure Pub/Sub なら Pusher/Ably の方がシンプル+専門特化、Database統合 Realtime なら Supabase。

よくある質問(FAQ)

Q1: Hono on Bun + Direct PostgreSQL から Supabase に移行すべき? A: 通常は推奨しない。jisaku.com の独自構成は Hono Latency最適化+Bun Native性能+Vendor Lock-in 回避でメリット大。Supabase 移行で開発速度向上はあるが、Vendor Lock-in+Pricing+Self-host 運用考慮で総合判断。新規プロジェクトは Supabase 検討価値あり。

Q2: Postgres ChangesとBroadcastどちらを使う? A: DB変更を Trigger に Realtime通知 → Postgres Changes(CDC経由)、任意のメッセージ Pub/Sub → Broadcast。両者組合せ可能、Game LobbyのChat → Broadcast、ScoreboardのDB更新 → Postgres Changesが典型例。

Q3: Throughput Limits は? A: Supabase Cloud Default 100 messages/sec/Channel、最大 100K+ messages/sec/Project(Pricing次第)。Production規模なら適切なPricing Tier選択+Channel Sharding(Channel単位で負荷分散)推奨。

まとめ

  • Supabase Realtime Broadcast = 2024年機能強化リアルタイムスタック
  • Postgres Changes(CDC)+Broadcast+Presence+Edge Functions連携
  • Row Level Security統合+Multi-region+OSS Self-host可能
  • Firebase Firestore Realtime/Pusher/Ably代替候補
  • jisaku.com 不採用、新規Realtime Webアプリの主力選択肢
この記事について
カテゴリークラウド
難易度中級
作成日2026/5/5