개요

이 페이지는 Aeca DB가 만들어진 배경과 기능 및 특장점을 소개합니다.

Aeca는 무엇인가요?

Aeca는 다양한 형식의 데이터를 저장, 검색하는 데이터베이스입니다.

현대에 대부분의 서비스 개발 혹은 데이터 분석을 위해서는 많은 양의 데이터를 손실 없이 저장하고 관리할 수 있어야 하며 또한 검색하거나 분석할 수 있어야 합니다. 그러나 이를 만족하는 하나의 제품은 존재하지 않으며 하나 이상의 제품을 조합하여 서비스를 구성해야 합니다. 예를 들어 뉴스 데이터를 저장하고 검색하거나 분석하는 시스템을 만든다면 다음과 같은 시나리오를 생각해 볼 수 있습니다.

데이터 크롤링

크롤러를 통해 뉴스 데이터를 분석하여 MySQL에 저장

색인

키워드 검색을 위해 Elasticsearch를 통해 색인을 생성, 자연어 및 이미지 검색을 위해서 vector store(milvus 등)에 저장

검색

키워드 검색은 Elasticsearch을 통해서 검색하고 자연어 혹은 이미지는 vector store를 통해서 검색, 여기에 색인 되지 않은 데이터를 MySQL에서 가져온 후 병합하여 제공, 서비스 과정에서 호출 비용을 줄이기 위해 Redis와 같은 캐싱 서비스를 사용

저장과 검색을 위한 인프라 구성

위의 시나리오와 같이 데이터를 저장하고 검색하기 위해서는 많은 제품이 필요하고 또 이를 문제 없이 운영하기 위해서는 많은 이해와 관리 비용이 필요하게 됩니다.

Aeca를 이용한 인프라 구성

Aeca는 이러한 다양한 종류의 데이터를 저장하고 검색하는 과정을 단순화하기 위해 2023년에 만들어졌습니다. Aeca는 1대의 데이터베이스만으로 스케일업/아웃 없이 Generative AI를 위한 벡터 데이터베이스부터 Full Text Search, 데이터 저장과 분석까지 한번에 해결할 수 있습니다.

주요 기능

  • 다양한 데이터: Key-Value, Document, Time Series, Vector 타입의 데이터를 지원
  • 다양한 검색: Full-Text/Vector/Hybrid Search를 지원
  • 실시간성: CRUD Transaction 발생 즉시 검색/쿼리/조회가 가능
  • 대규모 데이터 처리: 1대의 데이터베이스만으로 대규모 트레픽/데이터 처리가 가능하여 일반적인 규모의 애플리케이션에서는 스케일아웃이 불필요
  • 모델 서빙: 간단한 설정으로 ML 모델 서빙이 가능하여 별도의 서비스가 불필요