Flink OLAP, 최고의 데이터베이스 컨퍼런스인 VLDB에서 ByteHTAP 데뷔 지원

2022년 9월 5일부터 9월 9일까지 VLDB 2022가 호주 시드니에서 개최됩니다. ByteDance의 인프라 " ByteHTAP : 높은 데이터 신선도와 강력한 데이터 일관성을 갖춘 ByteDance의 HTAP 시스템"에 대한 연구 결과가 VLDB 2022에서 승인되었으며 현장 보고서를 제출하도록 초대되었습니다.
VLDB 컨퍼런스 의 정식 명칭 은 International Conference on Very Large Data Bases 로, 데이터베이스 분야에서 오랜 역사를 지닌 3대 컨퍼런스(SIGMOD, VLDB, ICDE ) 중 하나이며 , 현재의 데이터베이스 연구를 반영한 ​​데이터베이스 분야의 뛰어난 연구 개발 성과 업계의 최첨단 방향, 업계의 최신 기술 및 여러 국가의 연구 개발 수준. VLDB는 1975년 설립된 이래 매년 세계 유수의 연구 기관을 유치하여 원고를 제출하고 있으며 시스템 혁신, 무결성 및 실험 설계에 대한 요구 사항이 매우 높습니다.

논문의 핵심 공헌

" ByteHTAP : 높은 데이터 신선도와 강력한 데이터 일관성을 갖춘 바이트댄스의 HTAP 시스템"은 비즈니스 시나리오를 위해 바이트댄스가 구축한 높은 데이터 신선도와 강력한 데이터 일관성을 갖춘 HTAP 시스템을 소개합니다.
 
  • ByteHTAP은 독립 엔진과 공유 스토리지 아키텍처를 채택했으며 모듈식 시스템 설계는 ByteDance의 기존 OLTP 시스템과 OLAP 시스템을 최대한 활용합니다.
  • ByteHTAP은 1초 미만의 대기 시간으로 높은 데이터 신선도를 제공하여 고객에게 많은 새로운 비즈니스 기회를 제공할 수 있으며 고객은 비즈니스 요구에 따라 다양한 데이터 신선도 임계값을 구성할 수도 있습니다.
  • ByteHTAP은 OLTP 및 OLAP 시스템의 글로벌 타임스탬프를 통해 강력한 데이터 일관성을 제공하므로 개발자가 시스템에서 복잡한 데이터 일관성 문제를 처리할 필요가 없습니다.
  • ByteHTAP은 Flink를 OLAP 컴퓨팅 엔진으로 사용하여 쿼리 QPS를 개선하기 위해 Flink 작업 스케줄링 프로세스를 리팩토링하고 스토리지 계층으로 계산을 푸시하고 삭제 비트맵을 사용하여 삭제를 효율적으로 처리하는 등 컴퓨팅 및 스토리지에서 몇 가지 중요한 성능 최적화를 도입합니다.
  • 이 기사는 교차 OLAP 데이터베이스 쿼리 기능, 효율적인 데이터 가져오기 및 Flink 개발 개선 사항을 포함하여 프로덕션에서 ByteHTAP을 개발하고 실행하는 데 있어 ByteDance의 교훈과 모범 사례를 공유하는 것으로 끝납니다.

코어 컴퓨팅 엔진 Flink OLAP

