알리바바(Alibaba)의 AliSQL, 벡터 검색 및 DuckDB 엔진으로 MySQL 성능 혁신!

by DD
3개월 전
조회수 14

알리바바(Alibaba)가 MySQL을 기반으로 개발한 AliSQL벡터 검색(Vector Search)DuckDB 엔진을 통합함

DuckDB 스토리지 엔진(Storage Engine)을 통해 MySQL 환경에서 경량 분석 기능(Lightweight Analytical Capabilities)을 제공함

HNSW 알고리즘을 활용한 고성능 근사 최근접 이웃(Approximate Nearest Neighbor, ANN) 검색 지원

DDL 최적화(DDL Optimization), RTO 최적화(RTO Optimization), Replication 최적화(Replication Optimization) 등 성능 개선 계획 발표

AliSQL의 DuckDB 통합: 경량 분석 엔진

AliSQL은 DuckDB를 네이티브 스토리지 엔진으로 통합하여 MySQL 사용자에게 익숙한 환경에서 DuckDB를 사용할 수 있도록 지원한다. 이를 통해 사용자는 별도의 데이터 격리 아키텍처(Data Isolation Architecture) 없이 MySQL 내에서 경량 분석(Lightweight Analytics)을 수행할 수 있다. 특히, DuckDB 기반의 분석 인스턴스를 빠르게 배포하여 데이터 분석 역량을 강화할 수 있다.

벡터 검색 엔진: AI 기반 애플리케이션 지원

AliSQL은 최대 16,383차원의 엔터프라이즈급 벡터 처리(Vector Processing)를 지원하며, HNSW 알고리즘을 활용한 고성능 ANN(Approximate Nearest Neighbor) 검색을 제공한다. 이를 통해 사용자는 표준 SQL 인터페이스를 사용하여 시맨틱 검색(Semantic Search)추천 시스템(Recommendation Systems)과 같은 AI 기반 애플리케이션을 구축할 수 있다. 벡터 데이터(Vector Data)를 효율적으로 처리하여 AI 애플리케이션의 성능을 향상시킨다.

성능 최적화 로드맵: DDL, RTO, Replication 개선

AliSQL은 DDL 최적화(DDL Optimization)를 통해 인스턴스 시작 시간을 단축하고, RTO(Recovery Time Objective)를 개선하여 서비스 복구 속도를 높일 계획이다. 또한, Binlog Parallel FlushBinlog in Redo를 구현하여 Replication 처리량(Replication Throughput)을 향상시키고 지연 시간을 최소화할 예정이다. 이러한 최적화는 대규모 트랜잭션 및 DDL 작업의 효율성을 높이는 데 기여할 것이다.

빌드 및 배포 과정

AliSQL을 빌드하기 위해서는 CMake 3.x 이상, Python3, C++17 호환 컴파일러(GCC 7+ 또는 Clang 5+)가 필요하다. 빌드 과정은 git clone을 통해 소스 코드를 다운로드하고, `build.sh` 스크립트를 사용하여 빌드 유형(release 또는 debug) 및 설치 디렉토리를 지정하는 방식으로 진행된다. 빌드 옵션을 통해 SanitizerGCC coverage를 활성화할 수 있다.

AliSQL: Alibaba's open-source MySQL with vector and DuckDB engines