paint-brush
Pag-arkitekto ng Modernong Data Lake sa isang Post-Hadoop Worldsa pamamagitan ng@minio
Bagong kasaysayan

Pag-arkitekto ng Modernong Data Lake sa isang Post-Hadoop World

sa pamamagitan ng MinIO7m2024/09/13
Read on Terminal Reader

Masyadong mahaba; Upang basahin

Ang papel na ito ay nagsasalita tungkol sa pagtaas at pagbaba ng Hadoop HDFS at kung bakit ang mataas na pagganap na pag-iimbak ng bagay ay isang natural na kahalili sa mundo ng malaking data.
featured image - Pag-arkitekto ng Modernong Data Lake sa isang Post-Hadoop World
MinIO HackerNoon profile picture


Ang Modernong Datalake ay kalahating data warehouse at kalahating data lake at gumagamit ng object storage para sa lahat. Ang paggamit ng object storage para bumuo ng data warehouse ay ginawang posible ng Open Table Formats (OTFs) tulad ng Apache Iceberg, Apache Hudi, at Delta Lake, na mga detalye na, kapag naipatupad, ginagawa itong walang putol para sa object storage na gagamitin bilang pinagbabatayan na solusyon sa imbakan para sa isang data warehouse. Nagbibigay din ang mga detalyeng ito ng mga feature na maaaring wala sa isang kumbensyonal na Data Warehouse - halimbawa, mga snapshot (kilala rin bilang time travel), schema evolution, partition, partition evolution, at zero-copy branching.


Habang binubuo ng mga organisasyon ang Modern Datalakes, narito ang ilan sa mga pangunahing salik na sa tingin namin ay dapat nilang isaalang-alang:


  1. Disaggregation ng compute at storage
  2. Paglipat mula sa monolitikong mga balangkas patungo sa pinakamahusay na lahi na mga balangkas
  3. Pagsasama-sama ng data center - palitan ang mga solusyon sa departamento ng isang solong solusyon sa korporasyon
  4. Walang putol na pagganap sa maliliit at malalaking file/mga bagay
  5. Ang software-defined, cloud-native na solusyon na pahalang ang sukat


Pinag-uusapan ng papel na ito ang pagtaas at pagbaba ng Hadoop HDFS at kung bakit ang mataas na pagganap na pag-iimbak ng bagay ay isang natural na kahalili sa mundo ng malaking data.

Pag-ampon ng Hadoop

Sa pagpapalawak ng mga aplikasyon sa internet, nagsimula ang unang pangunahing mga hamon sa pag-iimbak ng data at pagsasama-sama para sa mga advanced na kumpanya ng teknolohiya 15 taon na ang nakakaraan. Hindi ma-scale ang Traditional RDBMS (Relational Database Management System) para lapitan ang malaking halaga ng data. Pagkatapos ay dumating ang Hadoop, isang mataas na nasusukat na modelo. Sa modelong Hadoop, ang isang malaking halaga ng data ay nahahati sa maraming murang mga makina sa isang kumpol na pagkatapos ay pinoproseso nang magkatulad. Ang bilang ng mga makina o node na ito ay maaaring dagdagan o bawasan ayon sa mga kinakailangan ng enterprise.


Ang Hadoop ay open source at gumamit ng cost-effective na commodity hardware, na nagbigay ng cost-efficient na modelo, hindi tulad ng mga tradisyunal na relational database, na nangangailangan ng mamahaling hardware at high-end na processor upang harapin ang malaking data. Dahil napakamahal na sukatin sa modelong RDBMS, sinimulan ng mga negosyo na tanggalin ang raw data. Ito ay humantong sa mga suboptimal na kinalabasan sa isang bilang ng mga vector.


Kaugnay nito, nagbigay ang Hadoop ng isang makabuluhang kalamangan sa diskarte ng RDBMS. Ito ay mas nasusukat mula sa isang pananaw sa gastos, nang hindi sinasakripisyo ang pagganap.

Ang Katapusan ng Hadoop

