Weaviateとは?セマンティック検索データベース

Aaron Ricadela |シニア・ライター| 2025年3月18日

生成AIは、ユーザーがコンピュータとやりとりする方法を再構築しているのと同様に、システムの回答の基盤となる情報を格納および取得するデータベースに新しい要求を課しています。ベクトル・データベースは、非常に大規模な非構造化データ・セットまたは半構造化データ・セットを使用する開発者向けに設計されており、生データから計算された数十億のベクトルの数学的領域に埋込みまたは位置を格納します。データベースは、ベクトル間の関係を迅速に計算することで、AIモデルの知識を強化する回答を返すことができます。

正確なクエリ一致を見つけることに優れている従来のデータベースとは異なり、Weaviate(Milvus、Pinecone、Chroma、Qdrantなど)などのベクトルデータベースは、多次元ベクトル空間で互いに距離を置いて格納されたオブジェクト間の類似性を表します。データベースは、関連情報を迅速に検索し、クエリと完全に一致しない場合でも、モデルがユーザーの意図と推定した内容に基づいて回答を返します。

これにより、Weaviateやその他のベクトル・データベースは、eコマースやストリーミング・サービスの推奨、セマンティック検索や類似検索、不正検出、検索拡張生成(RAG)などのアプリケーション向けの強力な自然言語処理ツールになります。

Weaviateとは?

Weaviateは、同名のオランダのスタートアップ企業が開発・提供する専用のベクターデータベースであり、数十億個のベクトルに対する高速検索に特化しています。その検索アーキテクチャは、データベースシャーディング(sharding)と呼ばれる技術を用いて情報を複数のサーバーに分散させ、スケーラビリティとパフォーマンスを向上させています。

Weaviateは、データ・セットのサイズに応じて様々なタイプのデータベース索引を使用してパフォーマンスを向上させます。フラット索引にはベクトルの場所が格納され、小さいデータ・セットに適しています。一方で、大規模なデータセットには、構築に時間はかかるものの、検索効率に優れたHNSW(階層型ナビゲーション小世界)インデックスが適しています。

Weaviateは、Python、JavaScript、GoおよびJavaのクライアント・ライブラリや、GraphQL問合せ言語のAPIなど、様々なツールとインタフェースを提供することで、開発者の生産性を強調します。データベースは、オープンソースのBSD-3-Clauseライセンスの下で配布されます。その強みは、最も近い近傍検索(ANN)であり、その結果、生成AIクエリが強化されます。

お客様は、自社のコンピュータ、サーバーレス・モデルのパブリック・クラウド・サービス、または専用ハードウェアを使用した同社のマネージド・クラウド・サービスを使用して、Weaviateを運用できます。

Oracleが可用性とスケーラビリティの重荷をどのように上回っているか

Oracle Database 23aiでは、AIベクトル検索も提供されており、Weaviateと同様にベクトルを格納および検索でき、レスポンス時間は1秒未満です。しかし、Weaviateのようなベクトル検索専用データベースとは異なり、Oracle Database 23ai はリレーショナルデータ、グラフデータ、空間データ、JSON、IoTデータなど、さまざまな形式のデータをベクトル検索と併用して一元的に管理・検索できます。Oracleデータベースを使用すると、ITグループは複数のデータベースとデータのコピーを管理する必要がなくなり、複雑さが軽減されます。

Weaviateは、データベースの可用性の向上のためにクラスタリングをサポートしていますが、Oracle Database 23aiには、フォルト・トレランスとロード・バランシングのためにデータベース・インスタンスを別々のサーバーで実行できるOracle Real Application Clustersなど、より広範な高可用性オプションが用意されています。Oracle Active Data Guardは、計画外停止時にデータが失われないようにスタンバイ・データベースに即時にレプリケーションするため、Oracle GoldenGateは複数のサイト間でデータの一貫性を確保するために使用できます。スケーラビリティのために、Oracle Globally Distributed Databaseは、ベクトル検索、問合せのルーティング、シャードへの更新、挿入および削除操作のシャーディングをサポートしています。

専門ベクトル・データベースは、急速に変化するデータの定期的なバッチ更新に依存できるため、データ・セットの整合性が失われる可能性があります。Oracle Database 23aiでは、RAGパイプラインと基礎となるデータ・ソースの同期が維持されます。問合せに関しては、Oracle Autonomous Database Select AIは、Anthropic、Cohere、Google、Meta、MicrosoftおよびOpenAIのLLMを使用して、自然言語クエリをSQLコマンドに変換します。また、Oracle Database 23aiを使用すると、開発者は、GoogleのGeminiモデル、MicrosoftのAzure AIサービス、OpenAIのLLMなど、他の大手クラウド・プロバイダーからAIサービスを活用して、Oracleに格納されているエンタープライズ・データで使用できます。

Oracle Database 23aiベクトル検索がアプリケーションでどのように機能するかをご覧ください。

よくある質問

Weaviateはセマンティック検索とベクトル検索をどのように処理しますか?

Weaviateデータベースにより、様々なアプリケーション用の非構造化データから構築されたベクトル埋込みの低レイテンシ検索が可能になります。これには、レコメンデーション・エンジンとRAGに加え、テキスト、イメージ、オーディオおよびビデオ間の関係についてのセマンティックな理解と従来のキーワード検索を組み合せたハイブリッド検索が含まれます。

PineconeとWeaviateの違いは何ですか?

WeaviateにはBSD-3-Clauseライセンスが付属しており、オンプレミスまたはパブリック・クラウド・サービスで実行できます。Pineconeは、独自のライセンスで配布され、クラウド(およびAWSプライベート・クラウドへのリンク)で実行されます。Pineconeは幅広いデータ型をサポートしていますが、Weaviateはオープンソースライセンスによりカスタマイズできます。

Weaviateは自然言語処理(NLP)モデルと併用できますか?

はい。Weaviateは、ソフトウェアに組み込まれているモデルを利用できるだけでなく、ユーザー自身が用意したNLPモデルを実行・拡張することも可能です。

Weaviateが他のベクターデータベースと異なる点は何ですか?

Weaviateは、様々なプログラミング言語とAIツールのサポートを通じて、開発者を製品に引き付けることに注力しています。このアーキテクチャは、データ・シャーディングによる水平方向のスケーラビリティのために構築されています。