Weaviateとは何か?
Weaviateはオープンコアのベクトルデータベースで、データオブジェクトとそのベクトル埋め込みを一緒に保存するため、意味・キーワード・またはその両方で検索できます。 GitHubの説明では「オブジェクトとベクトルの両方を保存する、オープンソースでクラウドネイティブなベクトルデータベース」と紹介されています。既存のデータベースに後付けしたベクトルインデックスとは異なり、Weaviateは構造化スキーマ、フィルタリング、マルチテナンシーを最初から組み込んだベクトルネイティブなストアとして設計されています。
- コア機能: ベクトル埋め込みを構造化オブジェクトデータと共にインデックス化するデータベースで、REST、GraphQL、gRPCでクエリ可能
- 検索モード: 純粋なベクトル(最近傍)検索、BM25キーワード検索、両者を1クエリで融合するハイブリッド検索
- ベクトル化: OpenAI、Cohere、HuggingFace、Google、Ollamaの埋め込みモデル向け組み込み統合モジュール、または自前で計算済みのベクトルを直接指定可能
- デプロイ: Docker、Docker Compose、Kubernetes/Helm、ローカルプロトタイピング向けの組み込みPythonクライアント、またはマネージドのWeaviate Cloudサービス
- 開発元: Weaviate B.V.、本社はオランダ・アムステルダム
- 正規リポジトリ: github.com/weaviate/weaviate — 本レビューで使用したバージョン履歴、ライセンスファイル、リリースノートの出典
Weaviateのプロジェクト履歴とバージョンの節目
Weaviateは数年にわたり活発に開発が続けられ、現在も頻繁にポイントリリースを重ねています。同じ月に複数のマイナーバージョンがリリースされることも珍しくありません。プロジェクトは単一のベクトル検索エンジンから、生成検索(RAG)、リランキング、自然言語のQuery Agent、ロールベースアクセス制御やマルチテナンシーなどのエンタープライズ機能を含む、より広範なプラットフォームへと成長しました。
- 1v1.19 — ハイブリッド検索が一般提供開始
Why it matters: BM25キーワード検索とベクトル検索を単一のクエリタイプに統合。純粋なベクトル専用データベースに対するWeaviateの差別化要素として今も中心的な機能。 - 2v1.24 — 名前付きベクトル
Why it matters: 1つのオブジェクトが複数のベクトル表現(例: 埋め込みモデルごと、プロパティごと)を持てるようになり、マルチモデルRAG構成に有用。 - 3v1.25–v1.26 — マルチテナンシーとレプリケーションの改善
Why it matters: 本番環境かつマルチカスタマー展開向けに、テナント間の分離とデータ耐久性を強化。 - 4v1.27–v1.28 — ベクトル圧縮(RQ/PQ)の改善
Why it matters: 保存ベクトルを圧縮することで大規模展開時のメモリ使用量を削減。セルフホストクラスタの所有コストに直結する改善。 - 5v1.29–v1.30 — ロールベースアクセス制御(RBAC)
Why it matters: 細粒度の権限管理を追加。自社インフラでWeaviateを運用する多くのエンタープライズおよび規制対応の展開で必要とされる機能。 - 6v1.38 — ポイントリリース
Why it matters: [公式GitHubリリースページ](https://github.com/weaviate/weaviate/releases)によれば、フィルタリングとモジュールメトリクスの性能改善を伴い、急速なリリースペースを継続。 - 7v1.39
Why it matters: [公式GitHubリリースページ](https://github.com/weaviate/weaviate/releases)によれば、新しいgenerative-metaモジュールを追加し、HNSWインデックスと集計クエリのさらなる性能改善を実施。 - 8v1.40 — Namespacesが一般提供
Why it matters: [公式GitHubリリースページ](https://github.com/weaviate/weaviate/releases)によれば、Namespacesは共有クラスター上でユーザーごとのリソースとデータを分離し、複数チーム運用の基盤になる。
Weaviateでできること
Weaviateの機能セットは、構造化フィルタリングとキーワード検索を同一クエリ内に維持しつつ、大規模なベクトルの保存とクエリを中心に据えています。以下は、Weaviate自身のGitHub READMEおよびドキュメントに基づく各機能の実際の内容です。
- ベクトル検索 — HNSWインデックスに基づく高次元埋め込みの最近傍探索で、意味的に類似したオブジェクトを検索
- ハイブリッド検索 — ベクトル類似度とBM25キーワードスコアリングを単一クエリで組み合わせる。純粋なセマンティック検索だけでも、純粋なキーワード検索だけでも最良の結果が得られない場合に有用
- 構造化フィルタリング — オブジェクトのプロパティ(日付、数値、文字列、地理座標)で検索結果をクエリ内でフィルタリング。アプリケーションコード側での後処理は不要
- 生成検索(RAG) — 取得したオブジェクトを接続先のLLMプロバイダーに直接渡し、回答・要約・変換結果を生成。別のオーケストレーション層を用意する必要なし
- Query Agent — 自然言語の質問を最適化されたWeaviateクエリに自動変換。Weaviate自身の製品ページに基づく機能
- ベクトライザモジュール — OpenAI、Cohere、HuggingFace、Google、Ollama経由での埋め込み生成向け組み込み統合、または自前で計算したベクトルのインデックス登録も可能
- マルチテナンシーとRBAC — テナントごとにデータを分離し、ロールベースの権限でアクセスを制御。本番・マルチカスタマー・規制対応の展開向け
- 水平スケーリングとレプリケーション — セルフホストクラスタにおいて、データをノード間でシャーディング・レプリケーションし、大規模データセットと高可用性に対応
使用例: Weaviateの3つの活用方法
以下は、上記でドキュメント化されたWeaviateの機能から構成される具体的なワークフローです — 仮想的なユースケースではありません。
Ollamaで完全ローカルなRAGパイプラインを構築する
Docker ComposeでWeaviateを起動し、text2vec-ollamaモジュールをローカルのOllamaインスタンスに向けて埋め込み用に設定し、生成検索用にローカルLLMをOllama経由で接続します。埋め込み・保存・検索・生成のすべてのリクエストが自分のマシンまたはネットワーク内にとどまり、外部APIコールは発生しません。
製品検索やドキュメント検索でキーワード検索とセマンティック検索を組み合わせる
テキストプロパティとベクトル埋め込みの両方を持つ製品カタログやドキュメント集合をインデックス化し、BM25キーワードマッチング(正確な用語、SKU、名前に有効)とベクトル類似度(概念的に関連する結果に有効)を融合した単一のハイブリッド検索クエリを発行します。alphaパラメータでどちらのモードを重視するか調整できます。
構造化メタデータでセマンティック検索結果をフィルタリングする
検索フレーズと意味的に類似したオブジェクトを検索しつつ、指定した日付以降のpublishDateや特定の値に一致するcategoryだけに絞り込みます。ベクトル類似度と構造化フィルタリングを1回のリクエストで組み合わせることで、取得後にクライアント側でフィルタリングする必要がありません。
Weaviateのインストール: Docker、Kubernetes、組み込み
Weaviateはダウンロードして使うデスクトップアプリではなく、自分で運用するか、マネージドクラウドサービスとして利用するデータベースサーバーです。 以下のインストール方法は公式GitHub READMEおよびドキュメントに基づいています。正確なバージョンタグはリリースごとに変わるため、必ず各ページで直接確認してください。
方法 | コマンド / リンク |
|---|---|
| Docker(単一コンテナ、簡易テスト) | docker run -p 8080:8080 -p 50051:50051 cr.weaviate.io/semitechnologies/weaviate:1.40.3 |
| Docker Compose | 公式コンフィギュレーターでdocker-compose.ymlを生成し、docker compose up -dを実行 |
| Kubernetes / Helm | Kubernetesインストールガイドに基づく公式Helmチャート |
| 組み込み(Pythonクライアント) | 公式ドキュメントに基づき、weaviate-client Pythonパッケージからプロトタイピング用の組み込みローカルインスタンスを直接起動 |
| Weaviate Cloud(マネージド、任意) | console.weaviate.cloud — セルフホスト不要、従量課金制で無料枠あり |
Weaviateはデフォルトでポート8080にHTTP、ポート50051にgRPCを公開します。curl http://localhost:8080/v1/metaでインスタンスが稼働しているか確認できます。Weaviate自体にはDockerやKubernetesを動かす以上の固定ハードウェア最小要件はありませんが、大規模時の実用的なパフォーマンスはデータセットサイズ、選択したインデックスタイプ、ベクトル圧縮を有効にするかどうかに依存します。小規模なコレクションはラップトップでも快適に動作しますが、大規模な本番インデックスにはベクトル数と次元数に見合ったサイズのサーバーが必要です。
Weaviateの料金とライセンス
BSD-3-Clauseコアのセルフホストは無料ですが、一部のゲート付き機能とマネージドのWeaviate Cloudサービスは有料です。 これは単純な「オープンコア+エンタープライズアップセル」ではなく、実質的に分割されたモデルです。自社のコンプライアンスレビューのため、正確な条件はLICENSEファイルで直接確認してください。
セルフホスト(BSD-3-Clauseコア)
- 費用:
- 無料
- 対象範囲:
wl/ディレクトリ外にあるベクトルデータベースエンジン全体 — ベクトル検索、ハイブリッド検索、フィルタリング、ほとんどのモジュール統合、自己管理型スケーリング
セルフホスト、ゲート付きwl/機能
- 費用:
- 有料のWeaviate Licenseキー(
LICENSE_KEY環境変数)が必要 - 対象範囲:
- リポジトリの
wl/ディレクトリに限定された特定の機能群 — 対象範囲はリリースごとに変わりうるため、現在の範囲はLICENSEファイルで確認
Weaviate Cloud(マネージド)
- 費用:
- weaviate.ioによれば従量課金制で無料枠あり
- 対象範囲:
- セルフホストやライセンスキー管理が不要な、完全マネージドのクラスタ。上記のセルフホストライセンスモデルとは別
PromptQuorum自身のソフトウェアディレクトリでは、これまでWeaviateのライセンスを単純に「オープンソース」と記載していました。本レビュー執筆時点でWeaviateのGitHubリポジトリにあるLICENSEおよびLICENSE-BSDファイルを直接確認したところ、それは分割構造を過小評価した表現でした。GitHub自体のリポジトリメタデータがライセンスを「Other」と報告しているのは、まさにコアコード(BSD-3-Clause)とwl/ディレクトリのコード(プロプライエタリなWeaviate License、キーでゲート)がそれぞれ異なるライセンスであるためです。法的判断のためにこの区別に依拠する前に、必ずLICENSEファイルを自分で読んでください — ライセンス範囲はリリースごとに変わる可能性があります。
Weaviate vs. Qdrant
WeaviateとQdrantは、最も広く使われているセルフホスト可能なベクトルデータベースの2つです。どちらも無料のセルフホストコアと任意のマネージドクラウド階層を提供しているため、よく比較されます。最も明確な違いは、クエリモデル、ライセンス構造、APIの範囲にあります。
コアライセンス
- Weaviate:
- BSD-3-Clauseに加え、
wl/ディレクトリ機能向けの別のプロプライエタリライセンス - Qdrant:
- コアエンジンはApache-2.0 — 独自のライセンス詳細はQdrantレビューを参照
クエリAPI
- Weaviate:
- REST、GraphQL、gRPC
- Qdrant:
- RESTとgRPC(GraphQLなし)
ハイブリッド検索
- Weaviate:
- 組み込みで、ベクトルとBM25キーワード検索を1クエリで組み合わせ
- Qdrant:
- スパース+デンスベクトルの融合でサポート
生成検索/RAGヘルパー
- Weaviate:
- 接続先LLMプロバイダーを直接呼び出す組み込みの生成検索モジュール
- Qdrant:
- コアの組み込み機能ではなく、通常は外部オーケストレーション層と組み合わせて使用
データモデル
- Weaviate:
- 名前付きプロパティと名前付きベクトルを持つスキーマベースのオブジェクト
- Qdrant:
- ペイロード(柔軟なJSON)とベクトルを持つポイント
マネージドクラウド
- Weaviate:
- Weaviate Cloud、従量課金制で無料枠あり
- Qdrant:
- Qdrant Cloud、従量課金制で無料枠あり
取得から生成までの工程(生成検索)を1つのクエリで処理できるデータベースに加えてGraphQLサポートを重視するなら、Weaviateの機能セットは標準で対応範囲が広くなります。機能ゲーティングを追跡する必要のない、よりシンプルで統一的にApache-2.0ライセンスのコアを重視するなら、Qdrantを直接評価してください。どちらも活発に保守されているため、決定前に各プロジェクトの公式サイトで最新の機能と料金の詳細を確認してください。
Weaviateはどんな人に向いているか?
Weaviateが適しているかどうかは、ハイブリッド検索と生成検索を組み込んだスキーマベースのベクトルデータベースを求めているか、そしてBSD/プロプライエタリの分割ライセンスが自組織にとって許容できるかによります。
こんな場合はWeaviateを使う
- 2つの別システムを自分で組み合わせるのではなく、組み込みのハイブリッド検索(ベクトル+BM25キーワード)を単一クエリで実現するセルフホスト可能なベクトルデータベースが欲しい
- 単純なユースケース向けに別のオーケストレーション層を立ち上げず、生成検索(RAG)をデータベースクエリ自体の中で処理したい
- RESTとgRPCに加えてGraphQLをクエリオプションとして必要としている
- 小規模なBSD-3-Clauseのみの展開を無料で運用する柔軟性を求めており、
wl/ゲート機能が具体的に必要な場合のみライセンスキー費用を払いたい - セルフホストの規模を超えた場合に、データベースを乗り換えることなく公式マネージドクラウド(Weaviate Cloud)を後から利用できるようにしておきたい
こんな場合は様子を見るか、他を検討する
- 法務・調達要件上、製品のすべての機能が単一の改変なしオープンソースライセンスでカバーされている必要がある — Weaviateの分割されたBSD-3-Clause/プロプライエタリモデルはそのままでは満たさない可能性がある。自社のケースに合わせてLICENSEファイルを直接確認すること
- スキーマモデリングなしの、絶対的にシンプルなベクトル専用ストアが欲しい — 小規模なプロトタイプ段階のプロジェクトには、Chromaのような軽量な組み込みオプションの方が適している場合がある
- すでにApache-2.0ライセンスのインフラに標準化しており、2種類目のライセンスを追跡することを避けたい — 上記のWeaviate vs. Qdrant比較を参照
- セルフホストかつ無償の階層に対して、コミュニティ/イシュートラッカーのサポートではなく、契約的SLAを伴う公式エンタープライズサポートが必要 — そのレベルのサポートは通常、Weaviate Cloudまたはライセンス付き展開に紐づく
Weaviate vs. 他のベクトルデータベース
WeaviateはRAGとセマンティック検索向けに構築された、セルフホスト可能な複数のベクトルデータベースの1つです。この分野の他の選択肢との位置づけは以下の通りです。全カタログはローカルLLMソフトウェアディレクトリ、最も近い一騎討ちの比較は上記の専用Weaviate vs. Qdrant比較を参照してください。
- Qdrant — RESTとgRPC APIを持ち、スパース+デンスのハイブリッド検索サポートが強いApache-2.0ライセンスのベクトルデータベース。上記の専用比較セクションと全文のQdrantレビューを参照。
- Milvus — 非常に大規模な展開向けに構築されたApache-2.0ライセンスのベクトルデータベースで、他の多くの選択肢よりも幅広いインデックスタイプを備える。詳細はMilvusレビューを参照。
- Chroma — 埋め込みに特化した軽量なベクトルデータベースで、最小限のセットアップにより、プロトタイピングや小規模RAGプロジェクトで人気。Chromaレビューを参照。
- txtai — 独立したサーバーとしてではなく、ベクトルインデックス機能をPythonアプリケーションに直接組み込む、オールインワンの埋め込み型セマンティック検索・RAGライブラリ。組み込み型・単一プロセス方式がスタンドアロンのデータベースサーバーよりプロジェクトに合う場合はtxtaiレビューを参照。
- Pinecone — セルフホストオプションが一切ない、完全マネージド・クローズドソースのベクトルデータベース。Weaviateのようなセルフホスト可能な選択肢とクラウド専用ベンダーを比較する対照事例として有用。4者の直接比較はPinecone vs. Weaviate vs. Qdrant vs. Chroma比較を参照。
Weaviate評価時によくある間違い
Weaviateに関する混乱の多くは、そのライセンス構造、クラウドサービスが必須だという思い込み、あるいは単純な組み込みライブラリと混同することに起因します。
間違い1: Weaviateが制限なく完全にオープンソースだと思い込む
Weaviateのコアは BSD-3-Clauseですが、リポジトリ内のwl/ディレクトリにある特定の機能群は、別のプロプライエタリなWeaviate Licenseの下で有料ライセンスキーが必要です。GitHub自体のリポジトリメタデータが全体のライセンスを「Other」と報告しているのはまさにこの理由です。法務・調達上の判断でこの区別に依拠する前に、必ずLICENSEファイルを直接読んでください。
間違い2: Weaviateを動かすにはWeaviate Cloudが必須だと思い込む
Weaviate Cloudは任意の、別途提供されるマネージドサービスです。BSD-3-Clauseのコアは、Weaviate Cloudアカウントを作成する必要なく、Docker、Docker Compose、またはKubernetes経由で完全に自社インフラ上で稼働します。
間違い3: WeaviateをChromaのようなシンプルな組み込みライブラリとして扱う
Weaviateはローカルプロトタイピング向けに組み込みPythonクライアントを提供していますが、主要なデプロイモデルはスキーマ、マルチテナンシー、RBAC、水平スケーリングを備えたスタンドアロンのデータベースサーバーであり、軽量な組み込みベクトルストアよりも本番用データベースに近い位置づけです。
間違い4: ベクトライザモジュールがデフォルトでデータを完全にローカルに保つと思い込む
OpenAIやCohereなどのクラウド埋め込みプロバイダー向けにベクトライザモジュールを設定すると、その特定の埋め込みリクエストは自社インフラの外に出ます。完全にローカルなパイプラインにするには、ベクトライザモジュールをOllamaのようなローカルホスト型エンジンに向けてください。
よくある質問
Weaviateとは何ですか?
Weaviate(weaviate.io、ソースはgithub.com/weaviate/weaviate)は、構造化オブジェクトとそのベクトル埋め込みの両方を保存するオープンコアのベクトルデータベースで、ベクトル検索、BM25キーワード検索、ハイブリッド検索、組み込みの生成検索(RAG)をサポートします。
Weaviateは無料ですか?
BSD-3-Clauseライセンスのコアはセルフホストであれば無料です。リポジトリ内のwl/ディレクトリにある特定の機能群は、有料のWeaviate Licenseキーで有効化する必要があります。マネージドホスティングのオプションであるWeaviate Cloudは、無料枠を備えた別途の従量課金サービスです。
Weaviateはオープンソースですか?どのライセンスを使用していますか?
部分的にです。WeaviateのコアはBSD-3-Clauseの下でライセンスされています。リポジトリのwl/ディレクトリに限定された特定の機能群は、有料ライセンスキーでのみ有効化される別のプロプライエタリなWeaviate Licenseの対象です。GitHubのリポジトリメタデータは、コードベース全体を単一のOSI承認ライセンスで覆うのではなく、この分割ゆえに全体のライセンスを「Other」に分類しています。
Weaviateは完全にオフライン、エアギャップ環境で動作しますか?
コアのデータベース自体については可能です。自社インフラ上で完全に稼働し、外部呼び出しは不要です。クラウドプロバイダー(OpenAI、Cohereなど)向けにベクトライザや生成検索モジュールを設定した場合、その特定の呼び出しにはインターネットアクセスが必要です。完全にオフラインのパイプラインにするには、それらのモジュールをOllamaのようなローカルホスト型エンジンに向けてください。
Weaviateはハイブリッド検索をサポートしていますか?
はい。Weaviateはベクトル類似検索とBM25キーワード検索を単一のハイブリッドクエリで組み合わせ、どちらのモードを重視するか調整可能なalphaパラメータを備えています。
WeaviateにGraphQL APIはありますか?
あります。WeaviateはREST、GraphQL、gRPCのAPIを公開し、Python、TypeScript/JavaScript、Go、Java、C#/.NET向けの公式クライアントライブラリを提供します。
Weaviateはどのようにインストールしますか?
最速の方法は単一のDockerコマンド(docker run -p 8080:8080 -p 50051:50051 cr.weaviate.io/semitechnologies/weaviate:<version>)です。本番環境ではDocker Composeまたは公式のKubernetes/Helmチャートを使用し、Pythonでのローカルプロトタイピングには組み込みクライアントを使用してください。詳細は上記のインストール表を参照してください。
Weaviate Cloudとは何ですか?
Weaviate CloudはWeaviate B.V.が提供する任意の完全マネージドホスティングサービスで、無料枠付きの従量課金制です。セルフホストのライセンスモデルとは別物であり、Weaviate Cloudを一度も使わずにBSD-3-Clauseコアを無期限にセルフホストできます。
Weaviateは誰が開発していますか?
Weaviateはオランダ・アムステルダムに本社を置くWeaviate B.V.が開発しており、github.com/weaviate/weaviateで活発なオープンソースリポジトリを運営しています。
WeaviateのGitHubスター数はいくつですか?
WeaviateのGitHubリポジトリは約16,900スター、約1,400フォークです。スター数は常に変動するため、最新の数値はライブリポジトリで確認してください。