Ang pagdating ng mga mas bagong teknolohiya tulad ng change data capture (CDC) at streaming data, na pangunahing nabuo mula sa mga kumpanya ng social media tulad ng Twitter at Facebook, ay nagpabago sa kung paano natutunaw at iniimbak ang data. Nag-trigger ito ng mga hamon sa pagproseso at paggamit ng mas malalaking volume ng data na ito.


Ang isang pangunahing hamon ay sa batch processing. Ang mga batch na proseso ay tumatakbo sa background at hindi nakikipag-ugnayan sa user. Ang Hadoop ay mahusay sa pagpoproseso ng batch pagdating sa napakalaking mga file ngunit nagdusa sa mas maliliit na file—parehong mula sa isang pananaw sa kahusayan pati na rin sa isang latency na pananaw—na epektibong ginagawa itong hindi na ginagamit habang ang mga negosyo ay naghahanap ng mga framework ng pagproseso at pagkonsumo na maaaring kumuha ng iba't ibang mga dataset na malaki at maliit sa batch, CDC, at real-time.


Ang paghihiwalay ng pag-compute at pag-iimbak ay may katuturan ngayon. Kailangang malampasan ng storage ang pag-compute ng hanggang sampu hanggang isa. Ito ay lubos na hindi mahusay sa mundo ng Hadoop, kung saan kailangan mo ng isang compute node para sa bawat storage node. Ang paghihiwalay sa kanila ay nangangahulugan na maaari silang ibagay nang isa-isa. Ang mga compute node ay stateless at maaaring i-optimize gamit ang mas maraming CPU core at memory. Ang mga storage node ay stateful at maaaring I/O optimized na may mas maraming bilang ng mas siksik na drive at mas mataas na bandwidth.


Sa pamamagitan ng paghahati-hati, makakamit ng mga negosyo ang higit na mahusay na ekonomiya, mas mahusay na pamamahala, pinabuting scalability, at pinahusay na kabuuang halaga ng pagmamay-ari.


Hindi magawa ng HDFS ang paglipat na ito. Kapag umalis ka sa lokalidad ng data, ang lakas ng Hadoop HDFS ay nagiging kahinaan nito. Ang Hadoop ay idinisenyo para sa MapReduce computing, kung saan ang data at compute ay kailangang magkasamang matatagpuan. Bilang resulta, kailangan ng Hadoop ang sarili nitong job scheduler, resource manager, storage, at compute. Ito ay pangunahing hindi tugma sa mga arkitektura na nakabatay sa lalagyan, kung saan ang lahat ay elastic, magaan, at maraming nangungupahan.


Sa kabaligtaran, ang MiniIO ay ipinanganak na cloud native at idinisenyo para sa mga container at orchestration sa pamamagitan ng Kubernetes, na ginagawa itong perpektong teknolohiya upang lumipat sa kapag nagretiro ng mga legacy na instance ng HDFS.


Ito ay nagbunga ng Modern Datalake. Sinasamantala nito ang paggamit ng commodity hardware approach na minana mula sa Hadoop ngunit pinaghiwa-hiwalay ang storage at compute — sa gayon ay binabago kung paano pinoproseso, sinusuri, at ginagamit ang data.

Pagbuo ng Modernong Data Lake gamit ang MiniIO

Ang MiniIO ay isang sistema ng pag-iimbak ng bagay na may mataas na pagganap na binuo mula sa simula upang maging scalable at cloud-native. Ang koponan na bumuo ng MiniIO ay bumuo din ng isa sa pinakamatagumpay na file system, ang GlusterFS, bago baguhin ang kanilang pag-iisip sa storage. Ang kanilang malalim na pag-unawa sa mga file system at kung aling mga proseso ang magastos o hindi epektibo ang nagbigay-alam sa arkitektura ng MiniIO, na naghahatid ng pagganap at pagiging simple sa proseso.


