데이터베이스 혁명: HashData 클라우드 데이터 웨어하우스는 트랜잭션 수준의 실시간 성능을 실현합니다.

8월 16~18일 양일간 베이징에서 제14회 중국 데이터베이스 기술 컨퍼런스(DTCC 2023)가 열렸습니다. Kuker Data의 수석 솔루션 설계자인 Chen Yixian은 "데이터베이스 커널·기술 혁신" 특별 세션에서 "분산 데이터 웨어하우스의 TP 기능 탐구 - HashData UnionStore"라는 제목으로 연설을 통해 HashData의 로그 아이디어 활용을 소개했습니다. 분산 데이터 웨어하우스의 데이터베이스입니다. TP 성능 전환에 있어 기술 솔루션과 향후 개발 계획을 개선합니다.

연설 하이라이트:

1. 데이터 비즈니스화의 맥락에서 기업은 데이터 웨어하우스의 실시간 기능에 대한 요구 사항이 점점 더 높아지고 있으며 OLAP와 OLTP가 더욱 통합될 것입니다.

2. 스토리지-컴퓨팅 분리 아키텍처는 미래 데이터 아키텍처의 기본 요구 사항이 될 것입니다.클라우드 네이티브 아키텍처의 핵심 개념은 스토리지와 컴퓨팅을 분리하고 객체 스토리지를 사용하여 글로벌 데이터를 저장하는 것입니다.모든 컴퓨팅 클러스터는 상태 비저장입니다. 온디맨드 방식으로 사용할 수 있으며 다양한 컴퓨팅 엔진과 호환되어 다양한 비즈니스의 요구 사항을 충족할 수 있습니다.

3. 스토리지와 컴퓨팅을 분리한 후에는 서로 다른 엔진을 사용하여 데이터를 별도로 처리하는 것이 가능해집니다. 로그는 데이터베이스라는 개념으로 데이터 웨어하우스의 OLTP 기능을 크게 최적화할 수 있습니다. 무작위로 데이터를 쓰는 작업과 로그를 사용하는 작업을 제거함으로써 데이터를 중간 매개체로 사용하면 복잡한 잠금 및 동기화 작업을 줄여 동시성을 크게 향상시키는 동시에 무작위 액세스 비용을 줄일 수 있습니다.

연설 전문(발췌)은 다음과 같다.

최근 몇 년 동안 기업 IT 구축이 정보화에서 디지털화로 진화함에 따라 기업의 데이터 애플리케이션 요구도 세 단계를 거쳤습니다.

  • 1.0 단계에서는 데이터 통계 및 쿼리에 중점을 두고 이를 기반으로 해당 시스템을 구축하여 부서 수준의 애플리케이션을 서비스합니다.

  • 2.0 단계에서는 기업이 데이터 웨어하우스를 통해 원격 애플리케이션 데이터를 통합한 후 이를 추가로 처리하여 비즈니스 인텔리전스를 실현하고 기업 의사결정을 지원합니다.

  • 빅데이터 기술의 발전으로 기업 데이터 애플리케이션은 3.0 단계에 진입했습니다. 이 단계에서는 데이터 애플리케이션이 점점 더 풍부해지고 있으며 이는 기업의 모든 직원에게 더 나은 서비스를 제공할 수 있습니다.

위의 세 단계는 아직 정보화 단계에 있으며, 데이터는 비즈니스 시스템 운영 과정에서 생성되는 부산물일 뿐입니다. 기업 데이터에서 파생되는 가치가 증가함에 따라 기업은 시스템을 설계하기 전에 데이터 자산을 보다 효과적으로 관리하는 방법을 고려해야 합니다.

이러한 맥락에서 응용 시스템은 물리적 세계와 디지털 세계를 매핑하는 매체가 되었습니다. 동시에 AI 기술이 성숙해짐에 따라 미래의 기업 데이터 애플리케이션은 점점 더 지능화되고 자동화될 것이며, 이를 통해 기업의 운영 전략과 비즈니스 프로세스를 자동으로 최적화하고 민첩한 비즈니스 기능을 달성할 수 있습니다.

