広告

Xataは無料のサーバレスデータベースを提供——組み込み検索、分析、AI付きのPostgreSQL

Dev.to / 2026/3/28

📰 ニュースDeveloper Stack & InfrastructureSignals & Early TrendsTools & Practical Usage

要点

  • XataはPostgreSQLを基盤とするサーバレスデータベース・プラットフォームであり、全文検索、ベクトル検索、ファイルストレージ、分析を統一APIを通じてまとめて提供します。
  • このサービスは、Elasticsearch、ベクトルDB、オブジェクトストレージ、外部データウェアハウスなどの別システムを、一般的なアプリ機能のために統合する必要をなくすことで、アーキテクチャの複雑さを軽減することを目指しています。
  • Xataは、組み込みの全文検索や、保存したドキュメントに対してAIが「質問」できる機能など、開発者にとって使いやすいプリミティブを公開しています。
  • この記事では、Xataが無料のサーバレス・ティアを提供し、リレーショナルデータとともに検索やAI機能を導入したいチームの採用障壁を下げると位置づけています。
  • 全体として、この発表は、検索重視かつAI支援型のアプリケーションにおいて、動く部品をより少なくしながらより速い反復を求める開発者やプロダクトチームを対象としています。

データベースに、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 までメールしてください。

広告