Gumagamit ang Minio ng erasure coding at nagbibigay ng mas mahusay na hanay ng mga algorithm para pamahalaan ang kahusayan ng storage at magbigay ng resiliency. Karaniwan, ito ay 1.5 beses na kopya, hindi tulad ng 3 beses sa mga cluster ng Hadoop. Ito lamang ay nagbibigay na ng kahusayan sa pag-iimbak at binabawasan ang mga gastos kumpara sa Hadoop.


Mula sa simula nito, ang MiniIO ay idinisenyo para sa cloud operating model. Bilang resulta, tumatakbo ito sa bawat cloud—pampubliko, pribado, on-prem, bare metal, at edge. Ginagawa nitong perpekto para sa mga multi-cloud at hybrid-cloud na pag-deploy. Sa isang hybrid na configuration, pinapagana ng MiniIO ang paglipat ng data analytics at data science workloads alinsunod sa mga diskarte tulad ng Strangler Fig Pattern pinasikat ni Martin Fowler.


Nasa ibaba ang ilang iba pang dahilan kung bakit ang MiniIO ang pangunahing building block para sa isang Modern Datalake na may kakayahang suportahan ang iyong imprastraktura ng data ng IA pati na rin ang iba pang analytical na workload gaya ng business intelligence, data analytics, at data science.

Nakahanda na ang Modernong Data

Ang Hadoop ay sadyang binuo para sa data kung saan ang ibig sabihin ng “unstructured data” ay malalaking (GiB hanggang TiB-sized) na mga log file. Kapag ginamit bilang isang platform ng imbakan ng pangkalahatang layunin kung saan gumaganap ang totoong hindi nakabalangkas na data, ang paglaganap ng maliliit na bagay (KB hanggang MB) ay lubos na nakakapinsala sa Hadoop HDFS, dahil ang mga node ng pangalan ay hindi kailanman idinisenyo upang sukatin sa ganitong paraan. Ang MiniIO ay napakahusay sa anumang laki ng file/object (8KiB hanggang 5TiB).

Open Source

Ginawa ito ng mga negosyong nagpatibay ng Hadoop dahil sa kagustuhan sa mga open-source na teknolohiya. Ang kakayahang mag-inspeksyon, ang kalayaan mula sa lock-in, at ang kaginhawaan na nagmumula sa libu-libong user, ay may tunay na halaga. Ang MiniIO ay 100% open source din, na tinitiyak na ang mga organisasyon ay mananatiling tapat sa kanilang mga layunin habang ina-upgrade ang kanilang karanasan.

Simple

Ang pagiging simple ay mahirap. Kailangan ng trabaho, disiplina, at higit sa lahat, commitment. Ang pagiging simple ng MiniIO ay maalamat at ito ay resulta ng isang pilosopikal na pangako sa paggawa ng aming software na madaling i-deploy, gamitin, i-upgrade, at sukatin. Maging ang mga tagahanga ni Hadoop ay sasabihin sa iyo na ito ay kumplikado. Upang makagawa ng higit pa sa mas kaunti, kailangan mong lumipat sa MiniIO.

Performant

Sumikat ang Hadoop dahil sa kakayahan nitong maghatid ng malaking performance ng data. Sila ay, para sa mas magandang bahagi ng isang dekada, ang benchmark para sa enterprise-grade analytics. Hindi na. Ang MiniIO ay napatunayan sa maramihang mga benchmark na ito ay materyal na mas mabilis kaysa sa Hadoop. Nangangahulugan ito ng mas mahusay na pagganap para sa iyong Modern Datalake.

Magaan

Ang binary ng server ng MiniIO ay lahat ng <100MB. Sa kabila ng laki nito, ito ay sapat na malakas upang patakbuhin ang data center, ngunit sapat pa rin upang mamuhay nang kumportable sa gilid. Walang ganoong alternatibo sa mundo ng Hadoop. Ang ibig sabihin nito sa mga negosyo ay ang iyong mga S3 application ay maaaring mag-access ng data saanman, anumang oras, at sa parehong API. Sa pamamagitan ng pag-deploy ng MiniIO sa isang gilid na lokasyon, maaari mong makuha at i-filter ang data sa gilid at gamitin ang mga kakayahan ng pagtitiklop ng MiniIO upang ipadala ito sa iyong Modern Datalake para sa pagsasama-sama at karagdagang analytics.

