기술나눔

starRocks 빌드

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

회사는 새로운 빅데이터 아키텍처를 활용하고자 하며, 해외 빅데이터 플랫폼을 국내 플랫폼으로 교체할 계획이다. 그래서 여기서 도리스를 쓸지 스타락을 쓸지 헷갈리는데, 도리스를 사용하면 오픈소스라서 앞으로는 클라우드 벤더를 직접 이용할 수도 있겠네요. 스타록을 사용하려면 직접 만들어야 하는데, 앞으로는 반드시 상용화될 것이고, 돈을 청구해야 할 것입니다. 예전에 doris를 써봤는데 starRocks는 안 써봤는데 정말 아래 참고링크만큼 고성능인지 확인해보고 싶어서 starrocks를 선택했어요. 이전 CDH의 hive-presto 또는 kudu-impala를 대체하기 위한 데이터 웨어하우스로 사용하세요.

starRocks가 하이브를 대체할 수 있다고 생각하시나요? Hadoop 세트는 20년 전 Google이 지쳤던 것입니다. Hadoop 세트는 구성 요소가 너무 많습니다. 지난 20년 동안 발생한 주요 버그가 거의 모두 수정되었다는 장점이 있습니다. . hadoop을 전혀 사용할 필요가 없으며 대신 starRocks를 사용할 수 있습니다.

CPU가 지원하는지 확인하세요.

고양이 /proc/cpuinfo | grep avx2

아무것도 인쇄되지 않으면 CPU를 변경할 수 있습니다.

Be는 계산을 담당합니다. 이 명령어 세트가 없으면 배포할 수 없습니다.

소개하다

startrocks는 기존의 하이브를 대체할 수 있는 [데이터 분석]을 위한 [데이터 웨어하우스]입니다.벡터화MMP 아키텍처~의컬럼 스토리지 엔진,지원하다실시간 분석 , 동시 컴퓨팅.mysql 프로토콜과 호환되어 사용 가능mysql 클라이언트 도킹 .지원하다수평적 확장 . 전체 시스템에는 외부 종속성이 없습니다. 즉, 관리를 위해 사육사가 필요하지 않거나 mysql에 메타데이터가 존재하므로 자체적으로만 유지하면 됩니다.

업데이트 및 기타 작업과 같은 거래 작업에는 적합하지 않습니다. 로그 데이터, 신체 검사 보고서 등 분석에 사용되는 데이터는 작성된 후 변경되지 않습니다.

벡터화: 데이터를 벡터화한 후 CPU가 하나의 항목만 처리할 수 있었지만 이제는 여러 항목을 동시에 처리할 수 있다는 사실을 나타냅니다.

MPP 아키텍처: 대규모 병렬 처리 아키텍처, 함께 실행하기 위해 데이터를 여러 시스템으로 분할, 대량의 데이터 처리

열 저장 엔진: 열을 관리하고 넓은 너비의 테이블 저장 및 분석을 지원합니다. MySQL은 좋지 않으며 필드가 너무 많으면 축소됩니다. 열을 개별적으로 쿼리하는 것이 빠르고 열이 실시간으로 업데이트될 수 있습니다.

실시간 분석 : 쿼리 분석 속도가 상대적으로 빠르며, 밀리초 수준

Mysql 클라이언트 도킹: 예를 들어 navicat 또는 jdbc가 직접 연결할 수 있습니까?확인 예정

수평적 확장: 1대의 기계는 너무 약해서 계속해서 기계를 추가하여 분석 능력을 강화할 수 있습니다.

지원하다다음과 같은BI 도킹: Tableau, Power BI, FineBI 및 Smartbi가 포함됩니다.

실시간 데이터 웨어하우스로서 그는 다음 작업만 수행할 수 있습니다.두 번째 수준】데이터 동기화, 실시간 가능【밀리초 수준문의

시스템 아키텍처(유지보수 및 구축을 위해 반드시 읽어야 함)

시스템의 핵심에는 FE(Frontend), BE(Backend) 또는 CN(Compute Node) 프로세스만 있습니다.

프런트엔드(디스플레이 인터페이스), 백엔드(논리 제어), 노드

3.0 이후부터는 저장과 계산의 분리가 지원되며, 영구 데이터는 HDFS에 저장해야 합니다. 물론 저장과 계산을 통합하도록 선택할 수도 있습니다.

3.0은 두 아키텍처도 모두 지원합니다.

둘의 차이점은 무엇인가요? 저장소와 계산이 통합된 경우 데이터를 startRocks에 복사해야 합니다. 저장소와 계산이 분리된 경우 HDFS에 있는 데이터를 직접 사용할 수 있습니다. 복사하는 단계가 한 단계 줄어듭니다. 스토리지와 컴퓨팅을 분리하면 비용과 디스크가 절약되고 확장 시 스토리지에 대해 걱정할 필요가 없으며 컴퓨팅 노드를 직접 확장하면 됩니다. 단점은 추가 외부 데이터 세트를 유지해야 한다는 것입니다.

하이브리드 배포는 지원되지 않습니다. 스토리지와 컴퓨팅이 통합된 경우 스토리지와 컴퓨팅을 분리할 수 없습니다.

