データベースに、Elasticsearch、Pinecone、S3、データウェアハウスを追加することなく、組み込みの全文検索、ベクター埋め込み、ファイルストレージ、分析が備わっていたらどうでしょう?
Xataとは?
XataはPostgreSQLとElasticsearchの上に構築されたサーバレスのデータベースプラットフォームです。リレーショナルデータベースに、全文検索、ベクター検索、ファイル添付、分析を1つのAPIとして統合します。
なぜXataなのか
1. PostgreSQL + 検索を1つに
import { XataClient } from './xata';
const xata = new XataClient();
// 全文検索(Elasticsearchのセットアップは不要)
const results = await xata.db.posts.search('react server components', {
target: ['title', 'content'],
fuzziness: 1,
highlight: { enabled: true },
});
2. AI / ベクター検索
// データについて質問する
const answer = await xata.db.docs.ask('How do I configure authentication?', {
searchType: 'vector',
vectorSearch: {
column: 'embedding',
contentColumn: 'content',
},
});
// データに基づいてAIが生成した回答を返します
3. 型安全なクライアント(自動生成)
xata codegen
// スキーマから自動生成されます
const user = await xata.db.users.create({
name: 'Alice', // string - 型付け
email: 'a@b.com', // string - 型付け
age: 30, // number - 型付け
avatar: fileBuffer, // file attachment - 型付け
});
// 型安全なフィルタリング
const activeUsers = await xata.db.users
.filter({ age: { $gt: 18 }, 'settings.notifications': true })
.sort('name', 'asc')
.getPaginated({ pagination: { size: 20 } });
4. ファイル添付
// レコードに直接ファイルをアップロードする
await xata.db.products.update('rec_123', {
image: {
base64Content: imageBase64,
mediaType: 'image/png',
name: 'product.png',
},
});
返却形式: {"translated": "翻訳されたHTML"}// 変換付きでファイルURLを取得
const url = product.image?.url;
const thumbnail = `${url}?tr=w-200,h-200`;
5. 集計
const stats = await xata.db.orders.aggregate({
totalRevenue: { sum: { column: 'amount' } },
avgOrderValue: { average: { column: 'amount' } },
ordersByMonth: {
dateHistogram: { column: 'created_at', calendarInterval: 'month' },
},
topProducts: {
topValues: { column: 'product_name', size: 10 },
},
});
6. 分岐(Gitのように)
# テスト用のブランチを作成
xata branch create feature-new-schema
# ブランチ上でスキーマの変更を行う
xata schema edit --branch feature-new-schema
# 準備ができたらマージ
xata branch merge feature-new-schema
フリーティア
| 機能 | 無料 |
|---|---|
| レコード | 750K |
| ストレージ | 2GB |
| 検索 | 250K クエリ/月 |
| AIの質問 | 250/月 |
| ファイルストレージ | 2GB |
| ブランチ | 15 |
Xata vs Supabase vs PlanetScale
| Xata | Supabase | PlanetScale | |
|---|---|---|---|
| データベース | PostgreSQL | PostgreSQL | MySQL |
| 全文検索 | 標準搭載 | pg_trgm 経由 | なし |
| ベクトル検索 | 標準搭載 | pgvector 経由 | なし |
| ファイルストレージ | 標準搭載 | 別のバケット | なし |
| 分岐 | あり | なし | あり |
| 型生成 | 自動 | PostgREST の型経由 | なし |
| AIクエリ | 標準搭載 | Edge Functions 経由 | なし |
はじめに
npm install @xata.io/cli -g
xata init
xata codegen
結論
Xata は、すべてをこなすデータベースです。データには PostgreSQL、検索には Elasticsearch、AI にはベクトル DB、アップロードにはファイルストレージ — すべてを 1 つの API で。
データツールが必要ですか? 私はスクレイピングのソリューションを作っています。私の Apify アクター を確認するか、spinov001@gmail.com までメールしてください。



