- ClickHouse는 매우 빠른 속도로 개발되며, 보통 1년에 10개가 넘는 안정 릴리스가 나옵니다. 즉, 선택 가능한 릴리스가 매우 많기 때문에 쉽게 결정할 수 있는 문제가 아닙니다.
- 일부 사용자는 자신의 사용 사례에 가장 적합한 버전을 직접 판단하는 데 시간을 쓰기보다, 다른 사람의 조언을 따르기를 원합니다.
어떤 ClickHouse 버전을 권장합니까?
- 프리프로덕션 환경에서는 프로덕션에서 실행할 예정인 것과 최대한 유사한 쿼리 집합을 실행해야 합니다:
- 고정된 데이터만 둔 읽기 전용 환경으로 만들지 마십시오.
- 일반적인 보고서는 만들지 않고 데이터만 복사하는 쓰기 전용 환경으로 만들지 마십시오.
- 스키마 마이그레이션을 적용하는 대신 데이터를 모두 지우지 마십시오.
- 실제 프로덕션 데이터와 쿼리의 샘플을 사용하십시오. 대표성이 유지되면서
SELECT쿼리가 합리적인 결과를 반환할 수 있는 샘플을 선택해 보십시오. 데이터가 민감하고 내부 정책상 프로덕션 환경 밖으로 반출할 수 없다면 난독화를 사용하십시오. - 프리프로덕션 환경도 프로덕션 환경과 동일한 방식으로 모니터링 및 알림 소프트웨어의 적용을 받도록 하십시오.
- 프로덕션이 여러 데이터센터나 리전에 걸쳐 있다면 프리프로덕션 환경도 동일하게 구성하십시오.
- 프로덕션에서 복제, 분산 테이블, 연쇄형 materialized view 같은 복잡한 기능을 사용한다면, 프리프로덕션 환경에서도 비슷하게 구성되어 있는지 확인하십시오.
- 프리프로덕션 환경을 프로덕션과 비슷한 수의 서버 또는 VM으로 구성하되 더 작은 사양을 사용할지, 아니면 훨씬 적은 수로 구성하되 동일한 사양을 사용할지에는 절충이 필요합니다. 전자는 추가적인 네트워크 관련 문제를 포착할 수 있고, 후자는 관리가 더 쉽습니다.
- 새로운 ClickHouse 릴리스에 대해 자동화 테스트를 정기적으로 실행하십시오.
testing으로 표시된 ClickHouse 릴리스에 대해서도 실행할 수는 있지만, 그 상태로 다음 단계까지 진행하는 것은 권장되지 않습니다. - 테스트를 통과한 ClickHouse 릴리스를 프리프로덕션 환경에 배포하고, 모든 프로세스가 기대한 대로 실행되는지 확인하십시오.
- 발견한 문제를 ClickHouse GitHub Issues에 보고하십시오.
- 중대한 문제가 없다면 ClickHouse 릴리스를 프로덕션 환경에 배포하기 시작해도 안전합니다. canary releases 또는 green-blue deployments와 비슷한 접근 방식을 구현하는 점진적 릴리스 자동화에 투자하면 프로덕션에서의 문제 위험을 더 줄일 수 있습니다.
ClickHouse 릴리스 중 무엇을 선택해야 할까요?
stablelts(장기 지원)
stable은 기본적으로 권장하는 패키지 유형입니다. 대체로 매월 릴리스되므로 새로운 기능을 비교적 빠르게 사용할 수 있으며, 최신stable릴리스 3개에 대해서는 진단과 버그 수정 백포트가 지원됩니다.lts는 연 2회 릴리스되며, 최초 릴리스 후 1년 동안 지원됩니다. 다음과 같은 경우에는stable보다lts가 더 적합할 수 있습니다.- 회사 내부 정책상 잦은 업그레이드나 LTS가 아닌 소프트웨어 사용이 허용되지 않는 경우
- ClickHouse를 보조적인 제품에서 사용하고 있고, 해당 제품이 복잡한 ClickHouse 기능을 필요로 하지 않거나 최신 상태로 유지할 만큼 충분한 리소스가 없는 경우
lts가 적합하다고 생각한 많은 팀도, 결국 자사 제품에 중요한 최신 기능 때문에 stable로 전환하는 경우가 많습니다.