Aaron Ricadela |シニア・ライター| 2025年3月18日
生成AIがユーザーとコンピューターとのやりとりのあり方を変えつつあることと同様に、システムの回答の基礎となる情報を保存・検索するデータベースにも新たな需要が生じています。ベクトル・データベースは、非常に大規模な非構造化または半構造化データセットを扱う開発者向けに設計され、未加工データから計算された数十億に及ぶ可能性のあるベクトルの埋め込み、または数学空間におけるポジションを格納します。データベースは、ベクトル間の関係を迅速に計算することにより、AIモデルのナレッジを強化する回答を返すことができます。
クエリとの完全一致検索に長けた従来のデータベースとは異なり、Weaviate(Milvus、Pinecone、Chroma、Qdrantなど)のようなベクトル・データベースは、多次元ベクトル空間における互いの距離により、保存されたオブジェクト間の類似性を表現します。データベースは、関連情報を迅速に検索し、クエリと完全に一致しない場合でも、モデルがユーザーの意図と推定した内容に基づいて回答を返します。
そのため、Weaviateやその他のベクトル・データベースは、eコマースやストリーミング・サービスへのレコメンデーション、セマンティック検索や類似性検索、不正検出、検索拡張生成(RAG)などのアプリケーション向けの強力な自然言語処理ツールとなっています。
Weaviateは、同名のオランダのスタートアップ企業が開発・提供する専用のベクターデータベースであり、数十億個のベクトルに対する高速検索に特化しています。その検索アーキテクチャは、データベースシャーディング(sharding)と呼ばれる技術を用いて情報を複数のサーバーに分散させ、スケーラビリティとパフォーマンスを向上させています。
Weaviateは、データセットのサイズに応じてパフォーマンスを向上させるために、さまざまな種類のデータベースインデックスを使用します。フラット索引にはベクトルの場所が格納され、小さいデータ・セットに適しています。一方で、大規模なデータセットには、構築に時間はかかるものの、検索効率に優れたHNSW(階層型ナビゲーション小世界)インデックスが適しています。
Weaviateは、Python、JavaScript、Go、Javaのクライアン・トライブラリや、クエリ言語GraphQLのAPIなど、さまざまなツールやインターフェースを提供することで、開発者の生産性を重視しています。このデータベースはオープンソースBSD-3-Clauseライセンスで配布されています。このデータベースはオープンソースBSD-3-Clauseライセンスで配布されています。その長所は最近傍探索(ANN)であり、その結果は生成AIクエリを強化します。
お客様は、Weaviateを自社のコンピューター、サーバーレス・モデルのパブリック・クラウド・サービス、または専属のハードウェアを備えた同社のマネージド・クラウド・サービスで実行することができます。
Oracle Database 23aiもAI ベクトル検索を提供しており、Weaviate と同様に、1秒未満の応答時間でベクトルの格納と検索を行うことができます。しかし、Weaviateのようなベクトル検索専用データベースとは異なり、Oracle Database 23ai はリレーショナルデータ、グラフデータ、空間データ、JSON、IoTデータなど、さまざまな形式のデータをベクトル検索と併用して一元的に管理・検索できます。Oracle Databaseを使用すると、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、Coherence、Google、Meta、Microsoft、およびOpenAIのLLMを使用して、自然言語クエリをSQLコマンドに変換します。Oracle Database 23aiでは、Oracleに保存されたエンタープライズ・データを使用するために、開発者はGoogleのGeminiモデル、MicrosoftのAzure AIサービス、OpenAIのLLMなど、他の大規模クラウドプロバイダーのAIサービスを利用することもできます。
Oracle Database 23aiのベクトル検索がアプリケーションで機能する方法をご覧ください。
Weaviateがセマンティック検索とベクトル検索を処理する方法を教えてください。
Weaviateデータベースは、さまざまなアプリケーション向けの非構造化データから構築されたベクトル埋込みの低レイテンシ検索を実現します。これには、レコメンデーション・エンジンやRAG、テキスト、画像、音声、動画の関係をセマンティックに理解し、従来のキーワード検索と組み合わせるハイブリッド検索などが含まれます。
PineconeとWeaviateの違いを教えてください。
WeaviateはBSD-3-Clauseライセンスで配布され、オンプレミスまたはパブリック・クラウド・サービスで実行することができます。Pineconeは独自のライセンスで分散され、クラウドで(およびリンク経由でAWSプライベートクラウドで)実行されます。Pineconeはさまざまなデータ型をサポートしており、Weaviateはオープンソース・ライセンスによりカスタマイズが可能です。
Weaviateは自然言語処理(NLP)モデルと併用できますか。
はい。Weaviateは、ソフトウェアに組み込まれているモデルを利用できるだけでなく、ユーザー自身が用意したNLPモデルを実行・拡張することも可能です。
Weaviateが他のベクターデータベースと異なる点を教えてください。
Pineconeは独自のライセンスで分散クラウドされており、クラウドで(およびリンク経由でAWSプライベート・クラウドで)実行されます。そのアーキテクチャは、データ・シャーディングによる水平方向のスケーラビリティを実現するために構築されています。