2023년 8월 18~20일, 베이징 파크 플라자 호텔
Apache Software Foundation의 공식 글로벌 컨퍼런스 시리즈인 CommunityOverCode Asia(구 ApacheCon Asia)의 첫 번째 중국 오프라인 서밋이 2023년 8월 18일부터 20일까지 베이징 파크 플라자 호텔에서 개최됩니다. 컨퍼런스에는 17개 포럼 방향과 수백 가지 최첨단 문제.
ByteDance의 오픈 소스 경험은 "오픈 소스 사용, 오픈 소스 참여, 오픈 소스 주도권 확보"라는 다양한 단계를 거쳤습니다. 오픈 소스에 대한 태도는 항상 개방적이고 고무적이었습니다. 이번 CommunityOverCode Asia 서밋에서는 Byte의 학생 15명이 6개 주제, 10개 주제에 걸쳐 ByteDance 비즈니스에서 Apache 오픈 소스 프로젝트의 실무 경험을 공유할 예정이며, Apache Calcite PMC 회원이 기조 연설에서 공유할 예정입니다. 제 경험과 성과를 공유할 수 있기를 기대합니다. 현장 참석자들과 함께 오픈소스 기여에 참여함으로써
기조연설: 오픈소스에 기여하는 것이 어려운가요?
아마도 많은 학생들이 자신의 기술적 능력과 영향력을 향상시키기 위해 일부 오픈 소스 기여에 참여하는 것에 대해 생각해 본 적이 있을 것입니다. 그러나 일반적으로 이상과 현실 사이에는 약간의 거리가 있습니다. 일이 너무 바빠서 참여할 시간이 없기 때문에 오픈 소스 프로젝트에 대한 문턱이 너무 높고 어떻게 시작해야 할지 모르겠습니다. , 하지만 커뮤니티 반응은 높지 않아 지속하지 못했습니다. 이 기조 연설에서 Li Benchao는 자신의 경험을 결합하여 오픈 소스 커뮤니티에 대한 자신의 기여, 이러한 어려움을 극복하는 방법, 최종적으로 오픈 소스 커뮤니티에서 돌파구를 달성하는 방법에 대한 짧은 이야기와 생각을 공유하고 업무와 개방 사이의 균형을 유지할 것입니다. 소스 기여.
리 벤차오
ByteDance Flink SQL 기술 이사
Apache Calcite PMC 회원인 Apache Flink Committer는 Peking University를 졸업했으며 현재 ByteDance 스트리밍 컴퓨팅 팀에서 근무하고 있으며 Flink SQL의 기술 리더입니다.
기조 연설
주제: 데이터 레이크 및 데이터 웨어하우스
Flink 기반 실시간 데이터 레이크 구축 사례
실시간 데이터 레이크는 현대 데이터 아키텍처의 핵심 구성 요소로, 기업이 실시간으로 대량의 데이터를 분석하고 쿼리할 수 있도록 해줍니다. 이번 공유에서는 데이터의 높은 적시성, 다양성, 일관성 및 정확성과 같은 실시간 데이터 레이크의 현재 문제점을 먼저 소개하겠습니다. 그런 다음 Flink와 Iceberg를 기반으로 실시간 데이터 레이크를 구축하는 방법을 주로 다음 두 부분을 통해 소개합니다. 실시간으로 레이크에 데이터를 넣는 방법과 Flink를 사용하여 OLAP 임시 쿼리를 수행하는 방법입니다. 마지막으로 실시간 데이터 레이크에서 ByteDance의 실질적인 이점을 몇 가지 소개하겠습니다.
왕 정
Volcano Engine 클라우드 네이티브 컴퓨팅 R&D 엔지니어
2021년 ByteDance에 합류하여 인프라 개방형 플랫폼 팀에서 근무했으며 주로 서버리스 Flink 및 기타 방향의 연구 개발을 담당했습니다.
민중위안
Volcano Engine 클라우드 네이티브 컴퓨팅 R&D 엔지니어
2021년에 ByteDance에 합류하여 인프라 개방형 플랫폼 팀에서 근무하며 주로 서버리스 Flink, Flink OLAP 및 기타 방향의 연구 개발을 담당합니다.
Parquet 형식을 기반으로 한 ByteDance의 비용 절감 및 효율성 향상 실천
ByteDance 오프라인 데이터 웨어하우스는 기본적으로 데이터 저장을 위해 Parquet 형식을 사용합니다. 그러나 비즈니스 사용 중에 작은 파일이 너무 많고 데이터 저장 비용이 많이 드는 등 관련 문제가 발생했습니다. 작은 파일이 너무 많은 문제를 해결하기 위해 기존 기술 솔루션은 일반적으로 Spark를 통해 여러 개의 Parquet 작은 파일을 읽은 다음 데이터를 다시 출력하고 하나 이상의 큰 파일로 병합하는 것입니다. 과도한 스토리지 비용 문제로 현재 오프라인 데이터 웨어하우스에는 파티션 수준 행 수준 TTL 솔루션만 있습니다. 파티션에서 더 이상 사용되지 않는 세부 필드 데이터(열 수준 TTL)를 삭제해야 하는 경우 대용량을 처리합니다. 비율에 따라 Spark를 통해 데이터를 읽어야 하며, 삭제해야 하는 필드를 NULL로 설정하여 덮어써야 합니다. 작은 파일 병합이든 열 수준 TTL이든 Parquet 데이터 파일에 대한 덮어쓰기 작업이 많이 있습니다. Parquet 형식에는 특수한 인코딩 규칙이 있으므로 Parquet에서 데이터를 읽고 쓰려면 특수 (비)직렬화, (비)압축, (역)인코딩과 같은 일련의 작업이 필요합니다. 이 과정에서 인코딩, 디코딩, 압축 해제 등의 작업은 CPU 집약적인 계산으로 많은 양의 컴퓨팅 리소스를 소비합니다. Parquet 형식 파일의 덮어쓰기 효율성을 높이기 위해 Parquet 파일 형식 정의를 깊이 연구하고 바이너리 복사 방법을 사용하여 데이터 덮어쓰기 작업을 최적화했으며 일반적인 덮어쓰기에서 인코딩 및 디코딩과 같은 중복 작업을 건너뜁니다. 파일 덮어쓰기 효율성이 크게 향상되었으며 성능은 일반 덮어쓰기 방법보다 10배 이상 향상되었습니다. 사용 편의성을 높이기 위해 작은 파일 병합, 열 수준 TTL 등의 작업을 사용자가 편리하게 완료할 수 있도록 지원하는 새로운 SQL 구문도 제공합니다.
쉬칭
화산 엔진 LAS 수석 R&D 엔지니어
그는 수년 동안 Hive Metastore, SparkSQL, Hudi 등과 같은 빅데이터 관련 구성 요소의 연구 개발에 참여해 왔습니다.
왕엔스
화산 엔진 LAS 수석 R&D 엔지니어
ByteDance의 빅 데이터 분산 컴퓨팅 엔진의 설계 및 개발을 담당하여 회사가 대규모 데이터에서 고가치 정보를 채굴할 수 있도록 지원합니다.
주제: 인공지능/머신러닝
ByteDance 딥 러닝 일괄 스트림 통합 교육 실습
회사의 비즈니스가 발전함에 따라 알고리즘의 복잡성은 계속해서 증가하고 있으며 점점 더 많은 알고리즘 모델이 모델 효과를 향상시키기 위해 오프라인 업데이트를 기반으로 하는 실시간 교육을 모색하고 있습니다. 복잡한 오프라인 및 실시간 훈련의 유연한 배치와 자유로운 전환을 달성하고 오프라인 컴퓨팅 리소스를 더 넓은 범위로 예약하기 위해 기계 학습 모델 훈련은 점차 배치 및 스트림을 통합하는 경향이 있습니다. 이번에는 ByteDance 기계 학습을 공유하겠습니다. 훈련 스케줄링 일부 콘텐츠에는 프레임워크의 아키텍처 진화, 배치 스트림 통합 실습, 이종 탄력적 훈련 등이 포함됩니다. 또한 다단계 다중 데이터 소스 하이브리드 오케스트레이션, 스트리밍 샘플의 글로벌 셔플, 풀 링크 네이티브화 및 MFTC(배치 스트림 통합 협업 교육) 시나리오의 교육 데이터 통찰력에 대한 실제 경험에 중점을 둡니다.
마오홍위에
ByteDance 인프라 엔지니어
2022년에 ByteDance에 합류하여 기계 학습 교육 연구 및 개발에 종사하고 있습니다. Douyin 비디오 추천, Toutiao 추천, 천산갑 광고 등의 비즈니스를 지원하는 대규모 클라우드 기반 배치 스트림 통합 AI 모델 교육 엔진을 주로 담당하고 있습니다. Qianchuan 그래픽 광고 및 기타 사업.
ByteDance Spark는 Wanka 모델 추론 실습을 지원합니다.
회사의 비즈니스가 발전함에 따라 알고리즘의 복잡성은 계속해서 증가하고 있으며 점점 더 많은 알고리즘 모델이 모델 효과를 향상시키기 위해 오프라인 업데이트를 기반으로 하는 실시간 교육을 모색하고 있습니다. 복잡한 오프라인 및 실시간 훈련의 유연한 배치와 자유로운 전환을 달성하고 오프라인 컴퓨팅 리소스를 더 넓은 범위로 예약하기 위해 기계 학습 모델 훈련은 점차 배치 및 스트림을 통합하는 경향이 있습니다. 이번에는 ByteDance 기계 학습을 공유하겠습니다. 훈련 스케줄링 일부 콘텐츠에는 프레임워크의 아키텍처 진화, 배치 스트림 통합 실습, 이종 탄력적 훈련 등이 포함됩니다. 또한 다단계 다중 데이터 소스 하이브리드 오케스트레이션, 스트리밍 샘플의 글로벌 셔플, 풀 링크 네이티브화 및 MFTC(배치 스트림 통합 협업 교육) 시나리오의 교육 데이터 통찰력에 대한 실제 경험에 중점을 둡니다.
리우 창
ByteDance 인프라 엔지니어
2020년에 ByteDance에 합류하여 인프라 배치 컴퓨팅 팀에서 일하고 있으며 주로 Spark 클라우드 네이티브 및 Spark On Kubernetes 개발을 담당하고 있습니다.
장용창
ByteDance 머신러닝 시스템 엔지니어
2022년 ByteDance에 입사하여 AML 머신러닝 시스템팀에서 근무하며 대규모 머신러닝 플랫폼 구축에 참여했습니다.
특별주제: 데이터 저장 및 컴퓨팅
Bytedance MapReduce -> Spark 원활한 마이그레이션 실습
비즈니스가 발전함에 따라 ByteDance는 매일 온라인에서 약 120만 개의 Spark 작업을 실행하는 반면, 매일 온라인에는 여전히 약 20,000~30,000개의 MapReduce 작업이 있습니다. 오랜 역사를 지닌 일괄 처리 프레임워크인 MapReduce 엔진의 운영 및 유지 관리는 빅 데이터 연구 개발 관점에서 일련의 문제에 직면해 있습니다. 예를 들어, 프레임워크 업데이트 반복의 ROI가 낮고, 새로운 컴퓨팅 일정 프레임워크에 대한 적응성이 낮습니다. 사용자 입장에서 보면 MapReduce 엔진을 사용할 때에도 일련의 문제가 있습니다. 예를 들어, 컴퓨팅 성능이 좋지 않고 연속적으로 실행되는 작업을 관리하려면 추가 파이프라인 도구가 필요합니다. Spark를 마이그레이션하고 싶지만 기존 작업이 많고 Spark 자체가 지원하지 않는 다양한 스크립트를 사용하는 작업이 많습니다. . 이러한 맥락에서 Bytedance Batch 팀은 MapReduce 작업을 Spark로 원활하게 마이그레이션하기 위한 솔루션을 설계하고 구현했습니다. 이 솔루션을 사용하면 사용자는 기존 작업에 소수의 매개변수나 환경 변수만 추가하여 MapReduce에서 Spark로 원활하게 마이그레이션할 수 있습니다. 마이그레이션 비용을 크게 줄이고 좋은 비용 이점을 달성합니다.
웨이 종지아
ByteDance 인프라 엔지니어
그는 2018년에 ByteDance에 합류했으며 현재 ByteDance 인프라의 빅데이터 개발 엔지니어로 빅데이터 분산 컴퓨팅 분야에 중점을 두고 있으며 Spark 커널 개발과 ByteDance가 자체 개발한 Shuffle Service 개발을 주로 담당하고 있습니다.
ByteDance의 수천억 파일 HDFS 클러스터 실습
빅데이터 기술의 심층적인 발전으로 인해 데이터 규모와 사용 복잡성이 점점 더 높아지고 있으며 Apache HDFS는 새로운 과제에 직면해 있습니다. ByteDance에서 HDFS는 기존 Hadoop 데이터 웨어하우스 비즈니스를 위한 스토리지, 스토리지 및 컴퓨팅 분리 아키텍처 컴퓨팅 엔진의 기반, 기계 학습 모델 교육을 위한 스토리지 기반입니다. ByteDance에서 HDFS는 여러 지역에 걸쳐 대규모 컴퓨팅 리소스 스케줄링을 제공하기 위한 스토리지 스케줄링 기능을 구축하고 컴퓨팅 작업의 안정성을 향상시킬 뿐만 아니라 사용자 측 캐시, 기존 3개 복사본, 그리고 냉장 보관 능력. 이번 공유에서는 ByteDance가 신흥 시나리오에서 기존 빅데이터 스토리지에 대한 새로운 요구 사항을 내부적으로 이해하고 기술 발전과 운영 및 유지 관리 시스템 구축을 통해 다양한 시나리오에서 시스템 안정성을 지원하는 방법을 소개합니다.
시옹 무
볼케이노 엔진 빅데이터 스토리지 R&D 엔지니어
빅 데이터 스토리지 HDFS 메타데이터 서비스 및 상위 계층 컴퓨팅 생태학적 지원의 발전을 주로 담당합니다.
주제: OLAP 및 데이터 분석
Apache Calcite 기반 다중 엔진 지표 관리 모범 사례
주제 소개
데이터 분석에는 다양한 지표가 있습니다. 대규모 지표를 유지하다 보면 다음과 같은 문제점이 종종 발생합니다.
- 반복된 세그먼트는 재사용할 수 없습니다.
- 엔진마다 다른 SQL을 작성해야 합니다.
- 구경 변경 사항은 모든 다운스트림에 동기화하기 어렵습니다.
이러한 문제를 해결하기 위해 ByteDance는 기존 기술 기능을 사용하여 솔루션을 설계하려고 노력했습니다.
- 가능한 한 Hive 테이블에 표시기를 저장합니다. 저장 비용과 역추적 비용이 크게 증가하지만 이는 불가능합니다.
- 표시기를 뷰로 캡슐화: Hive에 추가 테이블 정보를 생성하여 테이블 수를 두 배로 늘릴 뿐만 아니라 파티셔닝을 지원하는 것도 비우호적입니다. 쿼리 사용 경험이 좋지 않아 홍보가 어렵습니다.
현재 기술로는 위의 문제를 해결하기에 충분하지 않기 때문에 ByteDance는 Apache Calcite를 기반으로 두 가지 새로운 구문 기능 세트를 설계하고 구현했습니다.
- 가상 열: 열 수준 보기, 테이블 열 권한 재사용, 단순 승격
- SQL 정의 함수: SQL을 사용하여 SQL 조각의 재사용을 용이하게 하는 함수를 직접 정의합니다.
이 두 가지 기능을 결합하면 지표 관리 비용을 효과적으로 줄일 수 있습니다.
- 표시기는 한 번만 수정하면 되며 동기적으로 다운스트림을 수정할 필요가 없습니다.
- MAP, JSON 등 컬렉션 유형의 필드를 가상 열로 정의할 수 있어 로직을 더욱 명확하고 사용하기 편리하게 만들 수 있습니다.
스피치 PPT에서는 구체적인 대표적인 사례와 구현원칙을 소개하겠습니다.
시에지아준
화산 엔진 LAS 수석 R&D 엔지니어
Apache Asia Con 2022 연설에 참여했습니다. 저는 오픈 소스를 좋아하고 커뮤니티 작업에 자주 참여합니다. 현재 저는 Apache Calcite의 활성 커미터이자 Linkedin Coral 기여자입니다.
빅데이터 큐의 혼합 권한 세분화 관리 실습
배경:
최근 몇 년 동안 데이터 보안 문제는 점차 전 세계 정부와 기업의 관심을 끌었습니다. 국가 데이터 보안법 및 개인 정보 보호법이 공포되고 시행됨에 따라 최소 데이터 충분성 원칙에 대한 명확한 요구 사항이 제시되었습니다. 따라서 보다 세분화된 방식으로 권한을 제어하는 방법은 모든 기업이 해결해야 하는 문제가 되었습니다.
현재 문제:
업계에서는 일반적으로 규칙을 기반으로 SQL에서 권한 포인트를 추출하고 이러한 권한 포인트를 행 차원에 따라 수평으로 관리하거나 열 차원에 따라 수직으로 관리합니다.
이러한 1차원 권한 제어 세분성은 너무 거칠며 여러 권한 간의 결합된 관계를 지원할 수 없습니다. 여러 비즈니스 라인이 통합된 방식으로 저장되는 ByteDance와 같은 중간 단계의 대규모 와이드 테이블 시나리오에서는 데이터에 대한 세분화된 권한 제어에 대한 요구를 충족하기 어렵습니다.
해결책:
위의 문제를 바탕으로 ByteDance는 Apache Calcite와 자체 개발한 권한 서비스인 Gemini를 기반으로 행과 열의 혼합 권한을 위한 정교한 관리 솔루션을 설계했습니다.
-
방해석 혈통을 기반으로 정확한 권위점 추출
- 혈연 능력을 기반으로 SQL에서 실제로 사용되는 권한 포인트 정보(테이블, 행, 열 등)를 정확하게 찾아 세분화된 권한 추출을 수행합니다.
-
행과 열의 혼합 권한을 통한 다차원 권한 관리 및 제어
- 기존 라이브러리 권한, 테이블 권한 및 열 권한 외에 새로운 행 제한 권한이 테이블 권한/열 권한에 특수 리소스로 추가될 수 있습니다.
- 각 테이블 권한/열 권한은 동시에 여러 행 권한 리소스와 번들로 묶일 수 있으며, 서로 다른 테이블 권한/열 권한의 행 제한은 서로 독립적입니다.
- 가로/세로 권한 포인트 묶음을 통해 쿼리 리소스는 행과 행이 겹치는 '리소스 셀'에 배치되어 보다 세분화된 리소스 수준 권한을 달성합니다.
솔루션 장점:
- 새로운 솔루션에서는 정밀한 세분화된 권한 포인트 추출과 다차원 행 및 열 혼합 권한 지원을 통해 리소스 관리 및 제어가 가로 행 또는 세로 열에서 행과 행이 겹쳐지는 '리소스 셀'로 세분화됩니다. .
- 권한 제어 범위를 더욱 세분화하고, 사용자의 정상적인 사용을 보장하면서 필요한 권한을 최소한으로 부여합니다.
- 스피치 PPT에서는 구체적인 대표적인 사례와 구현원칙을 소개하겠습니다.
주 지앙
화산 엔진 LAS 수석 R&D 엔지니어
주제: 클라우드 네이티브
ByteDance 클라우드 네이티브 YARN 실습
Bytedance의 내부 오프라인 사업은 매일 수십만 개의 노드와 수백만 개의 작업이 온라인으로 실행되고 있으며, 매일 사용되는 리소스의 양은 수천만 개에 이릅니다. 오프라인 업무와 온라인 업무 일정 관리를 각각 담당합니다. 그러나 비즈니스 규모가 발전함에 따라 이 시스템은 오프라인으로 두 시스템에 속하며 일부 주요 활동 시나리오에서는 운영 및 유지 관리를 통한 오프라인 리소스 전환이 필요하고 전환 주기가 길다는 몇 가지 단점이 드러났습니다. 리소스 풀 균일성이 부족하여 전체 리소스 활용률이 낮아지고 할당량 관리 및 제어, 기계 운영 및 유지 관리 등을 재사용할 수 없으며 안정적이고 안정적인 격리와 같은 클라우드 네이티브의 다양한 이점을 누릴 수 없습니다. 기능, 편리한 운영 및 유지 관리 기능 등 오프라인 시스템의 통합이 시급히 필요하며, 기존의 빅데이터 엔진은 클라우드 네이티브용으로 설계되지 않아 클라우드 네이티브에 직접 배포하기 어렵습니다. 변신의 규모가 엄청나다. 이러한 배경을 바탕으로 ByteDance는 Hadoop YARN 프로토콜과 100% 호환되는 클라우드 네이티브 YARN 솔루션인 서버리스 YARN을 제안합니다. Hadoop 생태계의 빅데이터 작업은 수정 없이 클라우드 네이티브 시스템으로 투명하게 마이그레이션될 수 있으며, 온라인 리소스도 제공됩니다. 오프라인 리소스는 시간 공유 방식으로 효율적이고 유연하게 변환 및 재사용될 수 있으며 클러스터의 전반적인 리소스 활용도가 크게 향상됩니다.
샤오 카이양
Volcano Engine 클라우드 네이티브 컴퓨팅 R&D 엔지니어
ByteDance 인프라에서 오프라인 일정 관리 관련 작업을 담당하며 엔지니어링 아키텍처 분야에서 다년간의 경험을 보유하고 있습니다.
주제: 메시징 시스템
사육사가 없는 카프카
현재 Kafka는 ZooKeeper를 사용하여 브로커 정보, 주제, 파티션 등과 같은 메타데이터를 저장합니다. KRaft는 Zookeeper가 없는 차세대 Kafka입니다. 이 강의에는 다음이 포함됩니다.
- Kafka가 새로운 KRaft 기능을 개발해야 하는 이유
- 이전 아키텍처(Zookeeper 포함) Kafka 및 새 아키텍처(Zookeeper 제외) Kafka
- Kafka 채택의 이점
- 내부적으로 어떻게 작동하는지
- 모니터링 지표
- Kafka 문제 해결에 도움이 되는 도구
- 지금까지 우리가 달성한 것을 보여주는 데모
- KRaft를 향한 Kafka 커뮤니티의 로드맵
이 강연이 끝나면 청중은 KRaft가 무엇인지, 어떻게 작동하는지, Zookeeper 기반 Kafka와 어떻게 다른지, 가장 중요하게는 KRaft를 모니터링하고 문제를 해결하는 방법에 대해 더 잘 이해할 것입니다.
루크 첸
RedHat, 수석 소프트웨어 엔지니어
클라우드에서 Apache Kafka 제품 실행을 전담하는 RedHat의 수석 소프트웨어 엔지니어입니다. Apache Kafka 커미터이자 PMC 회원은 3년 이상 Apache Kafka에 기여해 왔습니다.
덩 지밍
ByteDance 빅 데이터 R&D 엔지니어, Apache Kafka 커미터
부스 상호작용이 여러분의 플레이를 기다리고 있습니다
ByteDance 오픈 소스는 컨퍼런스 현장에 대화형 부스를 설치하여 ByteDance의 오픈 소스 프로젝트를 전시하고 참가자들과 소통할 것입니다. 현장에는 풍부한 커뮤니티 환경뿐만 아니라 다양한 인터랙티브 링크도 있습니다. 참여하는 친구들은 체크인을 환영합니다~
ByteDance 오픈 소스 공개 계정을 팔로우하면 현장에서 놀라운 일이 일어날 것입니다!
전체 일정 보기: https://apachecon.com/acasia2023/en/tracks.html
동료 치킨 "오픈 소스" deepin-IDE 및 마침내 부트스트랩을 달성했습니다! 좋은 친구, Tencent는 Switch를 "생각하는 학습 기계"로 전환했습니다. Tencent Cloud의 4월 8일 실패 검토 및 상황 설명 RustDesk 원격 데스크톱 시작 재구성 웹 클라이언트 WeChat의 SQLite 기반 오픈 소스 터미널 데이터베이스 WCDB의 주요 업그레이드 TIOBE 4월 목록: PHP 사상 최저치로 떨어졌고 FFmpeg의 아버지인 Fabrice Bellard는 오디오 압축 도구인 TSAC를 출시했으며 Google은 대규모 코드 모델인 CodeGemma를 출시했습니다 . 오픈소스라서 너무 좋아요 - 오픈소스 사진 및 포스터 편집기 도구