Fe는 조정 및 카탈로그 관리를 담당합니다.

통합 저장 및 계산

책임감을 가져라저장그리고계산하다

Fe (상세 버전)

관리를 담당합니다메타데이터, 클라이언트 연결 관리,쿼리 계획, 쿼리 예약.

FE 메타데이터는 메모리에 저장되며, 디스크에도 복사본이 있습니다.

FE에는 리더, 추종자, 관찰자의 세 가지 역할이 있습니다.

리더는 선출되며 읽기와 쓰기를 담당합니다. 그런 다음 작성 후 메타데이터가 업데이트되어 팔로어 및 관찰자에게 동기화됩니다.

추종자에게는 쓰기 권한이 없으며 읽기 권한만 있습니다.

추종자와 마찬가지로 관찰자는 배포 선택 사항이며 쿼리 속도를 향상시킬 수 있으며 선거에 참여하지 않습니다. 이는 호랑이에게 더 많은 힘을 추가하는 것과 같습니다.

Be (상세 버전)

각 BE는 동일하지만(리더나 팔로워 없음) 모든 BE가 완전한 데이터를 갖고 있는 것은 아닙니다. BE는 저장 및 계산을 담당하고 BE는 데이터를 저장하고 인덱스를 생성합니다.

계산은 SQL을 문법적 의미에 따라 논리 단위(코드 수준)로 나눈 다음데이터 분포에 따라물리적 단위(하드웨어 수준)가 된 후 로컬에서 실행됩니다.

메타데이터: 솔직히 말해서 글을 쓰고 싶지도 않습니다. 단지 샤오바이를 돌보기 위해서입니다. 예를 들어, 문자열이든 숫자이든 어떤 유형의 데이터인가요? 이것은 데이터를 수정하는 데 사용되는 데이터인 메타데이터입니다.

쿼리 계획: 계획이 얼마나 많은 성능을 소비할지, 어떤 SQL을 사용해야 하는지, 최적화하고 물리적 계획으로 변환해야 하는지

쿼리 예약: 이 물리적 계획을 실행할 항목을 선택합니다.

데이터 보관, 계산, 출금 통합관리

starRocks의 가장 작은 저장 단위를 태블릿이라고 합니다. 우리는 스스로 분할한 다음 버킷을 지정할 수 있습니다.

그림을 시간 열로 분할한 후 4개의 필드에 대해 버킷을 지정한 후(4열, 실제로는 1열도 사용 가능) 3개의 사본을 지정하고 각 열의 데이터와 각 데이터 단위의 데이터를 다른 노드 아래에 배포됩니다. A-1, A-2, A-3은 모두 동일한 데이터로 A의 백업입니다.

확장할 때 서비스를 중지할 필요가 없습니다. 노드를 추가하면 자동으로 마이그레이션되며, 노드 수가 감소하면 데이터가 자동으로 균등하게 분산됩니다.

저장과 계산의 분리

소개【은닉처】Be는 계산만 담당하고,Cn으로 이름 변경(컴퓨팅 노드-컴퓨팅 노드)

캐싱: 데이터는 쿼리 빈도에 따라 자동으로 캐시됩니다.동적 변화

동적 변경: 메모리, 로컬 및 외부 소스의 3가지 수준으로 구분됩니다. 가장 인기 있는 데이터는 메모리에 있고, 나머지는 로컬 디스크에 있고, 덜 자주 사용되는 콜드 데이터는 외부 소스에 있습니다.액세스 빈도에 따른 동적 데이터 조정

별도의 저장 및 계산을 사용하여 테이블을 생성할 경우 캐싱 활성화 여부를 알려주어야 합니다.

다음 백엔드 스토리지가 지원됩니다.

  • AWS S3 프로토콜과 호환되는 객체 스토리지 시스템(AWS S3, Google GCP, Alibaba Cloud OSS, Tencent Cloud COS, Baidu Cloud BOS, Huawei Cloud OBS 및 MinIO 등과 같은 주류 객체 스토리지 시스템 지원)
  • Azure 블롭 스토리지
  • 기존 데이터 센터에 배포된 HDFS


나는 여기에서 공식 웹사이트의 시스템 아키텍처에 관한 모든 문장을 내 말로 완성했습니다. 아래에서 구축을 시작하세요.

빠른 시작 경험

Docker 컨테이너를 사용하여 환경을 패키징하므로 ​​직접 시작할 수 있습니다.

먼저 최소 4G의 메모리와 10GB의 공간이 있는 Docker를 설치하십시오.

우리 서버의 CPU는 avx2를 지원하지 않습니다. 여기서는 가상 머신을 실행하고 있으며 내 개인용 컴퓨터가 avx2를 지원하기 때문에 Windows에서 Ubuntu.22를 얻을 계획입니다. ---다운로드가 끝나면 나머지 부분을 작성하기 시작하겠습니다.


 

인용하다:

📚 【源码解析】StarRocks 查询优化系列文章 - 原理解读 - StarRocks中文社区论坛

스타록스 | 스타록스

배포 전제 조건 |

https://www.cnblogs.com/huanghanyu/p/18186894