Matibay

Pinoprotektahan ng MiniIO ang data gamit ang per-object, inline erasure coding, na mas mahusay kaysa sa mga alternatibong HDFS na dumating pagkatapos ng pagtitiklop at hindi kailanman nakuha. Bilang karagdagan, tinitiyak ng pag-detect ng bitrot ng MiniIO na hindi nito kailanman babasahin ang sirang data — ang pagkuha at pagpapagaling ng mga sirang bagay sa mabilisang paraan. Sinusuportahan din ng MiniIO ang cross-region, active-active replication. Panghuli, sinusuportahan ng MiniIO ang isang kumpletong framework sa pag-lock ng bagay na nag-aalok ng parehong Legal na Pag-hold at Pagpapanatili (na may mga mode ng Pamamahala at Pagsunod).

Tinukoy ng Software

Ang kahalili ng Hadoop HDFS ay hindi isang hardware appliance; ito ay software na tumatakbo sa commodity hardware. Iyan ang MiniIO — software. Tulad ng Hadoop HDFS, ang MiniIO ay idinisenyo upang samantalahin nang husto ang mga server ng kalakal. Gamit ang kakayahang magamit ang mga NVMe drive at 100 GbE networking, maaaring paliitin ng MiniIO ang data center — pagpapabuti ng kahusayan sa pagpapatakbo at pamamahala.

Secure

Sinusuportahan ng MiniIO ang maramihang, sopistikadong mga scheme ng pag-encrypt sa gilid ng server upang protektahan ang data — saanman ito naroroon — sa paglipad o sa pahinga. Tinitiyak ng diskarte ng MiniIO ang pagiging kompidensiyal, integridad, at pagiging tunay na may kaunting pagganap sa overhead. Ang server-side at client-side encryption ay sinusuportahan gamit ang AES-256-GCM, ChaCha20-Poly1305, at AES-CBC, na tinitiyak ang pagiging tugma ng application. Higit pa rito, sinusuportahan ng MiniIO ang mga key management system (KMS) na nangunguna sa industriya.

Paglipat mula Hadoop sa MiniIO

Ang koponan ng MinIO ay may kadalubhasaan sa paglipat mula sa HDFS patungo sa MiniIO. Ang mga customer na bumili ng lisensya ng Enterprise ay maaaring makakuha ng tulong mula sa aming mga inhinyero. Upang matuto nang higit pa tungkol sa paggamit ng MiniIO upang palitan ang HDFS tingnan koleksyon ng mga mapagkukunang ito .

Konklusyon

Ang bawat enterprise ay isang data enterprise sa puntong ito. Ang pag-iimbak ng data na iyon at ang kasunod na pagsusuri ay kailangang maging seamless, scalable, secure, at gumaganap. Ang mga tool na analytical na ginawa ng Hadoop ecosystem, tulad ng Spark, ay mas epektibo at mahusay kapag ipinares sa mga object storage-based na data lakes. Pinapabuti ng mga teknolohiya tulad ng Flink ang pangkalahatang pagganap dahil nagbibigay ito ng solong run-time para sa streaming pati na rin ang pagproseso ng batch na hindi gumana nang maayos sa modelong HDFS. Ang mga frameworks tulad ng Apache Arrow ay muling tinutukoy kung paano iniimbak at pinoproseso ang data, at muling tinutukoy ng Iceberg at Hudi kung paano pinapayagan ng mga format ng talahanayan ang mahusay na pag-query ng data.


Ang lahat ng mga teknolohiyang ito ay nangangailangan ng isang moderno, object storage-based na data lake kung saan ang compute at storage ay pinaghiwa-hiwalay at workload-optimized. Kung mayroon kang anumang mga tanong habang nag-arkitekto ng sarili mong modernong data lake, mangyaring huwag mag-atubiling makipag-ugnayan sa amin sa [email protected] o sa aming Slack channel.