데이터 비즈니스가 발전함에 따라 데이터 플랫폼의 적시성, 정확성 및 일관성에 대한 요구 사항이 높아지고 OLTP와 OLAP가 더욱 통합될 것입니다.

기존 MPP 분산 데이터 웨어하우스의 OLTP 기능을 개선하려는 시도

현재 MPP 데이터 웨어하우스는 OLTP 기능을 향상하기 위해 주로 두 가지 기술 경로로 나뉩니다. 첫 번째는 TP 애플리케이션 시나리오에서 2PC에서 직접 배포로 전환하여 준비 단계에서 인스턴스 대기 시간을 줄여 단일 데이터 추가 성능을 향상시키는 것입니다. , 삭제 및 수정. 이 방법의 단점은 데이터 분석 부하가 증가함에 따라 시스템 오버헤드가 증가하고 상대적으로 큰 지연이 발생한다는 것입니다.

또 다른 방법은 동시성 성능을 향상시키기 위해 단일 레코드를 추가, 삭제 및 수정하기 위해 행 저장소 테이블을 사용하는 것입니다.

기존의 분산형 MPP 아키텍처 데이터베이스는 작업을 여러 서버와 노드에 병렬로 분산하고, 계산이 완료된 후 결과를 반환하고 요약하여 대용량 데이터의 분석 및 처리를 완료합니다. 비즈니스가 성장함에 따라 기업은 전체 클러스터의 데이터 처리 기능을 향상시키기 위해 서버를 추가해야 합니다.

기존 분산 MPP 아키텍처의 컴퓨팅과 스토리지의 긴밀한 결합으로 인해 단일 클러스터가 특정 규모(일반적으로 200)에 도달하면 새 컴퓨팅 노드가 추가되더라도 클러스터의 전체 성능은 이전 노드의 영향을 받습니다. , 증가하지 않을 뿐만 아니라 감소하는 것처럼 보일 것입니다.

스토리지-컴퓨팅 분리 아키텍처는 미래 데이터 아키텍처의 기본 요구 사항이 될 것입니다.

"저장과 계산의 분리" 기술의 출현으로 기존 MPP 아키텍처 데이터베이스의 "고충점"이 잘 해결되었습니다. 클라우드 네이티브 아키텍처의 핵심 개념은 스토리지와 컴퓨팅의 분리입니다. 객체 스토리지는 글로벌 데이터를 저장하는 데 사용됩니다. 모든 컴퓨팅 클러스터는 Stateless이며 온디맨드 방식으로 사용할 수 있습니다. 또한 다양한 컴퓨팅 엔진과 호환되어 요구 사항을 충족합니다. 다양한 사업의..

그림

그림 1: 대형 국영은행에서 HashData의 예금과 계산의 분리에 대한 개략도

HashData 클라우드 데이터 웨어하우스를 예로 들면, 여러 클러스터가 통합 메타데이터와 통합 데이터 스토리지를 공유하며, 통합 메타데이터 클러스터는 데이터 자산 카탈로그와의 동적 연결을 제공합니다. 기본 데이터가 변경되면 데이터 자산 카탈로그가 동기식으로 업데이트되어 엔터프라이즈 데이터 자산 운영, 데이터 거버넌스 및 데이터 보안 관리에 대한 해당 지원 기능을 제공할 수 있습니다.

동시에, HashData는 스토리지와 컴퓨팅 분리 아키텍처 덕분에 일관된 해싱을 통해 데이터의 재논리적 그룹화를 방지하고, 공유 스토리지를 통한 데이터의 물리적인 분산을 방지하며, 클러스터의 2차 자동 확장 및 축소를 실현할 수 있습니다. .

HashData UnionStore 기술 혁신

