데이터 흐름 효율성 향상: Zilliz, Upsert, Kafka Connector 및 Airbyte Integration 도입
오늘날의 데이터 중심 환경에서 효율적인 데이터 수집과 견고한 데이터 파이프라인은 강력한 데이터베이스 시스템의 중추를 이룹니다. Zilliz에서 이 영역의 최근 개선 사항, 특히 Upsert, Kafka Connector, Airbyte 통합의 도입은 성능, 다재다능함, 통합 용이성에서 뛰어난 벡터 데이터베이스를 개발자에게 제공하겠다는 우리의 약속을 잘 보여줍니다. 우리는 이러한 새로운 추가 기능을 통해 데이터 처리를 간소화하고, 원활한 통합과 데이터 흐름에 대한 향상된 제어를 제공하도록 설계했으며, 이를 통해 개발자가 복잡한 데이터 수집 프로세스를 관리하는 부담 없이 혁신적인 애플리케이션을 만드는 데 집중할 수 있도록 했습니다.
Upsert로 데이터 업데이트 간소화
이전 Milvus 버전에서는 많은 사용자 시나리오에서 데이터를 업데이트하려면 삭제 후 삽입이라는 2단계 프로세스가 필요했습니다. 이 방법은 기능적으로는 작동했지만, 주로 데이터 원자성과 운영 편의성을 보장할 수 없다는 뚜렷한 단점이 있었습니다. 이러한 과제를 인식하고, 우리는 Milvus 2.3의 Upsert를 도입하여 데이터 업데이트 처리 방식을 근본적으로 바꾸었습니다. 이제 Zilliz Cloud에서 Upsert가 Public Preview로 제공된다는 점을 기쁘게 생각합니다.
Upsert는 업데이트 프로세스를 단순화합니다. 데이터가 시스템에 존재하지 않으면 삽입하고, 존재하면 업데이트합니다. 이 접근 방식은 원자성이라는 중요한 개념을 중심으로 구축되어, Upsert 작업이 삽입 또는 삭제를 포함하는지 여부와 관계없이 외부에서는 단일 작업으로 인식되도록 보장합니다.
내부적으로 이 방법은 일반적이지 않지만 매우 효과적입니다. 먼저 삽입한 다음 삭제합니다. 이 순서는 작업 중 데이터 가시성을 유지하는 데 핵심적이며, 특히 삽입과 삭제가 서로 다른 세그먼트에서 처리되는 Milvus와 같은 시스템에서 중요합니다.
또한 Upsert는 기본 키 수정 처리를 신중하게 고려하여 특별히 설계되었습니다. 업데이트 중에는 기본 키 열을 변경할 수 없으며, 이는 Milvus가 기본 키 해시를 기반으로 샤드 전반에서 데이터를 관리하는 방식과 일치합니다. 이러한 제약은 크로스 샤드 작업의 복잡성과 잠재적 불일치를 방지합니다.
Upsert 사용은 간단하며 여러 면에서 Insert 작업과 유사합니다. 개발자는 최소한의 조정만으로 Upsert를 기존 워크플로에 쉽게 통합할 수 있습니다. 예를 들어 Pymilvus와 같은 SDK에서는 Upsert 명령을 Insert와 유사하게 호출할 수 있어, 플랫폼에 익숙한 사용자에게 원활한 경험을 제공합니다.
실행되면 Upsert는 작업 성공 여부와 영향을 받은 행 수에 대한 피드백을 제공하여 개발자의 사용 편의성을 높입니다. 이러한 사용상의 단순함과 작업의 견고함이 결합되어 Upsert는 데이터 관리 도구 모음에서 가치 있는 도구가 됩니다. 자세한 내용은 Upsert 문서를 확인할 수 있습니다.
하지만 Upsert와 관련된 특정 고려 사항을 인식하는 것이 중요합니다.
AutoID 제약: Upsert를 사용하려면 AutoID가 false로 설정되어 있어야 합니다. 컬렉션의 스키마에서 AutoID가 true로 설정되어 있으면 Upsert 작업을 수행할 수 없습니다. 이러한 제한은 업데이트 작업인 Upsert가 해당 데이터 배치를 업데이트하기 위해 기본 키 제출을 필요로 하기 때문에 존재합니다. 사용자가 제공한 기본 키가 AutoID가 할당한 기본 키와 충돌하여 데이터가 덮어쓰일 가능성이 있습니다. 따라서 현재로서는 AutoID가 활성화된 컬렉션이 Upser를 지원할 수 없습니다. 하지만 향후 반복 버전에서는 이 제한이 제거될 수도 있습니다.
성능 오버헤드: Upsert는 성능 비용을 발생시킬 수 있습니다. Milvus는 Write-Ahead Logging(WAL) 아키텍처를 사용하며, 과도한 삭제는 성능 저하로 이어질 수 있습니다. 이는 Milvus의 삭제 작업이 데이터를 즉시 지우지 않기 때문입니다. 대신 삭제 레코드로 데이터를 표시합니다. 이 레코드는 나중의 컴팩션 프로세스 중에만 처리되고 데이터가 제거됩니다. 따라서 빈번한 삭제는 데이터 팽창으로 이어지고 성능에 영향을 줄 수 있습니다. 최적의 성능을 위해 Upsert를 과도하게 사용하거나 오용하지 않는 것이 좋습니다.
앞으로도 데이터 관리 기능을 개선하고 발전시키기 위한 지속적인 노력의 일환으로 Upsert와 같은 더 많은 새로운 기능이 출시되어, 개발자들이 효율적이고 효과적인 데이터 처리를 위해 필요한 도구를 갖출 수 있도록 할 것입니다.
Kafka Connector로 실시간 데이터 솔루션 강화
최근 오픈 소스 Milvus 및 Zilliz Cloud와 함께 Kafka Sink Connector를 발표했습니다. 이 개발을 통해 Confluent/ Kafka에서 Milvus 또는 Zilliz 벡터 데이터베이스로 벡터 데이터를 원활하게 실시간 스트리밍할 수 있습니다. 이러한 통합은 비정형 데이터의 힘을 활용하고 실시간 생성형 AI의 기능을 향상하는 데 매우 중요하며, 특히 OpenAI의 GPT-4와 같은 고급 모델에서 그렇습니다.
Zilliz와 Confluent 간의 협업은 새로 생성되는 정보의 80% 이상을 차지하는, 지속적으로 증가하는 비정형 데이터의 양을 관리하고 활용하는 데 있어 중요한 발전을 의미합니다. 실시간 벡터 데이터 스트리밍을 가능하게 함으로써, 우리는 이 데이터를 효율적으로 저장, 처리하고 쉽게 검색 가능하게 만드는 강력한 솔루션을 제공합니다.
이 커넥터의 예시 사용 사례는 다음과 같습니다.
생성형 AI 향상: GenAI 애플리케이션에 최신 벡터 데이터를 제공하면 더 정확하고 시의적절한 인사이트를 얻을 수 있습니다. 이는 다양한 데이터 소스에서 벡터 임베딩을 스트리밍하는 것이 중요한 금융 및 미디어와 같은 분야에서 특히 유용합니다.
전자상거래 추천 최적화: 실시간 재고 및 고객 행동 업데이트를 통해 전자상거래 플랫폼은 추천을 동적으로 조정하여 사용자 경험을 향상할 수 있습니다.
이 통합을 시작하는 방법은 간단합니다.
GitHub 또는 Confluent Hub에서 Kafka Sink Connector를 다운로드합니다.
Confluent 및 Zilliz 계정을 구성하고, 두 플랫폼에서 필드 이름이 일치하는지 확인합니다.
GitHub 리포지토리의 자세한 지침에 따라 Connector를 로드하고 구성합니다.
Connector를 실행하고 Kafka에서 Zilliz로의 실시간 데이터 스트리밍을 경험합니다.
설정, 사용 사례 및 단계별 지침에 대한 자세한 가이드는 GitHub 리포지토리를 방문하고 Confluent 통합 페이지를 살펴보시기 바랍니다.
Airbyte Integration으로 효율적인 데이터 통합 지원
최근 Airbyte 팀과 협력하여 Airbyte를 Milvus에 통합했으며, 이를 통해 대규모 언어 모델(LLMs) 및 벡터 데이터베이스에서의 데이터 수집과 활용을 혁신했습니다. 이 통합은 고차원 벡터 데이터의 저장, 인덱싱 및 검색을 향상시키며, 이는 생성형 채팅 응답 및 제품 추천과 같은 애플리케이션에 매우 중요합니다.
통합의 주요 특징:
효율적인 데이터 전송: Airbyte는 다양한 소스의 데이터를 Milvus/ Zilliz로 원활하게 전송하여 즉석 벡터 임베딩 계산을 가능하게 하고 데이터 처리를 간소화합니다.
향상된 검색 기능: 이 통합은 벡터 데이터베이스 내 시맨틱 검색 기능을 강화합니다. 임베딩을 활용하여 시스템은 의미적 유사성을 기반으로 밀접하게 관련된 콘텐츠를 자동으로 식별하고 제시할 수 있으며, 이는 비정형 데이터에서 효율적인 검색이 필요한 애플리케이션에 매우 유용합니다.
간단한 설정 프로세스: Milvus 클러스터를 설정하고 데이터 동기화를 위해 Airbyte를 구성하는 과정은 간단하며, 원하는 경우 Streamlit 및 OpenAI 임베딩 API를 사용하여 애플리케이션을 구축하는 것도 마찬가지입니다.
이 통합은 데이터 전송 및 처리를 간소화하고 실시간 AI 기반 애플리케이션을 위한 새로운 가능성을 열어줍니다. 예를 들어, 고객 지원 시스템에서 이 기술을 통합하면 시맨틱 검색을 사용하여 지능형 지원 양식을 만들 수 있습니다. 이를 통해 시스템은 사용자에게 즉각적이고 관련성 높은 정보를 제공할 수 있어, 지원 상담원의 직접 개입 필요성을 줄이고 전반적인 사용자 경험을 개선합니다.
Zendesk를 데이터 소스로 사용하는 것과 같은 자세한 실제 적용 사례는 당사의 릴리스 블로그를 참조하세요. 이 예시는 실제 시나리오에서 통합을 적용하여 지원 티켓 관리와 지식 베이스 접근성을 향상시키는 방법을 보여줍니다.
Airbyte와 Milvus 통합은 AI 및 데이터 관리 분야에서 중요한 진전을 나타내며, 벡터 데이터를 관리하기 위한 효율적인 솔루션을 제공합니다. 이는 운영에서 AI의 잠재력을 최대한 활용하고자 하는 개발자와 기업에게 새로운 기회를 창출합니다.
결론
Upsert, Kafka Connector, Airbyte와 같은 도구를 Zilliz의 벡터 데이터베이스와 지속적으로 개발하고 통합하는 것은 비정형 데이터 관리 기술을 발전시키려는 우리의 노력을 잘 보여줍니다. 이러한 개선 사항은 검색 성능을 향상시키고 전체 데이터 파이프라인을 간소화하여 더 효율적이고 개발자 친화적으로 만들도록 맞춤화되어 있습니다.
앞으로 데이터 수집 및 파이프라인 기능 제품군을 더욱 확장할 계획입니다. 비정형 데이터 처리와 AI 기반 애플리케이션의 변화하는 요구를 충족하는 도구를 지속적으로 혁신하고 제공하는 동안 이러한 업데이트를 기대해 주세요.
개발자 커뮤니티의 피드백과 인사이트를 매우 소중히 여기며 지속적인 개선에 전념하고 있습니다. 여러분의 경험과 제안은 이러한 기술을 발전시키는 여정에서 매우 중요합니다. 여러분의 의견을 듣고 싶습니다. GitHub 커뮤니티에 참여하거나 여기에 티켓을 제출하여 직접 피드백을 보내 주세요.
계속 읽기

Zilliz Cloud BYOC Now Available Across AWS, GCP, and Azure
Zilliz Cloud BYOC is now generally available on all three major clouds. Deploy fully managed vector search in your own AWS, GCP, or Azure account — your data never leaves your VPC.

Zilliz Cloud Enterprise Vector Search Powers High-Performance AI on AWS
Zilliz Cloud on AWS powers secure, scalable, ultra-fast vector search for enterprise AI apps, with BYOC, sub-10ms latency, and zero-DevOps simplicity.

Why AI Databases Don't Need SQL
Whether you like it or not, here's the truth: SQL is destined for decline in the era of AI.


