셀프 호스팅 Milvus에서 Zilliz Cloud로 마이그레이션해야 하는 이유와 방법
Milvus는 가장 인기 있는 오픈 소스 벡터 데이터베이스로, 높은 성능과 수평 확장성으로 신뢰받고 있습니다. Milvus를 사용해 오셨다면, 유사도 검색과 대규모 임베딩 워크로드를 얼마나 효율적으로 처리하는지 이미 알고 계실 것입니다.
하지만 데이터셋이 확장되고 애플리케이션이 더 복잡해질수록, 자체 Milvus 배포를 유지 관리하는 일은 인프라 관리와 클러스터 확장부터 일관된 성능 보장에 이르기까지 점점 더 어려워질 수 있습니다.
바로 이때 Zilliz Cloud가 필요합니다. Milvus를 위한 완전 관리형 클라우드 서비스인 Zilliz Cloud는 최대 10배 더 빠른 성능을 제공하고, 호스팅, 확장, 최적화를 번거로움 없이 처리하는 프로덕션 준비 환경을 제공합니다. 따라서 팀은 인프라 관리가 아니라 AI 애플리케이션 구축에 집중할 수 있습니다.
이 글에서는 Milvus와 Zilliz Cloud를 비교하고, Milvus에서 Zilliz Cloud로 원활하게 마이그레이션하여 운영 부담 없이 벡터 데이터를 최대한 활용하는 방법을 안내합니다.
Milvus vs. Zilliz Cloud
Milvus와 Zilliz Cloud는 동일한 기반을 공유하지만 서로 다른 목표에 맞게 최적화되어 있습니다.
오픈 소스 벡터 데이터베이스인 Milvus는 개발자에게 완전한 제어권과 유연성을 제공합니다. 벡터 실행 엔진인 Knowhere를 기반으로 하는 Milvus는 Faiss, Hnswlib, Annoy와 같은 최고 성능의 라이브러리를 통합하고, SIMD 가속, CPU/GPU 하이브리드 실행, 바이너리 벡터 지원으로 이를 강화합니다. 최적의 명령어 세트(SSE, AVX2, AVX512)를 자동으로 선택하며 Euclidean, Inner Product, Cosine, Jaccard, Hamming, BM25와 같은 여러 유사도 지표를 지원합니다.
이러한 특성 덕분에 Milvus는 벡터 인덱싱을 세밀하게 제어하고, 구성을 실험하며, 클러스터, 확장, 업그레이드를 관리할 DevOps 리소스를 갖춘 팀에게 탁월한 선택입니다.
반면 Zilliz Cloud는 Milvus를 한 단계 더 발전시킵니다. Milvus를 기반으로 구축된 Zilliz Cloud는 운영 복잡성을 없애는 동시에 더 높은 성능과 확장성을 제공하도록 설계된 완전 관리형 프로덕션급 벡터 데이터베이스 서비스입니다.
Zilliz Cloud의 핵심은 Milvus보다 최대 10배 더 빠른 성능을 제공하는 상용 등급의 자가 최적화 벡터 검색 엔진인 Cardinal에서 실행된다는 점입니다. AutoIndex를 통해 HNSW, IVF, DiskANN과 같은 인덱싱 알고리즘을 자동으로 선택하고 조정하여 수동 구성 없이 96% 이상의 재현율을 달성합니다.
하지만 Zilliz Cloud는 속도뿐만 아니라 AI 애플리케이션을 구축하고 확장하기 위한 종합적인 플랫폼도 제공합니다:
탄력적 확장 및 비용 효율성: 수요에 따라 컴퓨팅 및 스토리지 리소스를 손쉽게 확장하세요. 워크로드에 맞춰 조정되는 서버리스 자동 확장, 원클릭 배포, 사용량 기반 과금제를 활용할 수 있습니다.
고급 AI 검색 기능: 메타데이터 필터링과 동적 스키마를 통해 벡터, 전문, 하이브리드(dense + sparse) 검색을 수행하여 복잡한 멀티모달 검색을 가능하게 합니다.
자연어 쿼리: 내장된 MCP 서버 지원을 통해 개발자는 API 호출을 수동으로 작성하는 대신 자연어를 사용해 데이터를 쿼리할 수 있습니다.
엔터프라이즈급 안정성 및 보안: Zilliz Cloud는 99.95% 가동 시간 SLA, multi-AZ 중복성, SOC 2 Type II, ISO 27001, GDPR 준수와 같은 인증을 제공합니다. 또한 엔터프라이즈 데이터 보호를 위해 RBAC, BYOC, 감사 로그, 암호화를 지원합니다.
글로벌 확장성: AWS, GCP, Azure 전반에 배포하여 전 세계에서 100ms 미만의 지연 시간과 분산 팀을 위한 원활한 액세스를 보장합니다.
간편한 마이그레이션: 내장 마이그레이션 도구를 사용하여 Milvus, Pinecone, Qdrant, Weaviate, Elasticsearch 또는 PostgreSQL에서 이전할 수 있으며, 스키마 재작성이나 다운타임이 필요하지 않습니다.
간단히 말해, Milvus는 유연성과 제어권을 제공합니다. Zilliz Cloud는 유지 관리 부담 없이 성능, 간편함, 글로벌 확장성을 제공합니다.
마이그레이션 준비하기
Zilliz Cloud로 마이그레이션하기 전에 모든 것이 원활하게 진행되도록 몇 가지 단계를 수행해야 합니다:
현재 Milvus 설정 확인: Milvus 버전(마이그레이션을 지원하려면 2.3.6 이상이어야 함), 배포 유형(Docker 또는 Kubernetes 등), 구성한 사용자 지정 설정을 기록해 두세요.
데이터 백업: 마이그레이션 전에 항상 Milvus 데이터의 전체 백업을 생성하세요. 이 단계는 데이터 손실을 방지하는 데 매우 중요합니다.
마이그레이션 방법 선택: 데이터베이스 크기와 요구 사항에 따라 엔드포인트를 통해 마이그레이션하거나(더 작은 단일 데이터베이스 이동에 가장 적합) 백업 파일을 사용하여 마이그레이션할 수 있습니다(더 큰 마이그레이션에 권장).
이 가이드에서는 소스로 standalone Milvus instance를 사용했습니다. 기본 데이터베이스에는 migration_test라는 하나의 컬렉션이 포함되어 있으며, 여기에는 1,000개의 레코드가 포함되어 있습니다.
Milvus를 Zilliz Cloud로 마이그레이션하는 방법
Milvus에서 Zilliz Cloud로 마이그레이션하는 방법은 두 가지가 있습니다.
방법 1: 엔드포인트
필수 조건:
Milvus:
버전: Milvus 2.3.6 이상
네트워크: 공용 인터넷을 통해 액세스 가능해야 함
인증: 활성화된 경우 사용자 이름과 비밀번호를 준비하세요
Zilliz Cloud:
사용자 역할: 조직 소유자 또는 프로젝트 관리자여야 합니다
클러스터 리소스: Zilliz Cloud 클러스터에 충분한 스토리지 및 컴퓨팅 용량이 있는지 확인하세요. CU Calculator를 사용하여 이를 추정할 수 있습니다.
네트워크 액세스: Zilliz Cloud IP 주소를 허용 목록에 추가하세요(전체 목록은 여기에서 확인)
단계별 마이그레이션:
- Zilliz Cloud Console을 열고 새 마이그레이션을 시작하세요.
- 마이그레이션 방법으로 Endpoint를 선택하세요.
- Milvus 엔드포인트 URL과 사용자 이름 및 비밀번호(인증이 활성화된 경우)를 입력하세요.
- 연결 테스트가 통과하는지 확인하세요.
- 마이그레이션하려는 소스 Milvus 데이터베이스의 컬렉션과 Zilliz Cloud의 대상 데이터베이스 인스턴스 및 해당 컬렉션을 선택하세요.
- 모든 필드 매핑이 올바르게 일치하는지 확인하세요. 마이그레이션 작업을 시작하려면 Migrate를 클릭하세요.
- Job Center로 이동하여 진행 상황을 추적하세요. 작업 상태가 “In Progress”에서 “Successful”로 변경되면 마이그레이션이 완료된 것입니다.
마이그레이션 후 최종 확인:
- 컬렉션 수동 로드: 검색 및 쿼리 작업을 활성화하려면 Zilliz Cloud에서 마이그레이션된 컬렉션을 수동으로 load해야 합니다.
데이터 일관성 확인: Zilliz Cloud의 컬렉션 및 엔티티 수가 원래 Milvus 인스턴스와 일치하는지 확인하세요. 차이가 발견되면 마이그레이션을 다시 실행할 수 있습니다.
실패한 마이그레이션 처리: 마이그레이션 작업이 실패하면 Zilliz Cloud Console의 Job Center로 이동하여 작업을 취소하고 View Details를 클릭하여 오류 로그를 검토하세요.
방법 2: 백업 파일
필수 조건:
Zilliz Cloud:
사용자 역할: 조직 소유자 또는 프로젝트 관리자여야 합니다
클러스터 리소스: 클러스터에 데이터를 저장할 충분한 Compute Units (CUs)가 있는지 확인하세요. CU Calculator를 사용하여 이를 추정할 수 있습니다.
네트워크 액세스: Zilliz Cloud IP 주소를 허용 목록에 추가하세요(전체 목록은 여기에서 확인)
Milvus:
- 백업 파일: Milvus 백업 파일을 준비해야 합니다. 백업은 로컬 또는 AWS S3나 MinIO와 같은 객체 스토리지에 저장할 수 있습니다.
백업 파일 생성 및 업로드 방법:
milvus-backup 다운로드: 최신 버전의 milvus-backup을 받습니다
configs 폴더를 생성하고 backup.yaml 추가
wget https://raw.githubusercontent.com/zilliztech/milvus-backup/main/configs/backup.yaml
milvus-backup 바이너리가 있는 동일한 디렉터리에 configs라는 폴더를 만듭니다. backup.yaml 구성 파일을 다운로드하여 이 폴더에 저장합니다.
디렉터리 구조는 다음과 같아야 합니다:
workspace
├── milvus-backup
└── configs
└── backup.yaml
backup.yaml 사용자 지정: backup.yaml 파일을 열고 구성을 검토합니다. 환경에 따라 milvus.address, milvus.port, minio.address와 같은 필드를 업데이트합니다.
백업 생성:
./milvus-backup --config backup.yaml create -n my_backup
백업 파일 가져오기:
./milvus-backup --config backup.yaml get -n my_backup
백업 파일이 저장된 위치 확인: 구성에 따라 백업 파일이 서로 다른 위치에 저장될 수 있습니다.
OSS(Object Storage Service)를 사용하는 경우: 백업 파일은 이미
minio.address및minio.port로 정의된 OSS 버킷에 저장되어 있습니다.MinIO를 사용하는 경우: MinIO Console 또는
mc(MinIO Client) 도구를 사용하여 백업 파일을 다운로드할 수 있습니다.
MinIO Console에서 다운로드하려면:
MinIO 대시보드에 로그인합니다.
minio.address에 지정된 버킷을 찾습니다.버킷 내 파일을 선택하고 다운로드를 시작합니다.
mc 클라이언트를 사용하여 다운로드하려면:
# MinIO 호스트 구성
mc alias set my_minio https://<minio_endpoint> <accessKey> <secretKey>
# 사용 가능한 모든 버킷 나열
mc ls my_minio
# 특정 버킷에서 파일 다운로드
mc cp --recursive my_minio/<your-bucket-path> <local_dir_path>
백업 파일을 Zilliz Cloud에 업로드: 백업 파일을 확보한 후, Zilliz Cloud Console을 사용하여 백업 디렉터리 내부의 하위 폴더를 Zilliz Cloud에 업로드합니다.
backup
└── my_backup <= 이 폴더 업로드
단계별 마이그레이션:
- Zilliz Cloud에서 마이그레이션을 시작합니다.
백업 파일이 저장된 위치에 따라 백업 파일 위치를 선택합니다.
백업 폴더를 선택합니다.
데이터를 복원하려는 Zilliz Cloud의 대상 데이터베이스 및 컬렉션을 선택합니다.
- 진행 상황을 추적하려면 Job Center로 이동합니다.
마이그레이션 후 최종 확인:
컬렉션 수동 로드: 검색 및 쿼리 작업을 활성화하려면 Zilliz Cloud에서 마이그레이션된 컬렉션을 수동으로 로드해야 합니다.
데이터 일관성 확인: Zilliz Cloud의 컬렉션 및 엔터티 수가 원래 Milvus 인스턴스와 일치하는지 확인합니다. 차이가 발견되면 마이그레이션을 다시 실행할 수 있습니다.
실패한 마이그레이션 처리: 마이그레이션 작업이 실패하면 Zilliz Cloud Console의 Job Center로 이동하여 작업을 취소하고 View Details를 클릭해 오류 로그를 검토합니다.
원활한 마이그레이션을 위한 모범 사례
마이그레이션이 원활하게 실행되고 데이터 무결성이 유지되도록 하려면 다음 모범 사례를 염두에 두세요:
데이터 무결성 확인: 마이그레이션하기 전에 백업 파일이 완전하고 일관적인지 확인합니다.
진행 상황 모니터링: 마이그레이션 중 Job Center를 주시하여 문제를 조기에 발견하고 해결할 수 있도록 합니다.
애플리케이션 테스트: 마이그레이션 후 애플리케이션을 철저히 테스트하여 Zilliz Cloud에서 모든 것이 올바르게 실행되는지 확인합니다.
아래 표는 두 가지 마이그레이션 방법을 비교합니다. 필요에 가장 적합한 방법을 선택할 수 있습니다.
| 마이그레이션 방법 | 가장 적합한 경우 | 장점 | 제한 사항 |
|---|---|---|---|
| 엔드포인트를 통해 | 개별 데이터베이스 또는 소규모 배포 마이그레이션 | 간단하고 직관적이며, 세분화된 마이그레이션을 쉽게 관리할 수 있음 | 한 번에 하나의 데이터베이스만 마이그레이션 가능; 효율성이 낮음 |
| 백업 파일을 통해 | 대규모 마이그레이션 또는 여러 데이터베이스를 동시에 마이그레이션 | 효율성이 높음; 대규모 데이터셋 처리에 이상적 | 추가 도구 및 스토리지 설정이 필요함; 운영이 약간 더 복잡함 |
Zilliz Cloud를 직접 경험해 보세요
자체 호스팅 Milvus에서 Zilliz Cloud로 마이그레이션하는 것은 단순한 인프라 업그레이드 그 이상입니다. AI 애플리케이션을 위해 더 빠르고, 더 단순하며, 더 확장 가능한 미래로 나아가는 단계입니다. 무료로 가입하고 $100 크레딧을 받아 세계 최고의 매니지드 벡터 데이터베이스를 직접 탐색해 보세요.
Milvus 외에도 Zilliz Cloud는 Weaviate, Pinecone, Elasticsearch, OpenSearch, Amazon S3 Vectors, Qdrant, PostgreSQL 등 다양한 소스에서의 원활한 마이그레이션도 지원하며, 더 많은 통합이 곧 제공될 예정입니다.
마이그레이션에 대해 궁금한 = 점이 있으면 문서를 확인하거나 문의해 주세요. Zilliz Cloud를 최대한 활용하실 수 있도록 도와드리겠습니다.
계속 읽기

Introducing Zilliz Cloud Global Cluster: Region-Level Resilience for Mission-Critical AI
Zilliz Cloud Global Cluster delivers multi-region resilience, automatic failover, and fast global AI search with built-in security and compliance.

Announcing VDBBench 1.0: Open-Source VectorDB Benchmarking with Your Real-World Production Workloads
Discover VDBBench 1.0, an open-source tool for benchmarking vector databases with real-world production data, streaming ingestion, and concurrent workloads.

Legal Document Analysis: Harnessing Zilliz Cloud's Semantic Search and RAG for Legal Insights
Enhance legal document analysis with Zilliz Cloud’s Semantic Search and RAG. Improve accuracy, efficiency, and scalability for contracts, case law, and compliance.



