알아야 할 모든 것,
Apache Doris
Apache Doris의 핵심 기술과 주요 기능을 한곳에 정리한 참조 목록
- 분석 함수
- 배치 데이터 적재
- Binlog / Table Stream
- BM25 관련도 점수 산정Apache Doris는 BM25 관련도를 기준으로 전문 검색 결과의 순위를 매기므로, SQL 쿼리로 검색 엔진처럼 일치 결과를 정렬할 수 있습니다.
- Catalog 통합
- 컬럼형 스토리지Doris의 디스크상 세그먼트 형식입니다. 컬럼별 인코딩과 페이지별 압축으로 테이블 크기를 줄이고, 페이지별 인덱스로 쿼리가 읽을 필요 없는 페이지를 건너뛸 수 있게 합니다.
- 컴퓨트 그룹
- Condition Cache
- Data Cache 및 Page Cache
- 데이터 Compaction
- 데이터 계보Nereids 플랜에서 컬럼 수준 계보를 추출하여 플러그인 방식의 SPI를 통해 거버넌스 도구로 전달하고, 감사 로그에는 테이블 수준 추적 정보를 기록합니다.
- 데이터 모델
- 데이터 프루닝
- 데이터 업데이트 및 삭제
- 임베딩
- 전문 검색
- Group Commit여러 소규모 INSERT와 Stream Load를 서버 측에서 하나의 트랜잭션으로 병합하며, 동기 및 비동기 모드로 지연 시간과 처리량 사이의 균형을 조절합니다.
- 고동시성 포인트 쿼리
- 하이브리드 검색
- Iceberg
- 증분 구체화된 뷰
- 역색인
- Kafka 및 CDC 통합
- LLM SQL 함수Doris의 AI_* SQL 함수는 컬럼 값을 LLM으로 보내고 결과를 인라인으로 반환하므로, 분류, 추출, 요약 작업을 SQL에서 처리할 수 있습니다.
- 데이터 적재 트랜잭션
- 레이크 테이블 관리Doris는 SQL을 통해 Iceberg, Hive, Paimon 테이블에 데이터를 쓰고 테이블을 관리합니다. CREATE, INSERT, UPDATE, DELETE, 스키마 및 파티션 진화, 브랜치, 스냅샷을 지원합니다.
- MCP 서버
- 메타데이터 캐시
- MPP 아키텍처
- Multi Catalog
- Parquet 리더 최적화행 그룹과 페이지를 가지치기하고, 사전을 직접 디코딩하며, 필터를 적용한 후에만 페이로드를 읽는 네이티브 C++ 벡터화 Parquet 리더입니다.
- 파티셔닝과 버킷팅
- 파이프라인 실행 엔진
- 플러그형 인증 및 권한 부여
- 사전 집계와 롤업
- 준비된 문(Prepared Statement)
- Query Cache중간 집계 결과를 태블릿 단위로 저장하여 동일한 태블릿을 사용하는 쿼리가 작업 결과를 재사용할 수 있게 하는 파이프라인 수준 캐시입니다.
- 역순위 융합(Reciprocal Rank Fusion)
- Resource Group
- 디스크 스필(Spill to Disk)
- Stream Load
- Unique Key
- VARIANT 데이터 타입
- 벡터 인덱스ARRAY<FLOAT> 컬럼을 위한 네이티브 ANN 인덱스입니다. Doris 테이블에 구축하여 SQL 분석과 함께 밀리초 단위의 TopN 벡터 검색을 실행할 수 있습니다.
- 벡터화 실행
- 수직 컴팩션컬럼 그룹 기반 컴팩션으로, Doris가 와이드 테이블의 rowset을 병합할 때 메모리 사용량을 일정 범위로 제한합니다.
- 워크로드 그룹