시계열 데이터의 높은 카디널리티 문제를 해결하고 다차원 성능을 향상시키는 3가지 트릭!

이 기사는 Huawei Cloud 커뮤니티 " DTSE Tech Talk | 시계열 데이터의 높은 카디널리티 문제를 해결하고 다차원에서 성능을 향상시키는 3가지 방법!" 에서 공유되었습니다. ", 저자: Huawei Cloud Open Source.

" openGemini의 새로운 열 스토리지 엔진은 시계열 데이터의 높은 카디널리티 문제를 해결합니다 " 라는 주제로 진행된 이번 라이브 방송에서 Huawei Cloud의 오픈 소스 DTSE 기술 전도사이자 데이터베이스 혁신 연구소 기술 전문가인 Huang Feiteng은 시간의 특징을 공유했습니다. 개발자 친구들과 시리즈 데이터베이스 및 원격 측정 데이터 응용 시나리오의 장점 openGemini 프레임워크를 분석하여 데이터베이스 업계의 오랜 문제점, 즉 높은 카디널리티로 인한 성능 저하를 지적했습니다. 또한 개발된 컬럼을 소개했습니다. 이 문제를 해결하기 위해 openGemini 시계열 데이터베이스를 사용하여 스토리지 엔진이 높은 카디널리티의 부작용을 효과적으로 개선할 수 있는 방법.

대규모 원격 측정 데이터에 직면했을 때 시계열 데이터베이스가 더 나은 선택인 이유는 무엇입니까?

시장에는 다양한 유형의 데이터 스토리지 시스템이 있으며 시나리오에 따라 장점과 제한 사항이 다릅니다. 대규모 원격 측정 데이터 시나리오에서는 어떤 유형의 데이터베이스를 선택해야 합니까? 먼저 어마어마한 양의 원격측정 데이터를 느껴보자, 스마트미터기만으로 전국적으로 매일 500억 건의 기록이 생성되고, 차량 10만 대를 보유한 기업이 매일 수집하는 데이터는 약 1PB에 이른다. 대규모 데이터의 생성으로 인해 스토리지에 엄청난 부담이 가중되었으며 기존 데이터베이스는 더 이상 오늘날의 실제 비즈니스 요구 사항을 충족할 수 없습니다. 따라서 운영 및 유지 관리 모니터링, 사물 인터넷 등 많은 분야에서 대규모 원격 측정 데이터의 저장 및 분석에 중점을 둔 시계열 데이터베이스가 등장했습니다.

openGemini 시계열 데이터베이스를 예로 들면, 높은 동시성, 낮은 대기 시간, 저렴한 비용이라는 특징을 갖고 있어 기업의 요구 사항을 완벽하게 충족합니다. 더 중요한 것은, openGemini 프레임워크에는 타이밍의 높은 카디널리티 문제를 해결하고 성능을 보장하는 데 초점을 맞춘 새로 개발된 "열 스토리지 엔진"이 함께 제공된다는 것입니다.

카디널리티가 높으면 어떤 문제가 발생하나요?

먼저 카디널리티(cardinality)가 무엇인지 알아보겠습니다. 카디널리티(cardinality): 데이터 열에 있는 고유한 값의 개수를 나타냅니다.

높은 카디널리티는 한 열에 다양한 값이 많다는 의미로 이해될 수 있습니다. 라벨이나 열마다 베이스가 다릅니다. 예를 들어 IP 주소의 베이스는 수억 개에 달할 수 있습니다. 타임스탬프는 샘플링 빈도와 관련이 있습니다. 샘플링 빈도가 높을수록 베이스도 높아집니다.

카디널리티가 높은 시나리오에서는 태그 조합 및 SID 수가 급격히 증가하고 반전된 인덱스의 SID 목록이 확장되어 반전된 인덱스에 대한 유지 관리 및 쿼리 오버헤드가 증가합니다.

결국 외부 성능의 성능은 급격히 떨어지게 됩니다.높은 카디널리티가 타이밍 엔진에 가져오는 구체적인 문제는 다음과 같습니다.

  • 메모리 자원
  • 읽기 및 쓰기 성능 저하

openGemini는 높은 카디널리티 문제를 어떻게 처리합니까?

이 문제에 대한 openGemini의 현재 솔루션은 열 저장 + 정렬 + 클러스터형 인덱스입니다.

간단히 말해서 타임라인의 제약을 제거하고 일부 레이블과 열을 사용하여 정렬합니다. 정렬이 완료된 후 정렬 키에 따라 목록이 저장됩니다. 저장 후 희소(클러스터형) 인덱스가 생성됩니다. 장점은 인덱스가 데이터에 비해 항상 희박하고 타임라인과 관련이 없으며, 타임라인이 늘어나도 구축 오버헤드가 증가하지 않는다는 점입니다. 클러스터형 인덱스는 각 블록의 첫 번째 레코드를 저장하며, 데이터가 정렬되면 인덱스는 좋은 필터링 효과를 갖습니다.

