Status | Authors | Coach | DRIs | Owning Stage | Created |
---|---|---|---|---|---|
proposed |
@nhxnguyen
|
@grzesiek
|
@dorrino
@nhxnguyen
| devops data stores | 2023-02-02 |
GitLab에서의 ClickHouse 사용법
요약
ClickHouse는 오픈 소스의 열 지향형 데이터베이스 관리 시스템입니다. 대량의 행에서 효율적으로 필터링, 집계 및 합산할 수 있습니다. FY23에서 GitLab은 관측 및 분석과 같은 대량 데이터 및 삽입 중심 요구 사항을 갖는 기능을 위한 표준 데이터 리포지터리로 ClickHouse를 선택했습니다. 이 설계안은 ClickHouse 작업 그룹의 결과물입니다. GitLab에서의 ClickHouse 도입을 위한 상위 수준 설계안으로, 특정 ClickHouse 관련 기술적 도전에 대한 다른 설계안을 참조합니다.
동기
FY23-Q2에 Monitor: Observability 팀은 ClickHouse 데이터 플랫폼을 개발 및 출시하여 에러 추적 및 기타 관측 기능에 대한 데이터를 저장하고 쿼리하기 시작했습니다. 다른 팀들도 ClickHouse를 현재 또는 계획 중인 아키텍처에 통합하기 시작했습니다. 제품 개발 팀 전반에 걸쳐 ClickHouse에 대한 관심이 고조되고 있기 때문에 ClickHouse를 사용하여 기능을 개발하기 위한 일관된 전략을 갖는 것이 중요합니다. 이를 통해 팀이 ClickHouse를 보다 효율적으로 활용할 수 있게 하고, SaaS 및 온프레미스 고객을 위해 이러한 기능을 효율적으로 유지 및 지원할 수 있도록 합니다.
사용 사례
GitLab의 많은 제품 팀은 새로운 기능을 개발하고 기존 기능의 성능을 개선할 때 ClickHouse를 고려하고 있습니다.
ClickHouse 작업 그룹 시작 시, 우리는 기존 및 잠재적 사용 사례를 문서화했으며, 모든 DevSecOps 단계 그룹의 팀에서 ClickHouse에 대한 관심이 있음을 확인했습니다.
목표
GitLab에서 이미 ClickHouse를 사용하기로 선택했기 때문에, 우리의 주요 목표는 이제 GitLab 전반에 걸쳐 ClickHouse의 성공적인 도입을 보장하는 것입니다. 이 목표를 제품 개발 워크플로의 다양한 단계에 따라 세분화하는 것이 도움이 됩니다.
- 계획: 개발 팀이 자신들의 기능에 ClickHouse가 적합한지 쉽게 이해할 수 있도록 합니다.
- 개발 및 테스트: 팀에게 ClickHouse를 이용한 기능을 개발하기 위한 모범 사례와 프레임워크를 제공합니다.
- 출시: SaaS 및 온프레미스를 위해 ClickHouse를 기반으로 한 기능을 지원합니다.
- 개선: ClickHouse 사용을 성공적으로 확장합니다.
비목표
GitLab Dedicated에 ClickHouse를 통합하기 위한 전략은 아직 시작되지 않았습니다. 지도부의 지침은 ClickHouse 기반 기능에 대한 명확한 수요가 나타나기 전에 우선 순위를 매기지 말아야 한다는 것입니다.
제품 로드맵
FY24 H2 (지난)
FY24 Q2에 우리는 이슈를 통해 여러 기능을 지원하기 위해 ClickHouse를 GitLab.com에 통합하기 위한 작업을 시작했습니다. 이 당시 온프레미스와의 통합을 시도하지 않았습니다. 이는 온프레미스 인스턴스의 불확실한 비용과 관리 요구 사항 때문입니다. 이번 단기 구현은 온프레미스 사용자에게 최고의 모범 사례와 전략을 개발하는 데 사용될 것입니다. 또한 ClickHouse는 FY24 Q3부터 GitLab.com에서 사용할 수 있습니다.
FY25 H1 (현재)
GitLab.com에서 ClickHouse를 직접 관리하는 모범 사례를 수립한 후, 온프레미스에서 직접 ClickHouse를 실행하려는 사용자에 대해 지원되는 권장 사항을 시작할 것입니다. 이 단계에서는 사용자들이 자사의 Elasticsearch에 대한 접근 방식과 유사한 방식으로 “Bring your own ClickHouse”할 수 있게 될 것입니다. ClickHouse를 최적으로 활용하는 기능들(Value Streams Dashboard, Product Analytics)을 위해, 이것은 초기의 go-to-market 조치가 될 것입니다. 특히, 관측 팀은 이 접근 방식을 따르지 않고 대신 GitLab Cloud Connector를 통해 온프레미스 사용자를 지원하기로 결정했습니다.
장기적으로
우리는 온프레미스 사용자의 비용 증가를 최소화하면서 쉽게 관리할 수 있는 ClickHouse의 패키지화된 참조 버전을 추구할 것입니다. 사용자들에게 ClickHouse의 관리 방법을 신뢰할 수 있게 가르치고, 사용량에 대한 정확한 비용을 제공할 수 있어야 합니다. 이를 통해 어떠한 기능이라도 최종 사용자 노출을 줄이지 않으면서 ClickHouse에 의존할 수 있게 될 것입니다.
모범 사례
ClickHouse를 사용하여 성능, 보안 및 확장성이 뛰어난 기능을 개발하는 데 대한 모범 사례와 지침은 ClickHouse 개발자 문서에 있습니다.
비용 및 유지 보수 분석
ClickHouse 컴포넌트의 비용 및 유지 보수 분석은 ClickHouse Self-managed 컴포넌트 비용 및 유지 보수 요구 사항에서 확인할 수 있습니다.