n8nは、ネイティブAI機能を備えたワークフロー自動化プラットフォームであり、技術チームにコードの柔軟性とノーコードの速度を提供します。400種類以上の連携、ネイティブAI機能、およびフェアコードライセンスにより、データとデプロイメントを完全に制御したまま、強力な自動化を構築できます。
本記事では、n8nの強力な機能を活用して、Chat to OceanBaseデータベースのワークフローテンプレートを構築する方法を紹介します。
前提条件
OceanBaseデータベースのデプロイが完了し、MySQLモードのユーザーテナントが作成されていること。テナント作成の詳細については、テナントの作成を参照してください。
この連携チュートリアルはDockerコンテナプラットフォーム上で行われます。Dockerコンテナプラットフォームのセットアップが完了していることを確認してください。
ステップ1:データベース接続情報を取得する
OceanBaseデータベースのデプロイ担当者または管理者から、該当するデータベース接続文字列を取得します。例:
obclient -h$host -P$port -u$user_name -p$password -D$database_name
パラメータ説明:
$host:OceanBaseデータベースへの接続IPアドレス。OceanBaseデータベースプロキシ(OceanBase Database Proxy、ODP)接続方式ではODPアドレスを使用し、直接接続方式ではOBServerノードのIPアドレスを使用します。$port:OceanBaseデータベースへの接続ポート。ODP接続方式のデフォルトポートは2883で、ODPデプロイ時にカスタマイズ可能です。直接接続方式のデフォルトポートは2881で、OceanBaseデータベースのデプロイ時にカスタマイズ可能です。$database_name:アクセス対象のデータベース名。注意
テナントに接続するユーザーは、データベースに対する
CREATE、INSERT、DROPおよびSELECT権限が付与されていなければなりません。ユーザー権限の詳細については、MySQLモードの権限分類を参照してください。$user_name:テナントの接続アカウント。ODP接続の一般的な形式:ユーザー名@テナント名#クラスタ名またはクラスタ名:テナント名:ユーザー名。直接接続方式の形式:ユーザー名@テナント名。$password:アカウントのパスワード。
接続文字列の詳細については、OBClientを使用したOceanBaseテナントへの接続を参照してください。
ステップ2:テストテーブルを作成し、データを挿入する
ワークフローの構築を開始する前に、まずOceanBaseデータベースに書籍情報を格納するためのサンプルテーブルを作成し、いくつかのサンプルデータを挿入します。
CREATE TABLE books (
id VARCHAR(255) PRIMARY KEY,
isbn13 VARCHAR(255),
author TEXT,
title VARCHAR(255),
publisher VARCHAR(255),
category TEXT,
pages INT,
price DECIMAL(10,2),
format VARCHAR(50),
rating DECIMAL(3,1),
release_year YEAR
);
INSERT INTO books (
id, isbn13, author, title, publisher, category, pages, price, format, rating, release_year
) VALUES (
'database-internals',
'978-1492040347',
'"Alexander Petrov"',
'Database Internals: A deep-dive into how distributed data systems work',
'O\'Reilly',
'["databases","information systems"]',
350,
47.28,
'paperback',
4.5,
2019
);
INSERT INTO books (
id, isbn13, author, title, publisher, category, pages, price, format, rating, release_year
) VALUES (
'designing-data-intensive-applications',
'978-1449373320',
'"Martin Kleppmann"',
'Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems',
'O\'Reilly',
'["databases"]',
590,
31.06,
'paperback',
4.4,
2017
);
INSERT INTO books (
id, isbn13, author, title, publisher, category, pages, price, format, rating, release_year
) VALUES (
'kafka-the-definitive-guide',
'978-1491936160',
'["Neha Narkhede", "Gwen Shapira", "Todd Palino"]',
'Kafka: The Definitive Guide: Real-time data and stream processing at scale',
'O\'Reilly',
'["databases"]',
297,
37.31,
'paperback',
3.9,
2017
);
INSERT INTO books (
id, isbn13, author, title, publisher, category, pages, price, format, rating, release_year
) VALUES (
'effective-java',
'978-1491936160',
'"Joshua Block"',
'Effective Java',
'Addison-Wesley',
'["programming languages", "java"]',
412,
27.91,
'paperback',
4.2,
2017
);
INSERT INTO books (
id, isbn13, author, title, publisher, category, pages, price, format, rating, release_year
) VALUES (
'daemon',
'978-1847249616',
'"Daniel Suarez"',
'Daemon',
'Quercus',
'["dystopia","novel"]',
448,
12.03,
'paperback',
4.0,
2011
);
INSERT INTO books (
id, isbn13, author, title, publisher, category, pages, price, format, rating, release_year
) VALUES (
'cryptonomicon',
'978-1847249616',
'"Neal Stephenson"',
'Cryptonomicon',
'Avon',
'["thriller", "novel"]',
1152,
6.99,
'paperback',
4.0,
2002
);
INSERT INTO books (
id, isbn13, author, title, publisher, category, pages, price, format, rating, release_year
) VALUES (
'garbage-collection-handbook',
'978-1420082791',
'["Richard Jones", "Antony Hosking", "Eliot Moss"]',
'The Garbage Collection Handbook: The Art of Automatic Memory Management',
'Taylor & Francis',
'["programming algorithms"]',
511,
87.85,
'paperback',
5.0,
2011
);
INSERT INTO books (
id, isbn13, author, title, publisher, category, pages, price, format, rating, release_year
) VALUES (
'radical-candor',
'978-1250258403',
'"Kim Scott"',
'Radical Candor: Be a Kick-Ass Boss Without Losing Your Humanity',
'Macmillan',
'["human resources","management", "new work"]',
404,
7.29,
'paperback',
4.0,
2018
);
ステップ3:ツールのデプロイ
n8nのプライベートデプロイ
n8nは、Node.jsをベースとしたワークフロー自動化プラットフォームであり、豊富な連携機能と柔軟な拡張性を備えています。プライベート環境にデプロイすることで、ワークフローの実行環境をより細かく制御し、データのセキュリティとプライバシーを確保できます。このステップでは、Docker環境でn8nをデプロイする方法を説明します。
sudo docker run -d --name n8n -p 5678:5678 -e N8N_SECURE_COOKIE=false n8nio/n8n
Ollamaツールを使用したQwen3モデルのデプロイ
Ollamaは、オープンソースのAIモデルサーバーであり、さまざまなAIモデルのデプロイと管理をサポートしています。Ollamaを利用することで、Qwen3モデルをローカル環境に簡単にデプロイし、AI Agentの機能を実現できます。このステップでは、まずDocker環境でOllamaをデプロイし、その後Ollamaツールを用いてQwen3モデルをデプロイする手順を説明します。
# Docker環境でOllamaをデプロイ
sudo docker run -d -p 11434:11434 --name ollama ollama/ollama
# Qwen3モデルをデプロイ
sudo docker exec -it ollama sh -c 'ollama run qwen3:latest'
ステップ4:AI Agentワークフローの構築
n8nは豊富なノードを提供しており、AI Agentワークフローを容易に構築できます。このステップでは、n8nを使用してChat to OceanBaseデータベースのワークフローテンプレートを構築する方法を説明します。合計5つのノードを追加する必要があります。具体的な手順は以下のとおりです:
トリガーの追加
HTTPトリガーノードを追加し、HTTPリクエストを受信します。

AI Agentノードの追加
AI Agentノードを追加し、AI Agentのリクエストを処理します。

Ollama Chat Modelノードの追加
モデルには無料の選択肢が多数あります。この例ではQwen3を使用します。モデルを選択した後、Ollamaアカウントを設定します。


Simple Memoryノードの追加
Simple Memoryノードは短期記憶を表し、チャット中の直近5回のやり取りを保持します。

Toolノードの追加
ToolノードはOceanBaseデータベースのデータベース操作を実行するために使用されます。AI agent-toolの下にMySQL Toolを追加します。

MySQL Toolの設定は以下のとおりです:

上図に示す
編集アイコンをクリックし、MySQL接続情報を設定します。
設定が完了したらこのウィンドウを閉じます。設定パネルの右上隅にある
Test stepをクリックして簡単なSQLでデータベース接続をテストするか、Back to canvasをクリックしてメイン画面に戻ることもできます。保存をクリックし、ワークフローの構築を完了します。
5つのノードの設定がすべて完了したら、保存をクリックしてワークフローの構築を完了し、ワークフローのテストを開始できます。
インターフェース表示
構築済みのワークフローの画面は以下のとおりです:
