Milvus 메타데이터 관리 (2) 메타데이터 테이블의 필드
메타데이터 테이블의 필드
Author: 이화 모
날짜: 2019-12-27
지난 블로그에서는 MySQL 또는 SQLite를 사용하여 메타데이터를 보는 방법에 대해 언급했습니다. 이번 글에서는 주로 메타데이터 테이블의 필드에 대해 자세히 소개하고자 합니다.
"Tables
" 테이블의 필드
SQLite를 예로 들어 보겠습니다. 다음 결과는 0.5.0에서 가져온 것입니다. 일부 필드는 나중에 소개될 0.6.0에 추가되었습니다. Tables
에 이름이 table_1
인 512차원 벡터 테이블을 지정하는 행이 있습니다. 테이블이 생성되면 index_file_size
은 1024MB, engine_type
은 1(FLAT), nlist
은 16384, metric_type
은 1(유클리드 거리 L2), id
은 테이블의 고유 식별자입니다. state
은 테이블의 상태이며 0은 정상 상태를 나타냅니다. created_on
은 생성 시간, flag
은 내부 사용을 위해 예약된 플래그입니다.
테이블
다음 표는 Tables
에 있는 필드 유형과 필드에 대한 설명을 보여줍니다.
필드 이름 | 데이터 유형 | 설명 |
---|---|---|
id | int64 | 벡터 테이블의 고유 식별자입니다. id 자동으로 증가합니다. |
table_id | 문자열 | 벡터 테이블의 이름. table_id 은 사용자가 정의해야 하며 Linux 파일 이름 가이드라인을 따라야 합니다. |
state | int32 | 벡터 테이블의 상태입니다. 0은 정상, 1은 삭제됨(소프트 삭제)을 나타냅니다. |
dimension | int16 | 벡터 테이블의 벡터 차원입니다. 사용자가 정의해야 합니다. |
created_on | int64 | 1970년 1월 1일부터 테이블이 생성될 때까지의 시간(밀리초)입니다. |
flag | int64 | 벡터 ID가 사용자 정의인지 여부와 같은 내부 사용을 위한 플래그입니다. 기본값은 0입니다. |
index_file_size | int64 | 데이터 파일의 크기가 index_file_size 에 도달하면 파일을 결합하지 않고 인덱스를 만드는 데 사용합니다. 기본값은 1024(MB)입니다. |
engine_type | int32 | 벡터 테이블에 대해 빌드할 인덱스 유형입니다. 기본값은 0으로, 유효하지 않은 인덱스를 지정합니다. 1은 FLAT을 지정합니다. 2는 IVFLAT을 지정합니다. 3은 IVFSQ8을 지정합니다. 4는 NSG를 지정합니다. 5는 IVFSQ8H를 지정합니다. |
nlist | int32 | 인덱스가 구축될 때 각 데이터 파일의 벡터가 분할되는 클러스터의 수입니다. 기본값은 16384입니다. |
metric_type | int32 | 벡터 거리를 계산하는 메서드. 1은 유클리드 거리(L1)를 지정하고 2는 내적 곱을 지정합니다. |
테이블 분할은 0.6.0에서 owner_table
,partition_tag
및 version
를 포함한 몇 가지 새로운 필드와 함께 활성화되었습니다. 벡터 테이블인 table_1
에는 table_1_p1
이라는 파티션이 있으며, 이 역시 벡터 테이블입니다. partition_name
는 table_id
에 해당합니다. 파티션 테이블의 필드는 소유자 테이블에서 상속되며, owner table
필드는 소유자 테이블의 이름을 지정하고 partition_tag
필드는 파티션의 태그를 지정합니다.
tables_new
다음 표는 0.6.0의 새로운 필드를 보여줍니다:
필드 이름 | 데이터 유형 | 설명 |
---|---|---|
owner_table | 문자열 | 파티션의 상위 테이블입니다. |
partition_tag | 문자열 | 파티션의 태그입니다. 빈 문자열이 아니어야 합니다. |
version | string | Milvus 버전입니다. |
"TableFiles"
테이블의 필드
다음 예제에는 table_1
벡터 테이블에 속하는 두 개의 파일이 포함되어 있습니다. 첫 번째 파일의 인덱스 유형(engine_type
)은 1(FLAT), 파일 상태(file_type
)는 7(원본 파일의 백업), file_size
는 411200113 바이트, 벡터 행 수는 200,000개입니다. 두 번째 파일의 인덱스 유형은 2(IVFLAT)이고 파일 상태는 3(인덱스 파일)입니다. 두 번째 파일은 실제로 첫 번째 파일의 인덱스입니다. 자세한 내용은 다음 글에서 소개하겠습니다.
테이블 파일
다음 표는 TableFiles
의 필드와 설명을 보여줍니다:
필드 이름 | 데이터 유형 | 설명 |
---|---|---|
id | int64 | 벡터 테이블의 고유 식별자. id 자동으로 증가합니다. |
table_id | 문자열 | 벡터 테이블의 이름입니다. |
engine_type | int32 | 벡터 테이블에 대해 빌드할 인덱스 유형입니다. 기본값은 0으로, 유효하지 않은 인덱스를 지정합니다. 1은 FLAT을 지정합니다. 2는 IVFLAT을 지정합니다. 3은 IVFSQ8을 지정합니다. 4는 NSG를 지정합니다. 5는 IVFSQ8H를 지정합니다. |
file_id | 문자열 | 파일 생성 시 생성된 파일명입니다. 1000에 1970년 1월 1일부터 테이블이 생성된 시간까지의 밀리초 수를 곱한 값입니다. |
file_type | int32 | 파일 상태입니다. 0은 새로 생성된 원시 벡터 데이터 파일을 지정합니다. 1은 원시 벡터 데이터 파일을 지정합니다. 2는 파일에 대한 인덱스가 생성될 것을 지정합니다. 3은 파일이 인덱스 파일임을 지정합니다. 4는 파일을 삭제(소프트 삭제)하도록 지정합니다. 5는 파일을 새로 생성하여 조합 데이터를 저장하는 데 사용하도록 지정합니다. 6은 파일이 새로 생성되어 인덱스 데이터를 저장하는 데 사용되도록 지정합니다. 7은 원시 벡터 데이터 파일의 백업 상태를 지정합니다. |
file_size | int64 | 바이트 단위의 파일 크기입니다. |
row_count | int64 | 파일에 포함된 벡터의 개수입니다. |
updated_time | int64 | 1970년 1월 1일부터 테이블이 생성된 시간까지의 밀리초 수를 지정하는 최신 업데이트 시간에 대한 타임스탬프입니다. |
created_on | int64 | 1970년 1월 1일부터 테이블이 생성된 시간까지의 밀리초 수입니다. |
date | int32 | 테이블이 생성된 날짜입니다. 기록상의 이유로 아직 여기에 있으며 향후 버전에서는 제거될 예정입니다. |
관련 블로그
- 메타데이터 테이블의 필드
- 관련 블로그
On This Page
Try Managed Milvus for Free
Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.
Get StartedLike the article? Spread the word