risingwave-best-practices について
risingwave-best-practicesは、RisingWaveの設計とSQLをレビューするスキルです。スキーマ、マテリアライズドビュー、ストリーミングSQL、シンク、性能に関する14のルールを整理し、問題の影響と修正方法を示します。
主な機能
- 01設計と性能に関する14ルール
- 02スキーマとデータソース選択の確認
- 03マテリアライズドビューとストリーミングSQLのレビュー
- 04シンク設定と出力動作の確認
- 05共有データソース・索引・並列度の評価
活用シーン
- 01RisingWaveのスキーマ設計レビュー
- 02マテリアライズドビュー定義の確認
- 03ストリーミングSQLとCDCパターンの評価
- 04シンク設定や性能問題の調査
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ risingwavelabs/ agent-skills --skill risingwave-best-practicesインストール後、Claude Code で/risingwave-best-practicesを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdrules/_sections.md_template.mdmv-background-ddl.mdmv-emit-on-window-close.mdmv-no-order-by.mdperf-indexes-on-mv.mdperf-parallelism.mdperf-shared-source.mdschema-append-only.mdschema-source-vs-table.mdschema-watermark.mdsink-force-compaction.mdsink-snapshot-false.mdstream-cdc-pattern.mdstream-temporal-join.mdstream-tumble-windows.md詳細
RisingWave のベストプラクティス
スキーマ設計、ストリーミング SQL のパターン、シンクの構成、パフォーマンスに関する 14 のルールです。
適用方法
- 以下のレビューの種類に応じたルールファイルを読みます
- レビュー対象の設計またはコードにルールを適用します
- 違反による影響と修正方法を説明します
レビュープロセス
スキーマレビュー
- schema-source-vs-table.md — SOURCE と TABLE の選択
- schema-append-only.md — 不変のストリームに対する APPEND ONLY
- schema-watermark.md — ウォーターマークの配置
マテリアライズドビューのレビュー
- mv-emit-on-window-close.md — ウィンドウ化クエリの EOWC
- mv-background-ddl.md — 大規模テーブルでのノンブロッキング DDL
- mv-no-order-by.md — MV 内の ORDER BY
ストリーミング SQL のレビュー
- stream-tumble-windows.md — 時間ウィンドウ関数
- stream-cdc-pattern.md — 2 段階の CDC セットアップ
- stream-temporal-join.md — ストリームと CDC テーブルの結合
シンクのレビュー
- sink-snapshot-false.md — バックフィルによる重複を防止
- sink-force-compaction.md — 出力量を削減
パフォーマンスレビュー
- perf-shared-source.md — Kafka ソースの共有
- perf-indexes-on-mv.md — マテリアライズドビューのインデックス
- perf-parallelism.md — MV の並列度のチューニング
ルールのカテゴリ
| 優先度 | カテゴリ | 影響 | プレフィックス | ルール数 |
|---|---|---|---|---|
| 1 | スキーマ設計 | CRITICAL / HIGH | schema- | 3 |
| 2 | マテリアライズドビュー | CRITICAL / HIGH | mv- | 3 |
| 3 | ストリーミング SQL | CRITICAL / HIGH | stream- | 3 |
| 4 | シンクの構成 | HIGH / MEDIUM | sink- | 2 |
| 5 | パフォーマンス | HIGH / MEDIUM | perf- | 3 |
クイックリファレンス
スキーマ:
schema-source-vs-table— CDC には TABLE が必要です。SOURCE は追記専用のストリーム向けですschema-append-only— APPEND ONLY により最適化が有効になります。不変のイベントデータに使用しますschema-watermark— MV 内ではなく、取り込み時点(ソース/テーブル)でウォーターマークを定義します
マテリアライズドビュー:
mv-emit-on-window-close— ウィンドウの最終結果には EOWC を使用します。デフォルトでは部分的な更新が出力されますmv-background-ddl— 大規模テーブルに対して MV を作成する前にSET BACKGROUND_DDL=trueを設定しますmv-no-order-by— MV 内の ORDER BY は作成時にのみ適用され、以降の結果には適用されません
ストリーミング SQL:
stream-tumble-windows— ストリーミングのウィンドウには date_trunc ではなく、TUMBLE/HOP/SESSION を使用しますstream-cdc-pattern— 2 段階で設定します:CREATE SOURCE(共有)→ CREATE TABLE ... FROM sourcestream-temporal-join— FOR SYSTEM_TIME AS OF を使用して、ストリーミングソースを CDC テーブルと結合します
シンク:
sink-snapshot-false— 既存の MV にシンクを追加する場合は、必ずsnapshot = falseを使用しますsink-force-compaction— カーディナリティの高いアップサートシンクにはforce_compaction = trueを使用します
パフォーマンス:
perf-shared-source— 1 つの Kafka トピックから複数の MV を作成する場合は、共有ソースを使用しますperf-indexes-on-mv— WHERE/JOIN 述語で使用する MV の列にインデックスを作成しますperf-parallelism— スループットの高い MV では並列度を上げます
コメント
Markdown 対応