Flink는 ByteHTAP 시스템의 OLAP 컴퓨팅 엔진으로 회사 내 여러 비즈니스에서 사용되었습니다. ByteDance Flink 기술 팀은 OLAP 컴퓨팅을 지원하기 위해 Flink 엔진에 대한 심층 최적화를 많이 수행하여 Flink OLAP 컴퓨팅 성능을 효과적으로 개선했습니다. 현재 1600 코어 클러스터에서 128 동시 단순 쿼리 스케줄링의 QPS는 소량의 데이터에서 1000 이상에 도달하고 복합 쿼리 스케줄링 QPS는 100 이상에 도달합니다. 1000 동시 WordCount 쿼리의 대기 시간은 약 100ms. 다음으로 https://issues.apache.org/jira/browse/FLINK-25318에 초점을 맞추고 내부 최적화를 커뮤니티에 점진적으로 기여할 것입니다.
  1. 쿼리 옵티마이저. TopN 및 Aggregate와 같은 연산자 푸시다운 지원, 계획 캐시 및 DAG의 병렬 구성 지원, 캐시된 카탈로그 지원 TPC-DS SF100의 성능은 20% 이상 향상되었습니다.
  1. 쿼리 실행 최적화. ClassLoader 멀티플렉싱 및 크로스 작업 Codegen 캐시 지원, 실행 단계에서 CPU 사용량 및 메타 공간 점유 감소, 조인 컴퓨팅 성능 최적화를 위한 런타임 필터 구현, 비동기 데이터 읽기 및 동시성 최적화 등
  1. 자원 관리 및 작업 스케줄링. 쿼리 리소스 응용 프로그램 및 릴리스 프로세스를 단순화하고 JobMaster와 ResourceManager/TaskManager 노드 간의 상호 작용을 최적화하고 TaskManager 세분성에 따라 작업 리소스 할당을 실현하고 리소스 응용 프로그램 성능을 개선합니다. 컴퓨팅 작업의 일괄 배포 지원, 배포 구조 및 직렬화/역직렬화 최적화, 컴퓨팅 작업 배포 성능을 개선합니다.
  1. 쿼리 결과 관리. Websocket 프로토콜을 통해 쿼리를 제출하고 계산 결과를 Pull 모드에서 Push 모드로 최적화하여 Pull polling을 기다리는 시간이 많이 소요되는 시간을 없애고 Dispatcher 연결을 재사용하여 불필요한 연결과 생성되는 상호 작용을 줄입니다. 쿼리 및 계산 작업이 초기화될 때 JobMaster 및 TaskManager에 의해 쿼리 대기 시간이 감소합니다.
  1. 메모리 관리 최적화. MemoryManager 및 NetworkBufferPool의 메모리 응용 프로그램 및 릴리스 관리 최적화, 컴퓨팅 작업 시작 및 중지 시 메모리 상호 작용 및 잠금 수 감소, 불필요한 메트릭 감소, 병렬 GC 및 기타 최적화를 증가시켜 JobManager/TaskManager 노드의 FGC/YGC 감소, 쿼리 실행 성능 및 프로덕션 클러스터 안정성을 개선합니다.
  1. 네트워크 관리 최적화. TaskManager의 다중 작업 네트워크 연결의 다중화를 실현하고 업스트림 및 다운스트림 컴퓨팅 작업의 파티션 요청 상호 작용 프로세스를 최적화하고 네트워크 계층의 빈번한 초기화 손실과 업스트림 및 다운스트림 컴퓨팅 작업 메시지 수를 줄이고 초기화를 개선합니다. 컴퓨팅 작업의 성능.
  1. 리소스 격리 관리. TaskManager 차원에 따른 리소스 그룹 관리를 지원하고, 여러 테넌트 간에 쿼리 작업의 물리적 격리를 실현하고, TaskManager에서 세분화된 스케줄링 및 컴퓨팅 작업 실행을 실현하고, 부하가 높은 조건에서 소규모 쿼리의 우선 순위 전략을 지원합니다.

ByteDance 모범 사례

ByteDance 내에서 ByteHTAP은 현재 사용자 성장, 전자 상거래, Xingfuli, Feishu 및 기타 비즈니스를 지원하며, 하루에 6000개 이상의 핵심 AP 리소스와 50w 이상의 쿼리가 있는 총 11개의 클러스터를 지원합니다.
ByteHTAP의 핵심 컴퓨팅 엔진인 Flink OLAP은 현재 Volcano Engine의 상용 제품인 Flink 버전의 스트리밍 컴퓨팅을 현재 점진적으로 출시하고 있습니다. ByteDance의 내부 클라우드 네이티브 빅데이터 솔루션을 통합하고 최적화하는 엔터프라이즈급 통합 컴퓨팅 엔진인 Flink 버전의 스트리밍 컴퓨팅은 즉시 사용 가능, 유연한 배포, 스트림 일괄 통합 및 OLAP 멀티와 같은 기능을 제공합니다. - 모달 컴퓨팅.
 
클릭하면 원본 논문
{{o.name}}
{{m.name}}

рекомендация

отmy.oschina.net/u/5941630/blog/5577578