mcpField
A
arch-database

arch-database

github.com/alphaonedevデータ・データベース40 回インストール
リポジトリ

arch-database について

データベースアーキテクチャを助言する OpenClaw スキルです。アプリケーションの要件に応じて、データベースの比較、スキーマ設計、インデックス最適化、レプリケーションやシャーディングの計画を支援します。

主な機能

  1. 01データベース種別の比較
  2. 02スキーマと制約の設計
  3. 03インデックス戦略の提案
  4. 04レプリケーションとシャーディングの計画
  5. 05ポリグロット永続化の助言

活用シーン

  1. 01新規バックエンド向けのDB選定
  2. 02データベース移行の計画
  3. 03大量データ要件への対応
  4. 04データベース性能問題の調査

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/alphaonedev/openclaw-graph --skill arch-database

インストール後、Claude Code で/arch-databaseを入力して読み込まれたか確認します。

詳細

arch-database

目的

このスキルは、リレーショナル、ドキュメント、グラフ、ベクトルデータベースの選択、スキーマ設計、インデックスの最適化、スケーラブルなシステム向けのレプリケーションとシャーディングの計画など、データベースアーキテクチャに関する意思決定をAI エージェントが支援するためのものです。

使用するタイミング

新しいアプリケーションのバックエンドを設計するとき、データベースを移行するとき、大量のデータを扱う必要があるとき、またはパフォーマンスの問題を解決するときに、このスキルを使用してください。たとえば、トランザクションが必要な電子商取引アプリにはリレーショナルデータベースを、ソーシャルグラフにはグラフデータベースを選ぶ場合に適しています。SQL クエリを書くといった低レベルのコーディング作業には使用せず、クエリに特化したスキルと併用してください。

主な機能

  • データベースの種類を比較する:データ構造やクエリに基づいて、リレーショナルデータベース(例:PostgreSQL)とドキュメントデータベース(例:MongoDB)を評価します。
  • スキーマを設計する:主キーやリレーションシップの定義など、制約を含むER図やJSONスキーマを生成します。
  • インデックスを最適化する:クエリ時間を短縮するため、リレーショナルデータベース向けのB-treeやドキュメントデータベース向けの全文検索インデックスなどを推奨します。
  • レプリケーションとシャーディングに対応する:フォールトトレランスのためのマスター・スレーブ構成や、負荷分散のための水平シャーディングなどを提案します。
  • ポリグロットパーシステンスをサポートする:PostgreSQLと組み合わせてRedisをキャッシュに使用するなど、システム内でSQLとNoSQLを併用する方法を提案します。

使用パターン

「arch-database:」を先頭に付けたOpenClawプロンプトでこのスキルを呼び出します。例:「arch-database: ソーシャルネットワーク向けにリレーショナルとグラフを比較」。プログラムから使用する場合は、JSONペイロードを指定してOpenClaw APIエンドポイント /api/skills/arch-database を呼び出します。読み取り中心か書き込み中心かなど、アプリケーションの要件を必ず含めてください。スクリプトで使用する場合は、APIエラーに対処できるよう、呼び出しをエラーチェックで囲んでください。複数のステップからなるタスクでは、スキーマ設計から始めてインデックス作成に進むなど、ほかのse-architectureスキルと連携してください。

一般的なコマンド/API

手早く操作するには、OpenClaw CLIを使用します:openclaw run arch-database --compare relational document --app-type social(長所と短所を出力します)。APIの場合は、次のような本文を指定して https://api.openclaw.ai/v1/skills/arch-database にPOSTします:

{
  "action": "design-schema",
  "params": {"db-type": "relational", "tables": ["users", "posts"]}
}

Authorization: Bearer $OPENCLAW_API_KEY ヘッダーで認証する必要があります。一般的なフラグには、詳細な出力を得るための --verbose と、構造化された結果を得るための --output json があります。設定ファイルには、次のようなYAMLを使用します:

db-arch:
  type: graph
  schema: {nodes: users, edges: friendships}

インデックスに関する提案を生成するには、次を実行します:openclaw run arch-database --index-suggest --query "SELECT * FROM users WHERE name LIKE '%john%'"。

統合に関する注意

APIアクセス用の環境変数を設定して統合します。例:export OPENCLAW_API_KEY=your-secret-key。大規模なワークフローに組み込む場合は、OpenClawのSDKを使用します:import openclaw; client = openclaw.Client(api_key=os.environ['OPENCLAW_API_KEY']); response = client.invoke('arch-database', {'action': 'replication-plan', 'replicas': 3})。ポリグロット構成では、アプリの設定でDBドライバーを指定し、たとえばNode.jsプロジェクトのpackage.jsonに"postgresql"と"neo4j"を追加して互換性を確保してください。本番環境に移行する前に、サンドボックス環境で統合をテストしてください。

エラー処理

呼び出し時には、無効なパラメーターなどのエラーを確認してください(例:db-typeのスペルを間違えると、APIは400を返します)。コードではtry-exceptで処理します:try: response = client.invoke('arch-database', params) except openclaw.APIError as e: print(f"Error: {e.status_code} - {e.message}")。よくある問題に対しては、5xxエラー時に指数バックオフで再試行してください。スキルが「incompatible architecture」を返した場合は、データ量を指定するなどして入力を調整してください。デバッグ用にすべての応答をログに記録し、詳細なトレースを取得するにはCLIで --debug フラグを使用してください。

具体的な使用例

  1. 例 1:ユーザープロフィールシステム向けにDBの種類を比較する
    プロンプト:「arch-database: 100万件のユーザープロフィールがあり、頻繁に更新されるシステムについて、リレーショナルとドキュメントを比較してください。」
    想定される結果:エージェントは次のように出力します:「構造化データとACID準拠にはリレーショナル(例:MySQL)を、柔軟なスキーマにはドキュメント(例:MongoDB)を使用します。推奨:user_idにインデックスを設定したリレーショナルです。」
    続けて:出力を使ってAPI経由でスキーマを生成します:/api/skills/arch-database に {"action": "design-schema", "db-type": "relational"} を POST します。

  2. 例 2:ソーシャルネットワーク向けにシャーディングを使用したスキーマを設計する
    コマンド:openclaw run arch-database --design-schema --db-type graph --sharding key-based --entities users,posts
    想定される結果:エージェントは次のように応答します:「スキーマ:ノード:users {id, name};エッジ:friendships {from, to}。シャーディング:均等に分散するため、ユーザーIDでシャーディングします。」
    統合:YAMLとしてエクスポートし、アプリのデプロイスクリプトに適用します。

グラフの関係

  • 関連先:se-architecture クラスター(例:スキーマをさらに洗練するため、data-modelingにリンクします)。
  • 接続方法:「database」などのタグを介して、インデックス設定の次のステップとしてquery-optimizationスキルを検索します。
  • 依存関係:レプリケーションに関するアドバイスにはse-architectureの基盤が必要です。出力はデプロイスキルに渡すことができます。

コメント