저장과 계산을 분리한 후에는 서로 다른 엔진을 사용하여 데이터를 별도로 처리할 수 있습니다. "로그는 데이터베이스입니다"(로그는 데이터베이스)는 로그 기반 데이터베이스 아키텍처 아이디어로, OLTP 시스템의 성능을 향상시킬 수 있습니다.

Log는 데이터베이스가 데이터를 무작위로 쓰는 작업을 제거하고 컴퓨팅 클러스터는 WAL 로그만 HashData UnionStore 클러스터에 제출하며 UnionStore 클러스터는 로그 데이터를 처리하고 재생하여 새로운 페이지 데이터를 생성하므로 복잡한 잠금 및 동기화 작업이 줄어듭니다. 동시성 기능을 크게 향상시키고 무작위 액세스를 줄일 수 있습니다.

로그는 데이터베이스로 다음과 같은 측면에서 데이터 웨어하우스 TP 성능을 향상시킵니다.

  • 디스크 무작위 액세스 감소: 기존 데이터베이스 시스템은 디스크에 데이터 파일로 데이터를 기록해야 하므로 디스크 무작위 액세스가 자주 발생하고 성능에 부정적인 영향을 미칠 수 있습니다. 로그 데이터베이스는 모든 데이터 변경 작업을 로그에 추가합니다. 이를 통해 디스크 쓰기 작업을 연속적인 순차 쓰기 작업으로 변환하여 임의 디스크 액세스를 크게 줄이고 성능을 향상시킬 수 있습니다.

  • 비동기 커밋: 기존 데이터베이스 시스템은 각 트랜잭션이 커밋될 때 디스크에 데이터를 써야 하므로 대기 시간이 길어집니다. 로그 데이터베이스는 비동기식 제출 방법을 채택합니다. 즉, 데이터 변경 작업이 먼저 로그에 기록된 다음 로그의 작업이 일괄적으로 디스크에 비동기식으로 기록됩니다. 이 접근 방식은 디스크 쓰기 및 지연 횟수를 줄여 성능을 더욱 향상시킬 수 있습니다.

  • 동시성 제어 최적화: 로그 데이터베이스는 로그 레코드 트랜잭션 작업의 특성을 사용하여 동시성 제어를 최적화할 수 있습니다. 복잡한 잠금 및 동기화 작업 없이 여러 트랜잭션이 동시에 로그에 쓸 수 있습니다. 이러한 동시성 제어 최적화는 시스템의 동시성 성능과 처리량을 향상시킬 수 있습니다.

  • 일괄 최적화 : 로그 데이터베이스는 일반적으로 처리를 위해 여러 작업을 일괄 작업으로 결합합니다. 일괄 작업을 통해 디스크 쓰기 횟수를 줄여 성능을 더욱 향상시킬 수 있습니다. 예를 들어 여러 업데이트 작업을 단일 일괄 작업으로 결합하면 각 작업에 대한 오버헤드와 디스크 액세스 횟수가 줄어듭니다.

  • 재생 최적화: 로그 데이터베이스는 로그를 재생하여 데이터베이스 상태를 복원하고 재구축할 수 있습니다. 시스템이 시작되면, 로그에 있는 작업을 재생하여 데이터 변경 사항을 데이터베이스에 순서대로 적용할 수 있으므로, 많은 수의 랜덤 액세스 및 데이터 복구 작업을 수행하지 않고도 데이터베이스의 일관된 상태를 신속하게 복원할 수 있습니다.

그림

그림 2: HashData UnionStore의 아키텍처 다이어그램

커널 수준에서 HashData는 다음과 같이 UnionStore 클러스터를 최적화합니다.

