- Gumagamit ng native vectorized execution engine at MPP architecture upang maghatid ng mga sub-second query response sa napakalaking dataset.
- Pinapasimple ang imprastraktura sa pamamagitan ng isang pinasimpleng disenyo ng FE/BE na nag-aalis ng mga iisang punto ng pagkabigo at nagbibigay-daan sa awtomatikong pag-scale.
- Nag-aalok ng advanced na optimization sa pamamagitan ng Cost-Based Optimizer (CBO) at matatalinong materialized views para sa mga kumplikadong multi-table join.
- Sinusuportahan ang direktang pagsusuri ng mga data lake (Hive, Iceberg, Hudi) na may ganap na compatibility sa MySQL protocol.
Naranasan mo na bang maantala ang kasalukuyan mong data setup? Sa mundo ng modernong negosyo, ang paggawa ng mga tawag batay sa real-time na data ay hindi lamang isang luho; ito ay isang pangangailangan. Gayunpaman, maraming kumpanya ang nahihirapan kapag ang kanilang arkitektura ay hindi kayang humawak ng mataas na concurrency o kumplikadong multi-table joins , na humahantong sa isang nakakadismayang karanasan kung saan ang mga query ay matagal mag-load.
Dito na tutulong ang StarRocks para iligtas ang sitwasyon. Sa halip na mag-abala sa nakakapagod na pagproseso ng datos, tulad ng pagbuo ng walang katapusang mga flat table o mga kumplikadong pamamaraan ng pagmomodelo ng datos o mga cube na mahirap panatilihin, ang susunod na henerasyong MPP database na ito ay nagbibigay-daan sa iyong direktang pag-aralan ang iyong datos. Ito ay dinisenyo upang maging mabilis, flexible, at napakadaling i-deploy, na ginagawang madali ang buong proseso ng analytical querying.
Ang Lihim na Sarsa: Isang Pinasimpleng Arkitektura
Pinapanatili ng StarRocks na maayos ang mga bagay-bagay sa pamamagitan ng paghahati ng mga tungkulin nito sa pagitan ng dalawang pangunahing bahagi: ang Frontend (FE) at ang Backend (BE). Malaking pagbabago ang setup na ito dahil inaalis nito ang mga indibidwal na punto ng pagkabigo , ibig sabihin ay mananatili ang iyong system kahit na magdesisyon ang isang node na umidlip. Ang FE ang humahawak sa gawain ng utak—pamamahala ng metadata, pagpaplano ng mga query, at pag-iiskedyul—habang ang BE ang gumagawa ng mabibigat na gawain ng pag-iimbak ng data at pagpapatupad ng SQL.
Sa loob ng FE, makakahanap ka ng isang matalinong sistema ng mga Followers at Observers. Gumagamit ang mga Followers ng isang consensus algorithm na katulad ng Paxos upang matiyak na ang metadata ay nakasulat nang pare-pareho sa buong cluster. Samantala, nariyan ang mga Observers upang mapalakas ang kakayahan ng system na pangasiwaan ang napakaraming sabay-sabay na mga query sa pamamagitan ng pag-replay ng mga transaction log. Sa kabilang banda, ang mga BE node ay simetriko, ibig sabihin lahat sila ay nagtutulungan upang iproseso ang data nang hindi kinakailangang kopyahin o i-communicate ang data sa pagitan nila habang isinasagawa, kaya naman napakabilis nito.
Pagiging Mahusay sa Pamamahala at Pag-scale ng Datos
Para mapanatiling organisado ang mga bagay-bagay, hinahati ng StarRocks ang mga talahanayan sa mga tablet, na pagkatapos ay ipinamamahagi sa mga BE node. Gumagamit ito ng pinaghalong partitioning (tulad ng paghahati ng data ayon sa petsa) at bucketing (gamit ang mga hash function) upang matiyak na ang bawat CPU core at makina sa iyong cluster ay gumagana. Ang parallel processing na ito ang dahilan kung bakit makakakuha ka ng mga sub-second na tugon kahit na humaharap sa napakalaking dataset.
Isa sa mga pinaka-cool na bahagi ay ang awtomatikong pagbabalanse ng data . Kung kailangan mong pataasin o pababain ang iyong cluster, ang StarRocks ang bahala sa paggalaw ng mga tablet sa background. Hindi mo kailangang manu-manong ipamahagi muli ang data, na isang malaking panalo para sa mga DBA. Dagdag pa rito, sa pamamagitan ng pagpapanatili ng tatlong replica ng bawat tablet bilang default, tinitiyak ng system ang mataas na availability at resilience , kaya ang isang pagkabigo ng isang node ay hindi magpapahinto sa iyong buong operasyon.
Ang Kapangyarihan ng MPP at Vectorized Execution
Hindi tulad ng mga lumang pattern ng scatter-gather na lumilikha ng mga bottleneck sa huling hakbang ng aggregation, gumagamit ang StarRocks ng Massively Parallel Processing (MPP) framework . Hinahati nito ang isang query sa mga logical fragment at physical execution unit na sabay-sabay na tumatakbo sa buong cluster. Nangangahulugan ito na ang mga kumplikadong kalkulasyon, tulad ng pagpapangkat ayon sa mga high-cardinality column , ay mas mahusay na pinangangasiwaan dahil ang data ay pinagsasama-sama at pinoproseso sa maraming node.
Para makuha ang bawat huling patak ng kuryente mula sa iyong hardware, gumagamit ito ng isang native vectorized execution engine . Pinoproseso ng engine na ito ang data sa mga column sa halip na mga row, na mahusay na ginagamit ang CPU cache at mga instruksyon ng SIMD. Sa madaling salita: mas marami itong ginagawa na may mas kaunting instruksyon. Kayang mapalakas ng teknolohiyang ito ang performance nang 3 hanggang 10 beses kumpara sa mga tradisyunal na operator, at gumagana pa nga ito sa naka-encode na data para laktawan ang mga hindi kinakailangang hakbang sa pag-decode, na muling nagdodoble sa bilis.
Matalinong Pag-optimize at Pag-iimbak
Kapag nakikitungo ka sa isang dosenang talahanayan sa isang join, ang plano ng pagpapatupad ay maaaring magpalakas o magbawas ng iyong performance. Tinutugunan ito ng StarRocks gamit ang isang custom-built na Cost-Based Optimizer (CBO) . Napakagaling ng CBO na ito—kaya nitong isulat muli ang mga subquery, gamitin muli ang mga common table expression (CTE), at muling isaayos ang mga join upang mahanap ang pinakaepektibong path patungo sa resulta. Ito ay karaniwang GPS para sa iyong mga data query , na tinitiyak na hindi ka na magpapaligoy-ligoy pa.
Sa ilalim ng hood, ang columnar storage engine ay dinisenyo para sa totoong mundo. Pinapayagan nito ang mataas na compression ratio upang makatipid sa espasyo sa disk at lubhang binabawasan ang I/O dahil binabasa lamang nito ang mga column na talagang kailangan para sa query. Mas maganda pa rito, sinusuportahan nito ang mga quasi-real-time na update na may mga ACID properties . Gumagamit ka man ng upsert o append modes, tinitiyak ng system na ang iyong data ay pare-pareho at sariwa, kadalasan ay may pangalawang antas ng latency.
Mga Matalinong Pananaw at Pagsasama ng Data Lake
Kalimutan ang manu-manong pag-refresh ng iyong mga materialized view. Nag-aalok ang StarRocks ng matatalino at real-time na materialized view na awtomatikong nag-a-update habang nagbabago ang mga base table. Sapat ang talino ng system para awtomatikong isulat muli ang iyong mga query para magamit ang mga view na ito kung mas mabilis ang resulta, ibig sabihin ay makakakuha ka ng napakabilis na performance nang hindi binabago ang kahit isang linya ng SQL.
Kung gumagamit ka na ng data lake, swerte ka. Pinapayagan ka ng StarRocks na direktang mag-query ng data mula sa Apache Hive, Iceberg, Delta Lake, o Apache Hudi nang hindi nangangailangan ng nakakapagod na paglipat ng data. Ang pamamaraang ito na "zero-copy" ay nangangahulugan na maaari mong panatilihin ang iyong data kung nasaan ito at magsagawa pa rin ng high-speed analysis. Dahil ganap itong tugma sa mga protocol ng MySQL , maaari mong isaksak ang iyong mga paboritong BI tool o mga pinamamahalaang serbisyo sa database at simulan agad ang pagsusuri.
Epekto sa Tunay na Mundo: Mula WeChat hanggang Trip.com
Ang nakikita ay paniniwala, at ang mga resulta mula sa malalaking kumpanya ay kahanga-hanga. Ang WeChat, na nagsisilbi sa mahigit isang bilyong gumagamit, ay lumipat mula sa Apache Druid patungo sa StarRocks para sa platform ng pagsubaybay nito. Nagawa nilang bawasan ang average na oras ng pag-query mula 1200ms patungong 500ms at ibinaba ang mabagal na mga query mula 20 segundo patungong 6 na lamang, habang nag-i-import ng 60 bilyong piraso ng data araw-araw.
Gayundin, lumayo ang Trip.com sa ClickHouse dahil kailangan nila ng mas mahusay na suporta para sa karaniwang SQL at mas mataas na concurrency. Pagkatapos ng paglipat, 70% ng kanilang mga real-time na senaryo ay tumatakbo na ngayon sa StarRocks, na may average na oras ng pagtugon na humigit-kumulang 200ms. Sa pamamagitan ng pagpapasimple ng kanilang arkitektura, hindi lamang sila nakakuha ng mas mabilis na bilis— nabawasan din nila nang malaki ang kanilang mga gastos sa manpower at hardware.
Nagse-set up ka man ng mga pahintulot sa pamamagitan ng mga tungkulin para sa isang panlabas na katalogo o nagsasama sa mga tool tulad ng Metabase o GoodData, pareho ang layunin: mas mabilis na makakuha ng mga insight. Mula sa paghawak ng thousand-user concurrency hanggang sa pagbibigay ng shared-data architecture sa bersyon 3.0 para sa mas mababang gastos, ang sistemang ito ay binuo para sa scale. Sa pamamagitan ng pagsasama-sama ng isang MPP framework, isang vectorized engine, at isang smart CBO, binabago ng StarRocks ang paraan ng paghawak ng mga kumpanya sa kumplikadong multi-dimensional analysis at ad-hoc queries sa buong data lakehouse.