열 스토리지 엔진과 시계열 엔진의 주요 차이점은 데이터가 정렬되고 인덱싱되는 방식입니다. 타이밍 엔진은 타임라인의 강도에 따라 클러스터링한 다음 시간별로 정렬합니다. 높은 카디널리티 열 스토리지 엔진은 특정 열에 따라 정렬하며 타임라인과는 아무 관련이 없습니다. 시계열 엔진은 역인덱스를 사용하는데, 타임라인 확장으로 인해 역인덱스 비용이 증가합니다.컬럼 스토리지 엔진의 구성은 타임라인과 관련이 없습니다. 위의 열 저장소 엔진 설계 아이디어는 데이터베이스의 읽기 및 쓰기 성능을 크게 향상시킬 수 있습니다.

시계열 엔진의 역 인덱스는 기본적으로 kv 쌍을 저장하는데, 키는 모든 태그 열 이름 + 태그 값에 해당하고 값은 태그 값에 해당하는 모든 타임라인에 해당하므로 역 인덱스는 특정 All을 빠르게 찾을 수 있습니다. 태그 열의 고유 값. 역인덱스가 없으면 컬럼 데이터를 완전히 스캔하고 중복 제거해야 하는데, 쿼리 오버헤드는 데이터 양에 비례하며, 데이터 양이 많을 경우 오버헤드가 매우 높다. 새롭게 선보이는 컬럼 스토리지 솔루션은 기존 역인덱스의 키 중복 제거 기능을 기반으로 컬럼의 고유값을 직접 저장한다.

컬럼 스토리지 엔진을 쉽게 사용하는 방법을 단계별로 가르쳐드립니다.

openGemini는 v1.1.0 버전부터 컬럼 스토리지 엔진과 Arrow 프로토콜을 지원합니다.

문서: https://docs.opengemini.org/zh/guide/features/high_series_cardinality.html

화살표 비행  구성

시계 만들기

다음으로, 실제 데모 비디오를 시청하고 링크를 복사하여 라이브 방송의 전체 버전을 시청하십시오: https://bbs.huaweicloud.com/live/DTT_live/202311151630.html

높은 카디널리티 시나리오에서 컬럼 스토리지 엔진의 검증 결과

아래 그림에서 볼 수 있듯이 테스트 중인 다른 데이터베이스와 비교하여 타임라인 지원 규모의 관점에서 openGemini는 무제한 제한에 도달했으며 단일 코어 쓰기 성능은 600,000행/s/cpu로 증가했습니다.

네 가지 특정 시나리오에서 10억 수준의 타임라인에 대한 동시 쿼리의 대기 시간은 테스트 제품의 대기 시간보다 훨씬 낮으며, 가장 낮은 대기 시간은 0.012초입니다. 전체 데이터 통계 쿼리 시나리오에서 openGemini는 기본적으로 비교 제품과 동일하며 전체 대기 시간이 매우 낮습니다. 전반적으로 openGemini는 쓰기와 쿼리 모두에서 탁월한 성능을 발휘합니다.

openGemini 커뮤니티에 참여하신 모든 분들을 환영합니다

openGemini 커뮤니티는 개방적이고 협력적이며 포용적인 글로벌 기술 커뮤니티를 만드는 것을 목표로 하며 빠르게 발전하고 있으며 더 많은 기능을 개발하고 성능을 최적화하는 데 중점을 둘 것입니다. 커뮤니티에는 아직 실현되지 않은 이상이 있습니다.우리는 모든 사람이 openGemini 구축(코드, 문서화, 생태학적 기여에 국한되지 않음)에 참여하고 커뮤니티와 함께 ​​성장하며 거리를 도달하기 위해 함께 노력할 것을 진심으로 초대합니다.

화웨이 클라우드의 신기술에 대해 빨리 알아보고 팔로우하려면 클릭하세요~

 

OpenAI가 모든 사용자에게 ChatGPT를 무료로 공개합니다. 음성 프로그래머가 ETC 잔액을 조작하고 연간 260만 위안 이상을 횡령했습니다. Spring Boot 3.2.0이 공식 출시되었습니다. Google 직원이 퇴사 후 대기업을 비난했습니다. 그는 Flutter 프로젝트 및 HTML 관련 표준 공식화 Microsoft Copilot Web AI는 12월 1일 공식 출시되며 중국 Microsoft의 오픈 소스 터미널 채팅 Rust 웹 프레임워크를 지원합니다. Rocket 릴리스 v0.5: 비동기식, SSE, WebSockets 등을 지원합니다 . Redis는 순수 C 언어 코드를 사용하여 Telegram Bot 프레임워크를 구현합니다 .오픈 소스 프로젝트 관리자라면 이런 반응을 어디까지 견딜 수 있습니까? PHP 8.3 GA
{{o.이름}}
{{이름}}

Supongo que te gusta

Origin my.oschina.net/u/4526289/blog/10290608
Recomendado
Clasificación