Wal 서비스 : 데이터베이스에서 WAL은 데이터베이스가 다시 시작되거나 충돌할 때 데이터가 손실되지 않도록 보장할 수 있는 영구 저장 기술입니다. WAL 메커니즘에서는 데이터베이스가 데이터를 쓰기 전에 먼저 로그 레코드를 작성하여 작성된 데이터 정보를 기록합니다. 지속성 이후 로그의 신뢰성을 보장하기 위해 로그는 일반적으로 3개의 복사본을 저장합니다. 리더 노드는 컴퓨팅 클러스터 요청을 수신하고 로컬 지속성을 위해 로그를 팔로어 노드로 전송하며, 모든 노드가 로그 지속성을 완료한 후 리더 노드는 컴퓨팅 클러스터로 돌아갑니다.

Safekeeper는 로그 지속성, 상태 모니터링 및 선택을 담당하는 각 테넌트에 대해 Wal Writer 스레드를 시작합니다. Safekeeper 리더는 로그 동기화 및 하트비트 전송을 담당하는 각 팔로어에 대해 Wal Syncer 스레드를 시작합니다.

페이지 서비스 : 주로 Wal Service(safekeeper 리더)로부터 영구 로그를 가져와 구문 분석하고, 로그를 재생하여 페이지 데이터를 수정하는 일을 담당하며, 컴퓨팅 클러스터에 업데이트된 페이지 읽기 서비스도 제공합니다.

페이지 저장 형식 : 스냅샷 메커니즘이 도입되었으며, 페이지 서비스는 현재 로그를 페이지의 델타 로그로 사용하고, 기본 페이지+델타 로그 방식을 통해 해당 페이지의 여러 버전을 구축합니다.

시간 여행 : HashData는 리두 로그와 결합된 기본 데이터 저장소의 UnionStore 스냅샷 디자인을 사용하여 데이터 웨어하우스에 " 시간 여행 " 기능을 제공합니다 . 예를 들어 LSN 700을 사용하여 Page1을 읽는 경우 페이지 서비스는 먼저 기본 페이지를 얻은 다음 LSN 700에 따라 델타 로그 범위를 결정한 다음 해당 페이지 버전을 생성하기 위해 기본 페이지 v2에 로그를 적용합니다. 그리고 돌아오다.

그림

그림 3: 시간 여행의 예시 다이어그램

시간 여행은 다음과 같은 시나리오에서 널리 사용될 수 있으며 데이터베이스 운영 및 관리에 큰 편의를 제공합니다.

  • 데이터베이스 객체 복원 : 페이지 버전과 LSN을 추적하여 원하는 시점으로 데이터를 복원할 수 있습니다. 실수로 삭제된 테이블, Shcema, 라이브러리는 오작동 이전 시점으로 데이터를 직접 복원할 수 있습니다.

  • 과거 데이터 조회 : 언제든지 간단하고 빠르게 데이터를 조회할 수 있습니다. 의사결정 분석을 위해 일정 기간 동안 데이터의 변화 이력 및 증분 통계를 확보하며, 예를 들어 CDC 데이터 스토리지를 통해 지퍼 테이블을 만들지 않고도 통계 데이터의 시점을 직접 선택할 수 있습니다.

  • 기록 데이터 복제 : 데이터 모델 교육을 지원하기 위해 언제든지 데이터 사본을 생성합니다. 특정 시점의 훈련 결과를 기반으로 여러 개의 데이터 사본을 생성하고, 훈련에 서로 다른 매개변수를 사용하고, 훈련 결과를 비교합니다.

그림

그림 4: HashData 클라우드 네이티브 통합 아키텍처 HTAP 데이터 플랫폼

위의 기술 혁신과 최적화를 통해 HashData는 데이터 실행 배치 , 스트리밍 컴퓨팅 , 혼합 로드 및 데이터 추가, 삭제 , 수정 등 의 효율적인 변환과 같은 애플리케이션 시나리오를 지원하여 준실시간 데이터를 달성할 수 있습니다. 창고 기능을 제공하고 기업이 onedata 시스템을 구축할 수 있도록 지원합니다.

추천

출처blog.csdn.net/m0_54979897/article/details/132367175