This page contains information related to upcoming products, features, and functionality. It is important to note that the information presented is for informational purposes only. Please do not rely on this information for purchasing or planning purposes. As with all projects, the items mentioned on this page are subject to change or delay. The development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.
Status Authors Coach DRIs Owning Stage Created
proposed @nhxnguyen @grzesiek @dorrino @nhxnguyen devops data stores 2023-02-02

GitLab에서의 ClickHouse 사용법

요약

ClickHouse는 오픈 소스 열 지향적 데이터베이스 관리 시스템입니다. 대량의 행에 대해 효율적으로 필터링, 집계 및 합산할 수 있습니다. FY23에서 GitLab은 Observability 및 Analytics와 같은 대용량 및 삽입 중심 요구 사항이 있는 기능에 대한 표준 데이터 저장소로 ClickHouse를 선택했습니다. 이 청사진은 ClickHouse 워킹 그룹의 제품으로, GitLab에서의 ClickHouse 채택을 위한 고수준 청사진으로 특정 ClickHouse 관련 기술적 도전에 대한 다른 청사진을 참조합니다.

동기

FY23-Q2에 Monitor:Observability 팀은 Error Tracking 및 기타 observability 기능을 위해 데이터를 저장하고 쿼리하기 위한 ClickHouse 데이터 플랫폼을 개발하고 출시했습니다. 다른 팀도 현재나 계획중인 아키텍처에 ClickHouse를 통합하기 시작했습니다. 제품 개발 팀 전반에 걸쳐 ClickHouse에 대한 관심이 증가하고 있기 때문에 ClickHouse를 사용하여 기능을 개발하기 위한 일관된 전략을 갖는 것이 중요합니다. 이를 통해 팀이 ClickHouse를 효율적으로 활용할 수 있도록 하고 SaaS 및 자체 관리 고객을 위해 이 기능을 효과적으로 유지하고 지원할 수 있도록 보장할 수 있습니다.

Use Cases

GitLab의 많은 제품 팀은 새로운 기능을 개발하거나 기존 기능의 성능을 개선할 때 ClickHouse를 고려하고 있습니다.

ClickHouse 워킹 그룹의 시작 시점에 우리는 기존 및 잠재적인 사용 사례를 문서화했고, DevSecOps 단계 그룹 전체에서 ClickHouse에 대한 관심이 있음을 발견했습니다.

목표

GitLab에서 이미 ClickHouse를 선택했기 때문에, 지금 주요 목표는 ClickHouse의 성공적인 채택을 보장하는 것입니다. 제품 개발 워크플로의 다양한 단계에 따라 이 목표를 세분화하는 것이 도움이 됩니다.

  1. 계획: 개발 팀이 자신들의 기능에 ClickHouse가 적합한지 쉽게 이해할 수 있도록 합니다.
  2. 개발 및 테스트: ClickHouse를 지원하는 기능을 개발하는 데 가장 좋은 방법과 프레임워크를 제공합니다.
  3. 론칭: SaaS 및 자체 관리를 위해 ClickHouse를 지원하는 기능을 성공적으로 출시합니다.
  4. 개선: ClickHouse 사용률을 성공적으로 증가시킵니다.

비목표

ClickHouse를 GitLab Dedicated에 통합하기 위한 전략은 아직 시작되지 않았습니다. 리더쉽은 ClickHouse를 지원하는 기능에 대한 명확한 수요가 선정되기 전에는 이를 우선시하는 것이 바람직하다고 지침을 제시했습니다.

제품 로드맵

FY24 H2 (과거)

FY24 Q2에 우리는 이슈에서 개발 중인 여러 기능을 지원하기 위해 GitLab.com에 ClickHouse를 통합하기 위해 작업을 시작했습니다. 이 시점에서 자체 관리와의 효율적인 비용 및 관리 요구 사항으로 인해 자체 관리와의 통합을 진행하지 않았습니다. 이 단기 구현은 자체 관리 사용자를 위한 모베스트 프랙티스와 전략 개발에 사용될 것입니다. 또한 초기에 ClickHouse를 도입하고자 하는 자체 관리 인스턴스를 위해 계속해서 권장사항을 제시할 것입니다. FY24 Q3 시점에서 ClickHouse는 GitLab.com에서 사용할 수 있습니다.

FY25 H1 (현재)

GitLab.com에서 ClickHouse를 자체 관리하기 위한 모베스트 프랙티스를 수립한 후, 자체 관리 인스턴스를 위해 ClickHouse를 실행하고자 하는 사용자들에게 지원되는 권장 사항을 제공할 예정입니다. 이 단계에서는 Elasticsearch의 접근 방식과 유사하게 사용자가 “자체 ClickHouse를 가져오도록” 허용할 것입니다. ClickHouse를 최적으로 사용하기 위해 필요한 기능들에 대해 이것이 초기 고객 유치 전략으로 채택될 것입니다. 특히 Observability 팀은 이 접근 방식을 따르는 대신 GitLab Cloud Connector를 통해 자체 관리 사용자를 지원하기로 결정했습니다.

장기적으로

우리는 자체 관리 사용자들에게 비용을 최소화하면서 ClickHouse를 쉽게 관리할 수 있는 패키지화된 참조 버전을 개발할 것입니다. 우리는 사용자들에게 ClickHouse의 관리에 대해 신뢰할 수 있는 지침을 제시하고 사용에 대한 정확한 비용을 제공할 수 있어야 합니다. 이것은 최종 사용자 노출을 감소시키지 않고 ClickHouse에 의존할 수 있는 어떠한 기능에도 영향을 미치지 않을 것입니다.

최상의 실천 방법

ClickHouse를 사용하여 성능, 보안 및 확장성이 우수한 기능을 개발하기 위한 최상의 실천 방법 및 지침은 ClickHouse 개발자 문서에서 찾을 수 있습니다.

비용 및 유지 관리 분석

ClickHouse 구성 요소의 비용 및 유지 관리 분석은 ClickHouse Self-Managed 구성 요소 비용 및 유지 관리 요구 사항에서 찾을 수 있습니다.