🚀 완전 관리형 Milvus인 Zilliz Cloud를 무료로 체험해보세요—10배 더 빠른 성능을 경험하세요! 지금 체험하기>>

milvus-logo
LFAI
  • Home
  • Blog
  • Milvus 메타데이터 관리 (2) 메타데이터 테이블의 필드

Milvus 메타데이터 관리 (2) 메타데이터 테이블의 필드

  • Engineering
December 27, 2019
Yihua Mo

메타데이터 테이블의 필드

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 테이블

다음 표는 Tables 에 있는 필드 유형과 필드에 대한 설명을 보여줍니다.

필드 이름데이터 유형설명
idint64벡터 테이블의 고유 식별자입니다. id 자동으로 증가합니다.
table_id문자열벡터 테이블의 이름. table_id 은 사용자가 정의해야 하며 Linux 파일 이름 가이드라인을 따라야 합니다.
stateint32벡터 테이블의 상태입니다. 0은 정상, 1은 삭제됨(소프트 삭제)을 나타냅니다.
dimensionint16벡터 테이블의 벡터 차원입니다. 사용자가 정의해야 합니다.
created_onint641970년 1월 1일부터 테이블이 생성될 때까지의 시간(밀리초)입니다.
flagint64벡터 ID가 사용자 정의인지 여부와 같은 내부 사용을 위한 플래그입니다. 기본값은 0입니다.
index_file_sizeint64데이터 파일의 크기가 index_file_size 에 도달하면 파일을 결합하지 않고 인덱스를 만드는 데 사용합니다. 기본값은 1024(MB)입니다.
engine_typeint32벡터 테이블에 대해 빌드할 인덱스 유형입니다. 기본값은 0으로, 유효하지 않은 인덱스를 지정합니다. 1은 FLAT을 지정합니다. 2는 IVFLAT을 지정합니다. 3은 IVFSQ8을 지정합니다. 4는 NSG를 지정합니다. 5는 IVFSQ8H를 지정합니다.
nlistint32인덱스가 구축될 때 각 데이터 파일의 벡터가 분할되는 클러스터의 수입니다. 기본값은 16384입니다.
metric_typeint32벡터 거리를 계산하는 메서드. 1은 유클리드 거리(L1)를 지정하고 2는 내적 곱을 지정합니다.

테이블 분할은 0.6.0에서 owner_table,partition_tagversion 를 포함한 몇 가지 새로운 필드와 함께 활성화되었습니다. 벡터 테이블인 table_1 에는 table_1_p1 이라는 파티션이 있으며, 이 역시 벡터 테이블입니다. partition_nametable_id 에 해당합니다. 파티션 테이블의 필드는 소유자 테이블에서 상속되며, owner table 필드는 소유자 테이블의 이름을 지정하고 partition_tag 필드는 파티션의 태그를 지정합니다.

tables_new tables_new

다음 표는 0.6.0의 새로운 필드를 보여줍니다:

필드 이름데이터 유형설명
owner_table문자열파티션의 상위 테이블입니다.
partition_tag문자열파티션의 태그입니다. 빈 문자열이 아니어야 합니다.
versionstringMilvus 버전입니다.

"TableFiles" 테이블의 필드

다음 예제에는 table_1 벡터 테이블에 속하는 두 개의 파일이 포함되어 있습니다. 첫 번째 파일의 인덱스 유형(engine_type)은 1(FLAT), 파일 상태(file_type)는 7(원본 파일의 백업), file_size 는 411200113 바이트, 벡터 행 수는 200,000개입니다. 두 번째 파일의 인덱스 유형은 2(IVFLAT)이고 파일 상태는 3(인덱스 파일)입니다. 두 번째 파일은 실제로 첫 번째 파일의 인덱스입니다. 자세한 내용은 다음 글에서 소개하겠습니다.

tablefiles 테이블 파일

다음 표는 TableFiles 의 필드와 설명을 보여줍니다:

필드 이름데이터 유형설명
idint64벡터 테이블의 고유 식별자. id 자동으로 증가합니다.
table_id문자열벡터 테이블의 이름입니다.
engine_typeint32벡터 테이블에 대해 빌드할 인덱스 유형입니다. 기본값은 0으로, 유효하지 않은 인덱스를 지정합니다. 1은 FLAT을 지정합니다. 2는 IVFLAT을 지정합니다. 3은 IVFSQ8을 지정합니다. 4는 NSG를 지정합니다. 5는 IVFSQ8H를 지정합니다.
file_id문자열파일 생성 시 생성된 파일명입니다. 1000에 1970년 1월 1일부터 테이블이 생성된 시간까지의 밀리초 수를 곱한 값입니다.
file_typeint32파일 상태입니다. 0은 새로 생성된 원시 벡터 데이터 파일을 지정합니다. 1은 원시 벡터 데이터 파일을 지정합니다. 2는 파일에 대한 인덱스가 생성될 것을 지정합니다. 3은 파일이 인덱스 파일임을 지정합니다. 4는 파일을 삭제(소프트 삭제)하도록 지정합니다. 5는 파일을 새로 생성하여 조합 데이터를 저장하는 데 사용하도록 지정합니다. 6은 파일이 새로 생성되어 인덱스 데이터를 저장하는 데 사용되도록 지정합니다. 7은 원시 벡터 데이터 파일의 백업 상태를 지정합니다.
file_sizeint64바이트 단위의 파일 크기입니다.
row_countint64파일에 포함된 벡터의 개수입니다.
updated_timeint641970년 1월 1일부터 테이블이 생성된 시간까지의 밀리초 수를 지정하는 최신 업데이트 시간에 대한 타임스탬프입니다.
created_onint641970년 1월 1일부터 테이블이 생성된 시간까지의 밀리초 수입니다.
dateint32테이블이 생성된 날짜입니다. 기록상의 이유로 아직 여기에 있으며 향후 버전에서는 제거될 예정입니다.

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started

Like the article? Spread the word

계속 읽기