Collection の解説
Zilliz Cloud では、データを管理するために複数の collection を作成し、データを entity として collection に挿入できます。Collection と entity は、リレーショナルデータベースのテーブルとレコードに似ています。このページでは、collection と関連する概念について学べます。
Collection
collection は、固定された列と可変の行を持つ二次元テーブルです。各列は field を表し、各行は entity を表します。
次の図は、8 つの列と 6 つの entity を持つ collection を示しています。

Schema and Fields
オブジェクトを説明する際には、通常、そのサイズ、重さ、位置などの属性に言及します。これらの属性を collection の field として使用できます。各 field には、データ型や vector field の次元数など、さまざまな制約プロパティがあります。field を作成してその順序を定義することで、collection schema を形成できます。適用可能なデータ型については、Schema Explained を参照してください。
挿入する entity には、schema で定義されたすべての field を含める必要があります。それらの一部をオプションにするには、次の方法を検討してください。
-
nullable にする、またはデフォルト値を設定する
field を nullable にする方法、またはデフォルト値を設定する方法の詳細については、Nullable & Default を参照してください。
-
dynamic field を有効にする
dynamic field を有効化して使用する方法の詳細については、Dynamic Field を参照してください。
Primary key and AutoId
リレーショナルデータベースの primary field と同様に、collection には entity を他と区別するための primary field があります。primary field の各値はグローバルに一意であり、1 つの特定の entity に対応します。
上の図に示すように、id という名前の field が primary field として機能し、最初の ID 0 は The Mortality Rate of Coronavirus is Not Important というタイトルの entity に対応しています。primary field が 0 の他の entity は存在しません。
primary field は整数または文字列のみを受け付けます。entity を挿入する際、通常は primary field の値を含める必要があります。ただし、collection 作成時に AutoId を有効にしている場合、Zilliz Cloud がデータ挿入時にそれらの値を生成します。その場合、挿入する entity から primary field の値を除外してください。
詳細については、Primary Field & AutoId を参照してください。
Index
特定の field に index を作成すると、検索効率が向上します。サービスが依存するすべての field に index を作成することを推奨します。その中でも、vector field に対する index は必須です。
Milvus とは異なり、Zilliz Cloud 上の collection の vector field に適用できる index type は AUTOINDEX のみです。詳細については、AUTOINDEX Explained を参照してください。
Entity
entity は、collection 内で同じ field セットを共有するデータレコードです。同じ行にあるすべての field の値で 1 つの entity が構成されます。
必要なだけ多くの entity を collection に挿入できます。ただし、entity の数が増えるにつれて必要なメモリサイズも増加し、検索パフォーマンスに影響します。
詳細については、Schema Explained を参照してください。
Load and Release
collection のロードは、collection 内で類似検索やクエリを実行するための前提条件です。collection をロードすると、Zilliz Cloud は検索とクエリに高速に応答するために、すべての index ファイルと各 field の生データをメモリにロードします。
検索とクエリはメモリ集約型の操作です。コストを節約するため、現在使用していない collection は release することを推奨します。
詳細については、Load & Release を参照してください。
Search and Query
index を作成して collection をロードすると、1 つまたは複数の query vector を入力して類似検索を開始できます。たとえば、検索リクエストに含まれるクエリの vector 表現を受け取ると、Zilliz Cloud は指定された metric type を使用して query vector と対象 collection 内の vector との類似度を測定し、その後、クエリと意味的に類似したものを返します。
また、結果の関連性を高めるために、検索やクエリにメタデータフィルタリングを含めることもできます。なお、メタデータフィルタリング条件はクエリでは必須ですが、検索ではオプションです。
適用可能な metric type の詳細については、Metric Types を参照してください。
検索とクエリの詳細については、Search 章の記事を参照してください。基本機能には次のものがあります。
さらに、Zilliz Cloud は検索パフォーマンスと効率を改善するための拡張機能も提供しています。これらはデフォルトで無効になっており、サービス要件に応じて有効化して使用できます。以下のとおりです。
Partition
partition は collection のサブセットであり、親 collection と同じ field セットを共有し、それぞれが entity のサブセットを含みます。
entity を異なる partition に割り当てることで、entity グループを作成できます。特定の partition に対して検索やクエリを実行することで、Zilliz Cloud に他の partition 内の entity を無視させ、検索効率を向上できます。
詳細については、Manage Partitions を参照してください。
Shard
shard は collection の水平方向のスライスです。各 shard は 1 つのデータ入力チャネルに対応します。すべての collection はデフォルトで 1 つの shard を持ちます。collection に挿入するデータの想定スループットとボリュームに基づいて、collection 作成時に適切な shard 数を設定できます。
shard 数の設定方法の詳細については、Create a Collection を参照してください。
Alias
collection に対して alias を作成できます。1 つの collection は複数の alias を持つことができますが、collection 間で alias を共有することはできません。collection に対するリクエストを受信すると、Zilliz Cloud は指定された名前に基づいて collection を特定します。指定された名前の collection が存在しない場合、Zilliz Cloud は指定された名前を alias として検索します。collection alias を使用して、さまざまなシナリオにコードを適応させることができます。
詳細については、Manage Aliases を参照してください。
Function
collection 作成時に、field を導出するための function を Zilliz Cloud に設定できます。たとえば、全文検索 function は、ユーザー定義 function を使用して特定の varchar field から sparse vector field を導出します。全文検索の詳細については、Full Text Search を参照してください。
Consistency Level
分散データベースシステムでは通常、consistency level を使用して、データノードやレプリカ間でのデータの同一性を定義します。collection を作成するとき、または collection 内で類似検索を実行するときに、それぞれ別の consistency level を設定できます。適用可能な consistency level は、Strong、Bounded Staleness、Session、および Eventually です。
これらの consistency level の詳細については、Consistency Level を参照してください。
Limits
collection に関する制限事項については、Zilliz Cloud Limits を参照してください。