본문 바로가기
업체소식

싱글스토리 10화 - SingleStore Helios, 통합 검색 속도 5배 이상 개선

by 에이플랫폼 [Team SingleStore Korea] 2025. 4. 29.

안녕하세요, 에이플랫폼의 싱글스토리 시리즈입니다.

이번에 SingleStore Helios 에서 사용할 수 있는 통합 검색 기능인

Ctrl + k (Command + k)의 기능이 5배 이상 향상 되었습니다.

 

 
 

Helios에서 Ctrl + K 검색 이란?

Helios의 Ctrl+ K 검색은 프론트엔드에서 작동합니다.

사용자가 검색을 하면 프론트엔드 는 WebSocket을 통해 데이터베이스의 information_schema 직접 쿼리하여 필요한 콘텐츠를 동적으로 가져와 관련 결과를 표시합니다.

검색이 활성화될 때마다 프론트엔드에서 SQL 쿼리가 시작되어 뷰, 집계, 프로시저, 파이프라인, 테이블 및 UDF(사용자 정의 함수)와 같은 다양한 데이터베이스 항목을 검색합니다.


기술 성능 개선

최적화 전에는 Command + K를 활성화하면 상당한 워크로드가 발생했습니다.

  • 실제 SingleStore의 팀 내부에서는 Helios에서 150개 이상의 데이터베이스를 관리하며, 각 검색 호출 은 2,500개 이상의 개별 SQL 쿼리를 실행합니다.
  • React 렌더링 오버헤드와 결합하면 총 실행 시간은 데이터베이스 항목당 평균 120+초의 병렬 실행 기간을 포함하여 약 730초에 달했습니다.

개선의 중요한 필요성을 인식하여 SQL과 React 레이어 모두에 걸쳐 전략적 최적화를 구현했습니다.

SQL 최적화

통합 SQL 쿼리 접근 방식

SingleStore의 효율적인 쿼리 엔진을 통해 SQL ‘Union’ 을 사용하여 다양한 데이터베이스 항목에 대한 여러 SQL 쿼리를 단일 통합 쿼리로 통합했습니다.

이 방법은 SingleStore의 뛰어난 아키텍처를 활용하여 성능 저하 없이 상당한 쿼리 통합을 가능하게 합니다.

React 최적화

  • 렌더링 로직 리팩토링

  React 렌더링 로직을 처음부터 완전히 재구성했습니다.

  • 중복 logic 제거

불필요한 React 훅(useEffects, useStates), 과도한 루프 및 중복 상태 업데이트를 제거하여 React 렌더링 파이프라인을 크게 간소화했습니다.

최적화 결과

Metric
최적화 전
최적화 후
개선
SQL queries
2,500+
96
~96% 감소
Execution time (sequential)
~730 초 ~730 초
~20 초 ~20 초
~97% 감소
Execution time (parallel)
~120 초 ~120 초
~20 초~ 20 초
~84% 개선

이러한 향상된 기능을 통해 최소 5배 이상 빠르고 효율적인 검색 경험할 수 있습니다.

 

사용자 환경 개선 사항

기술적 개선 외에도 Ctrl+ K를 사용한 사용자 상호 작용이 개선되었습니다.

  • 간소화된 UI

더 명확하고 사용 편의성을 높이기 위해 인터페이스가 재설계 되었습니다.

  • 최적화된 키보드 탐색

키보드 단축키를 통해 속도와 접근성이 향상되었습니다.

  • 고급 퍼지 매칭

검색 안정성이 향상되어 맞춤법 오류를 효과적으로 처리합니다

(Ex: "daranase"가 "database"를 올바르게 반환함).

  • 섹션 검색 기능

정확한 세부 정보 없이도 테이블을 포함한 섹션을 빠르게 식별할 수 있습니다.

  • 즉각적인 검색 결과

타이핑하는 동안 즉각적인 시각적 피드백으로 반응성이 향상됩니다.

 

지금까지 SingleStore Helios의 개선 사항에 대해 소개해 드렸습니다.

앞으로도 더 많은 정보와 최신 업데이트를 빠르게 소개해 드리겠습니다.

혹시 궁금한 점이 있다면 언제든지 댓글로 남겨 주세요! 😊