Чӣ гуна мо DataLake-и хеле самаранок ва арзон ташкил кардем ва чаро ин тавр аст

Мо дар замони аҷибе зиндагӣ мекунем, ки шумо метавонед якчанд асбобҳои кушодаи кушодаро зуд ва ба осонӣ пайваст кунед, онҳоро бо "ҳишри хомӯш" мувофиқи маслиҳати stackoverflow, бидуни ворид шудан ба "ҳарфҳои сершумор" насб кунед ва оғоз кунед. онҳо ба фаъолияти тиҷоратӣ. Ва ҳангоме ки ба шумо лозим аст, ки навсозӣ/васеъ кунед ё касе тасодуфан якчанд мошинро аз нав оғоз мекунад - шумо мефаҳмед, ки як хоби бад васвосиб оғоз шудааст, ҳама чиз ба таври шинохтанашаванда мураккаб шудааст, бозгаште нест, оянда норавшан ва бехатартар аст, ба чои барномасозй занбури асал парвариш мекунанд ва панир мекунанд.

Бесабаб нест, ки ҳамкорони ботаҷриба бо сарашон бо иштибоҳот печида ва аз ин рӯ аллакай хокистарранг дар бораи ҷойгиркунии бениҳоят босуръати бастаҳои “контейнерҳо” дар “кубҳо” дар даҳҳо серверҳо бо “забонҳои муд” бо дастгирии дарунсохташуда фикр мекунанд. I/O асинхронӣ баста нашуда, хоксорона табассум кунед. Ва онҳо хомӯшона дубора хондани "man ps" -ро идома медиҳанд, рамзи сарчашмаи "nginx" -ро то хунрезии чашмонашон меомӯзанд ва санҷишҳои воҳидиро менависанд, менависанд, менависанд. Ҳамкорон медонанд, ки чизи ҷолибтарин вақте рӯй хоҳад дод, ки "ҳамаи ин" рӯзе шаб дар арафаи Соли нав ба ҳисоб меравад. Ва ба онҳо танҳо дарки амиқи табиати unix, ҷадвали ҳолати TCP/IP дар хотир ва алгоритмҳои асосии ҷудокунӣ-ҷустуҷӯ кӯмак хоҳад кард. Барои ба ҳаёт баргардонидани система ҳангоми занг задани зангҳо.

Бале, ман каме парешон шудам, аммо умедворам, ки ҳолати интизориро ба ман расонидам.
Имрӯз ман мехоҳам таҷрибаи худро дар бораи ҷойгиркунии стеки қулай ва арзон барои DataLake мубодила кунам, ки аксари вазифаҳои таҳлилии ширкатро барои воҳидҳои сохтории комилан мухталиф ҳал мекунад.

Чанде пеш, мо ба фаҳмиш омадем, ки ширкатҳо ба меваҳои ҳам маҳсулот ва ҳам таҳлили техникӣ (ба ёдоварӣ аз яхбандӣ дар торт дар шакли омӯзиши мошинсозӣ) бештар ниёз доранд ва барои фаҳмидани тамоюлҳо ва хатарҳо - мо бояд ҷамъоварӣ ва таҳлил кунем. бештар ва бештар ченакҳо.

Таҳлили асосии техникӣ дар Bitrix24

Чанд сол пеш, ҳамзамон бо роҳандозии хидмати Bitrix24, мо вақт ва захираҳоро барои эҷоди як платформаи таҳлилии оддӣ ва боэътимод сарф кардем, ки ба зудӣ дидани мушкилот дар инфрасохтор ва ба нақша гирифтани қадами оянда кӯмак кунад. Албатта, ба маќсад мувофиќ буд, ки асбобњои тайёреро гирифтан, ки њарчи осон ва фањм бошад. Дар натиҷа, nagios барои мониторинг ва мунин барои таҳлил ва визуализатсия интихоб карда шуд. Холо мо дар нагио хазорхо чек, дар мунин садхо диаграмма дорем ва хамкасбони мо хар руз аз онхо бомуваффакият истифода мебаранд. Метрикҳо равшананд, графикҳо равшананд, система чанд сол боз боэътимод кор мекунад ва ба он мунтазам санҷишҳо ва графикҳои нав илова карда мешаванд: вақте ки мо хидмати навро ба кор меандозем, мо якчанд санҷишҳо ва графикҳоро илова мекунем. Барори кор.

Ангушт дар набз - Таҳлили пешрафтаи техникӣ

Хоҳиши гирифтани маълумот дар бораи мушкилот "ҳарчи зудтар" моро ба озмоишҳои фаъол бо асбобҳои оддӣ ва фаҳмо - pinba ва xhprof овард.

Пинба ба мо дар бастаҳои UDP омор дар бораи суръати кори қисмҳои веб-саҳифаҳо дар PHP фиристод ва мо метавонем дар анбори MySQL онлайн бубинем (Pinba бо муҳаррики MySQL-и худ барои таҳлили фаврии рӯйдодҳо меояд) рӯйхати кӯтоҳи мушкилот ва посух додан ба онҳо онхо. Ва xhprof ба мо ба таври худкор имкон дод, ки графикҳои иҷрои сусттарин саҳифаҳои PHP-ро аз муштариён ҷамъоварӣ кунем ва таҳлил кунем, ки чӣ метавонад ба ин оварда расонад - оромона, чой рехтан ё чизи пурқувваттар.

Чанде пеш маҷмӯа бо дигар муҳаррики хеле содда ва фаҳмо дар асоси алгоритми индексатсияи баръакс, ки дар китобхонаи афсонавии Lucene - Elastic/Kibana комилан амалӣ карда шудааст, пур карда шуд. Идеяи оддии сабти бисёрсоҳаи ҳуҷҷатҳо ба шохиси баръакси Lucene дар асоси рӯйдодҳо дар гузоришҳо ва ҷустуҷӯи зуд тавассути онҳо бо истифода аз тақсимоти фасет воқеан муфид буд.

Сарфи назар аз намуди хеле техникии визуализатсияҳо дар Кибана бо мафҳумҳои сатҳи пасти "сатил" "ба боло равон" ва забони аз нав ихтироъшудаи алгебраи релятсионӣ ҳанӯз комилан фаромӯшнашуда, асбоб ба мо дар иҷрои вазифаҳои зерин кӯмак кард:

  • Дар як соати охир муштарии Bitrix24 дар портали p1 чанд хатои PHP дошт ва кадомашон? Фаҳмед, бубахшед ва зуд ислоҳ кунед.
  • Дар 24 соати қаблӣ дар порталҳои Олмон чанд занги видеоӣ анҷом дода шуд, бо кадом сифат ва дар канал/шабака ягон мушкилот вуҷуд дошт?
  • Функсияи система (тавассути C-и мо барои PHP), ки аз манбаъ дар навсозии охирини хидмат тартиб дода шудааст ва ба мизоҷон паҳн шудааст, то чӣ андоза хуб кор мекунад? Оё камбудиҳо вуҷуд доранд?
  • Оё маълумоти муштарӣ ба хотираи PHP мувофиқат мекунад? Оё дар бораи зиёд кардани хотираи ба равандҳо ҷудошуда ягон хатогӣ вуҷуд дорад: "аз хотира"? Ҷустуҷӯ ва безарар кунед.

Ана як мисоли конкретй. Сарфи назар аз санҷиши ҳамаҷониба ва бисёрсатҳа, муштарӣ бо парвандаи хеле ғайристандартӣ ва маълумоти вайроншудаи воридшуда, хатои хашмгин ва ғайричашмдошт гирифт, сирена садо дод ва раванди зуд ислоҳ кардани он оғоз ёфт:

Чӣ гуна мо DataLake-и хеле самаранок ва арзон ташкил кардем ва чаро ин тавр аст

Илова бар ин, кибана ба шумо имкон медиҳад, ки огоҳиномаҳоро дар бораи рӯйдодҳои муайян ташкил кунед ва дар як муддати кӯтоҳ ин асбобро дар ширкат даҳҳо кормандони шӯъбаҳои гуногун - аз дастгирии техникӣ ва таҳия то QA истифода бурданд.

Фаъолияти ҳар як шӯъбаи дохили ширкат барои пайгирӣ ва чен кардан қулай шудааст - ба ҷои таҳлили дастӣ гузоришҳо дар серверҳо, шумо бояд танҳо як маротиба сабтҳои таҳлилро насб кунед ва онҳоро ба кластери эластики фиристед, то лаззат баред, масалан, дар кибана фикр кунед. панели асбобҳо шумораи гурбачаҳои дусари фурӯхташуда, ки дар принтери 3-D дар моҳи охири моҳ чоп шудаанд.

Таҳлили асосии тиҷорат

Ҳама медонанд, ки таҳлили тиҷорат дар ширкатҳо аксар вақт бо истифодаи бениҳоят фаъол, ҳа, Excel оғоз меёбад. Аммо чизи асосӣ ин аст, ки он бо ин тамом намешавад. Google Analytics, ки дар абр асос ёфтааст, инчунин ба оташ сӯзишворӣ илова мекунад - шумо зуд ба чизҳои хуб одат мекунед.

Дар ширкати мутаносиб инкишофёбандаи мо, дар ин ҷо ва дар он ҷо «пайғамбарон»-и кори пуршиддат бо маълумоти калонтар пайдо шуданд. Талабот ба гузоришҳои амиқтар ва гуногунҷанба мунтазам пайдо шуд ва бо кӯшишҳои бачаҳо аз шӯъбаҳои гуногун чанде пеш як ҳалли оддӣ ва амалӣ ташкил карда шуд - омезиши ClickHouse ва PowerBI.

Дар тӯли муддати тӯлонӣ, ин ҳалли чандир хеле кӯмак кард, аммо тадриҷан фаҳмиш пайдо шуд, ки ClickHouse резинӣ нест ва онро ин тавр масхара кардан мумкин нест.

Дар ин ҷо хуб фаҳмидан муҳим аст, ки ClickHouse, ба монанди Druid, ба монанди Vertica, ба монанди Amazon RedShift (ки ба postgres асос ёфтааст) муҳаррикҳои таҳлилӣ мебошанд, ки барои таҳлили хеле қулай оптимизатсия шудаанд (маблағҳо, ҷамъбастҳо, ҳадди ақал-максимум аз рӯи сутун ва чанд пайвастани имконпазир). ), зеро Баръакси MySQL ва дигар пойгоҳи додаҳои (сатр нигаронидашуда), ки ба мо маълум аст, барои нигоҳдории самараноки сутунҳои ҷадвалҳои релятсионӣ ташкил карда шудааст.

Аслан, ClickHouse танҳо як "махзани маълумот" аст, ки бо воридкунии нуқта ба нуқта чандон қулай нест (ҳамин тавр пешбинӣ шудааст, ҳамааш хуб аст), аммо таҳлили гуворо ва маҷмӯи функсияҳои пурқуввати ҷолиб барои кор бо додаҳо. Бале, шумо ҳатто метавонед кластер эҷод кунед - аммо шумо мефаҳмед, ки гурзандозӣ кардани мехҳо бо микроскоп комилан дуруст нест ва мо ба ҷустуҷӯи роҳҳои дигар шурӯъ кардем.

Талабот ба python ва таҳлилгарон

Ширкати мо таҳиягарони зиёде дорад, ки тақрибан ҳар рӯз дар тӯли 10-20 сол дар PHP, JavaScript, C#, C/C++, Java, Go, Rust, Python, Bash код менависанд. Инчунин бисёр маъмурони ботаҷрибаи система ҳастанд, ки зиёда аз як офати комилан аҷиберо аз сар гузаронидаанд, ки ба қонунҳои омор мувофиқат намекунанд (масалан, вақте ки аксарияти дискҳо дар рейд-10 аз зарбаи барқ ​​​​вайрон мешаванд). Дар чунин шароит муддати тӯлонӣ маълум набуд, ки «таҳлилгари питон» чист. Python ба PHP монанд аст, танҳо ном каме дарозтар аст ва дар коди сарчашмаи тарҷумон осори моддаҳои тағирдиҳандаи ақл каме камтар аст. Бо вуҷуди ин, вақте ки гузоришҳои бештари таҳлилӣ эҷод мешуданд, таҳиягарони ботаҷриба аҳамияти тахассуси тангро дар асбобҳо ба монанди numpy, pandas, matplotlib, seaborn бештар фаҳмиданд.
Нақши ҳалкунандаро, эҳтимоли зиёд, аз ҳуш рафтани ногаҳонии кормандон аз омезиши калимаҳои "регрессияи логистикӣ" ва намоиши гузоришдиҳии муассир дар бораи додаҳои калон бо истифода аз ҳа, ҳа, pyspark бозид.

Apache Spark, парадигмаи функсионалии он, ки алгебраи реляционӣ ба он комилан мувофиқат мекунад ва қобилиятҳои он дар таҳиягарони ба MySQL одаткарда чунон таассурот гузоштанд, ки зарурати таҳкими сафҳо бо таҳлилгарони ботаҷриба рӯз то рӯз равшан гардид.

Кӯшишҳои минбаъдаи Apache Spark/Hadoop барои парвоз кардан ва он чизе ки мувофиқи скрипт комилан иҷро нашуд

Бо вуҷуди ин, ба зудӣ маълум шуд, ки ягон чизи системавӣ бо Spark дуруст нест, ё танҳо лозим буд, ки дастҳои худро беҳтар бишӯед. Агар стеки Hadoop/MapReduce/Lucene аз ҷониби барномасозони хеле ботаҷриба сохта шуда бошад, ки ин аён аст, агар шумо ба рамзи сарчашма дар Java бодиққат нигоҳ кунед ё ғояҳои Даг Кутинг дар Люсен, пас Spark ногаҳон бо забони экзотикии Scala навишта шудааст, ки аз нуктаи назари амалй хеле бахснок буда, холо инкишоф наёфта истодааст. Ва коҳиши мунтазами ҳисобҳо дар кластери Spark аз сабаби кори ғайримантиқӣ ва на он қадар шаффоф бо тақсимоти хотира барои кам кардани амалиёт (калидҳои зиёде якбора меоянд) дар атрофи он чизе, ки ҷой барои афзоиш дорад, гало ба вуҷуд овард. Илова бар ин, вазъ аз ҷониби шумораи зиёди бандарҳои аҷиби кушода, файлҳои муваққатӣ дар ҷойҳои номақбул ва вобастагии ҷаҳаннам бадтар шуд, ки боиси он шуд, ки маъмурони система як эҳсосеро пайдо кунанд, ки аз кӯдакӣ маълум буд: нафрати шадид (ё шояд). ба онхо лозим омад, ки дастони худро бо собун шуст).

Дар натиҷа, мо якчанд лоиҳаҳои таҳлилии дохилиро, ки фаъолона истифода мебаранд Apache Spark (аз ҷумла Spark Streaming, Spark SQL) ва экосистемаи Hadoop (ва ғайра ва ғайра) "зинда мондем". Сарфи назар аз он, ки бо гузашти вақт мо омода кардан ва назорат кардани "он"-ро хеле хуб ёд гирифтем ва "он" амалан бо сабаби тағирёбии хусусияти маълумот ва номутавозунии хэшинги якхелаи RDD ногаҳон қатъ шуд, хоҳиши гирифтани чизе аллакай омода аст. , навсозӣ ва идорашаванда дар ҷое дар абр қавитар ва қавитар шуд. Маҳз дар ҳамин вақт мо кӯшиш кардем, ки маҷмӯаи абрии тайёри Amazon Web Services -ро истифода барем - EMR ва, баъдан, кӯшиш ба ҳалли мушкилот бо истифода аз он. EMR ин Apache Spark мебошад, ки аз ҷониби Amazon бо нармафзори иловагӣ аз экосистема омода шудааст, ба монанди сохтани Cloudera/Hortonworks.

Нигоҳдории файлҳои резинӣ барои таҳлил эҳтиёҷоти фаврӣ аст

Тачрибаи «пухтани» Hadoop/Spark бо сухтани узвхои гуногуни бадан бехуда набуд. Зарурати эҷоди як анбори файлии ягона, арзон ва боэътимод, ки ба хатогиҳои сахтафзор тобовар бошад ва дар он файлҳоро дар форматҳои гуногун аз системаҳои гуногун нигоҳ доштан ва намунаҳои самаранок ва каммасраф барои ҳисоботҳо аз ин додаҳо имконпазир бошад, торафт бештар мегардад. равшан.

Ман инчунин мехостам, ки навсозии нармафзори ин платформа бо хондани пайҳои 20-саҳифаи Java ва таҳлили гузоришҳои муфассали кластер бо истифода аз Spark History Server ва шишаи равшанкунандаи пуштибонӣ ба даҳшати солинавӣ табдил наёбад. Ман мехостам як асбоби оддӣ ва шаффоф дошта бошам, ки ғаввоси мунтазамро дар зери капот талаб намекунад, агар дархости стандартии MapReduce таҳиякунанда иҷро нашавад, вақте ки корманди кам кардани маълумот аз хотираи алгоритми тақсимоти манбаъ на он қадар хуб интихобшуда аз хотира афтид.

Оё Amazon S3 барои DataLake номзад аст?

Таҷриба бо Hadoop/MapReduce ба мо фаҳмонд, ки мо ба системаи файлии миқёспазир, боэътимод ва коргарони миқёспазир дар болои он ниёз дорем, то ба маълумот наздиктар шаванд, то маълумотро тавассути шабака нагузаронем. Коргарон бояд маълумотро дар форматҳои гуногун хонанд, аммо беҳтараш маълумоти нолозимро нахонанд ва маълумотро пешакӣ дар форматҳои барои коргарон мувофиқ нигоҳ дошта тавонанд.

Бори дигар, идеяи асосӣ. Хоҳиши "рехтани" маълумоти калон ба як муҳаррики таҳлилии кластери вуҷуд надорад, ки дер ё зуд пахш мешавад ва шумо бояд онро зишт кунед. Ман мехоҳам файлҳоро, танҳо файлҳоро дар формати фаҳмо нигоҳ дорам ва бо истифода аз абзорҳои гуногун, вале фаҳмо дар онҳо дархостҳои муассири таҳлилӣ иҷро кунам. Ва файлҳо дар форматҳои гуногун бештар ва бештар хоҳанд буд. Ва беҳтар аст, ки на муҳаррик, балки маълумоти манбаъро буридан. Мо ба DataLake васеъшаванда ва универсалӣ ниёз дорем, мо тасмим гирифтем...

Чӣ мешавад, агар шумо файлҳоро дар анбори абрии миқёспазир ва маъруфи Amazon S3 нигоҳ доред, бидуни омода кардани косаҳои худ аз Hadoop?

Равшан аст, ки маълумоти шахсӣ "паст" аст, аммо дар бораи дигар маълумот чӣ гуфтан мумкин аст, агар мо онро аз он ҷо бароварда, "онро самаранок идора кунем"?

Экосистемаи Cluster-bigdata-analytics Amazon Web Services - бо суханони хеле содда

Аз рӯи таҷрибаи мо бо AWS, Apache Hadoop/MapReduce дар он ҷо муддати тӯлонӣ зери соусҳои гуногун, масалан дар хидмати DataPipeline фаъолона истифода мешуд (ман ба ҳамкасбони худ ҳасад мебарам, онҳо тарзи дуруст омода кардани онро омӯхтанд). Дар ин ҷо мо нусхаҳои эҳтиётиро аз хидматҳои гуногун аз ҷадвалҳои DynamoDB насб мекунем:
Чӣ гуна мо DataLake-и хеле самаранок ва арзон ташкил кардем ва чаро ин тавр аст

Ва онҳо чандин сол боз дар кластерҳои дарунсохташудаи Hadoop/MapReduce ба мисли механизми соат кор мекунанд. "Танзим кунед ва фаромӯш кунед":

Чӣ гуна мо DataLake-и хеле самаранок ва арзон ташкил кардем ва чаро ин тавр аст

Шумо инчунин метавонед тавассути насб кардани ноутбукҳои Jupiter дар абр барои таҳлилгарон ва бо истифода аз хидмати AWS SageMaker барои таълим додан ва ҷойгир кардани моделҳои AI дар набард ба шайтанизми додаҳо самаранок машғул шавед. Ин барои мо чӣ гуна аст:

Чӣ гуна мо DataLake-и хеле самаранок ва арзон ташкил кардем ва чаро ин тавр аст

Ва ҳа, шумо метавонед ноутбукро барои худ ё таҳлилгари абр бигиред ва онро ба кластери Hadoop/Spark пайваст кунед, ҳисобҳоро анҷом диҳед ва ҳама чизро ба кор баред:

Чӣ гуна мо DataLake-и хеле самаранок ва арзон ташкил кардем ва чаро ин тавр аст

Воқеан барои лоиҳаҳои таҳлилии инфиродӣ қулай аст ва барои баъзеҳо мо хидмати EMR-ро барои ҳисобҳои васеъмиқёс ва таҳлил бомуваффақият истифода бурдем. Дар бораи ҳалли система барои DataLake чӣ гуфтан мумкин аст, оё он кор мекунад? Дар ин лахза мо дар дами умеду навмедй будем ва чустучуро давом додем.

AWS Glue - Apache Spark бо стероидҳо бастабандишуда

Маълум шуд, ки AWS версияи шахсии стеки "Hive/Pig/Spark"-ро дорад. Нақши Hive, яъне. Каталоги файлҳо ва намудҳои онҳо дар DataLake аз ҷониби хидмати "Каталоги маълумот" иҷро карда мешавад, ки мутобиқати онро бо формати Apache Hive пинҳон намекунад. Шумо бояд ба ин хадамот маълумот дар бораи дар куҷо ҷойгир будани файлҳои шумо ва дар кадом формат будани онҳо илова кунед. Маълумот метавонад на танҳо дар s3, балки дар пойгоҳи додаҳо бошад, аммо ин мавзӯи ин паём нест. Ин аст, ки феҳристи маълумотҳои DataLake мо чӣ гуна ташкил карда шудааст:

Чӣ гуна мо DataLake-и хеле самаранок ва арзон ташкил кардем ва чаро ин тавр аст

Файлҳо ба қайд гирифта шудаанд, олӣ. Агар файлҳо нав карда шуда бошанд, мо краулерҳоро дастӣ ё аз рӯи ҷадвал оғоз мекунем, ки маълумот дар бораи онҳо аз кӯл навсозӣ мешавад ва онҳоро захира мекунад. Он гоҳ маълумот аз кӯл метавонад коркард карда шавад ва натиҷаҳо ба ҷое бор карда шаванд. Дар соддатарин ҳолат, мо инчунин ба s3 бор мекунем. Коркарди маълумотро дар ҳама ҷо анҷом додан мумкин аст, аммо тавсия дода мешавад, ки коркардро дар кластери Apache Spark бо истифода аз қобилиятҳои пешрафта тавассути AWS Glue API танзим кунед. Дарвоқеъ, шумо метавонед бо истифода аз китобхонаи pyspark рамзи хуби кӯҳна ва шиноси python-ро гиред ва иҷрои онро дар N гиреҳи кластери дорои иқтидор бо мониторинг бидуни кофтани дари Hadoop ва кашола кардани контейнерҳои докер-мокер ва бартараф кардани ихтилофҳои вобастагӣ танзим кунед. .

Боз як фикри оддӣ. Зарурати танзим кардани Apache Spark нест, ба шумо танҳо лозим аст, ки рамзи python-ро барои pyspark нависед, онро дар мизи кории худ санҷед ва сипас онро дар як кластери калон дар абр иҷро кунед ва муайян кунед, ки маълумот дар куҷост ва дар куҷо гузоштани натиҷа. Баъзан ин зарур ва муфид аст ва дар ин ҷо мо онро чӣ тавр танзим мекунем:

Чӣ гуна мо DataLake-и хеле самаранок ва арзон ташкил кардем ва чаро ин тавр аст

Ҳамин тариқ, агар ба шумо лозим ояд, ки чизеро дар кластери Spark бо истифода аз маълумот дар s3 ҳисоб кунед, мо дар python/pyspark код менависем, онро месанҷем ва ба абр барори кор мекунем.

Дар бораи оркестр чӣ гуфтан мумкин аст? Чӣ мешавад, агар вазифа афтод ва нопадид шавад? Бале, пешниҳод карда мешавад, ки қубури зебо бо услуби Apache Pig сохта шавад ва мо ҳатто онҳоро санҷидаем, аммо ҳоло мо тасмим гирифтем, ки оркестри амиқ фармоишгари худро дар PHP ва JavaScript истифода барем (ман мефаҳмам, ки диссонанси маърифатӣ вуҷуд дорад, аммо он кор мекунад, зеро сол ва бе хато).

Чӣ гуна мо DataLake-и хеле самаранок ва арзон ташкил кардем ва чаро ин тавр аст

Формати файлҳои дар кӯл нигоҳ дошташуда калиди иҷроиш аст

Фаҳмидани ду нуктаи муҳими дигар хеле ва хеле муҳим аст. Барои он ки дархостҳо дар бораи маълумотҳои файлӣ дар кӯл ҳарчи зудтар иҷро шаванд ва ҳангоми илова кардани маълумоти нав корҳо паст нашаванд, шумо бояд:

  • Сутунҳои файлҳоро алоҳида нигоҳ доред (то ба шумо лозим нест, ки ҳамаи сатрҳоро хонед, то фаҳмед, ки дар сутунҳо чӣ мавҷуд аст). Барои ин мо формати паркетро бо фишурда гирифтем
  • Хеле муҳим аст, ки файлҳоро ба ҷузвдонҳо тақсим кунед: забон, сол, моҳ, рӯз, ҳафта. Муҳаррикҳое, ки ин навъи пора-пораро мефаҳманд, танҳо ба ҷузвдонҳои зарурӣ, бидуни аз назар гузарондани тамоми маълумот дар як саф нигоҳ мекунанд.

Аслан, бо ин роҳ, шумо маълумоти сарчашмаро дар шакли муассиртарин барои муҳаррикҳои таҳлилии дар боло овезон ҷойгир мекунед, ки ҳатто дар ҷузвдонҳои ҷудошуда метавонанд танҳо сутунҳои заруриро аз файлҳо интихоб кунанд ва хонанд. Ба шумо лозим нест, ки маълумотро дар ягон ҷо "пур кунед" (нигаҳдорӣ танҳо дарида мешавад) - танҳо фавран онро оқилона дар системаи файлӣ дар формати дуруст ҷойгир кунед. Албатта, дар ин ҷо бояд равшан бошад, ки нигоҳ доштани файли бузурги csv дар DataLake, ки бояд аввал сатр ба сатр аз ҷониби кластер барои истихроҷи сутунҳо хонда шавад, чандон тавсия дода намешавад. Дар бораи ду нуктаи дар боло зикршуда бори дигар фикр кунед, агар ҳанӯз маълум набошад, ки чаро ин ҳама рух медиҳад.

AWS Athena - қуттии қуттӣ

Ва он гоҳ, ҳангоми сохтани кӯл, мо тасодуфан ба Амазонка Афина дучор шудем. Ногаҳон маълум шуд, ки бо бодиққат ҷойгир кардани файлҳои азими журнали мо ба ҷузвдонҳо дар формати сутуни дуруст (паркет), шумо метавонед хеле зуд аз онҳо интихоби бениҳоят иттилоотӣ созед ва БЕ кластери Apache Spark/Glue гузоришҳо созед.

Муҳаррики Athena, ки бо маълумот дар s3 кор мекунад, ба афсонавӣ асос ёфтааст Presto - намояндаи оилаи равишҳои MPP (коркарди параллелӣ) ба коркарди додаҳо, гирифтани маълумот аз s3 ва Hadoop то Кассандра ва файлҳои матнии оддӣ. Шумо танҳо лозим аст, ки аз Athena дархост кунед, ки дархости SQL-ро иҷро кунад ва он гоҳ ҳама чиз "зуд ва ба таври худкор кор мекунад". Қайд кардан муҳим аст, ки Афина "ақл" аст, он танҳо ба ҷузвдонҳои зарурии ҷудошуда меравад ва танҳо сутунҳои дар дархост заруриро мехонад.

Нархи дархостҳо ба Афина низ ҷолиб аст. Мо пардохт мекунем ҳаҷми маълумоти сканшуда. Онхое. на барои шумораи мошинҳо дар кластер дар як дақиқа, балки... барои маълумоте, ки воқеан дар 100-500 мошин скан шудааст, танҳо маълумоте, ки барои анҷом додани дархост зарур аст.

Ва бо дархости танҳо сутунҳои зарурӣ аз ҷузвдонҳои дуруст тақсимшуда маълум шуд, ки хидмати Athena ба мо дар як моҳ даҳҳо доллар арзиш дорад. Хуб, олӣ, қариб ройгон, дар муқоиса бо таҳлили кластерҳо!

Дар омади гап, ин аст, ки мо маълумоти худро дар s3 тақсим мекунем:

Чӣ гуна мо DataLake-и хеле самаранок ва арзон ташкил кардем ва чаро ин тавр аст

Дар натиҷа, дар як муддати кӯтоҳ, шӯъбаҳои комилан мухталифи ширкат, аз амнияти иттилоотӣ то таҳлил, ба Афина фаъолона муроҷиат карданд ва ба зудӣ дар сонияҳо аз маълумоти "калон" дар тӯли муддати тӯлонӣ ҷавобҳои муфид мегиранд: моҳҳо, ним сол ва гайра П.

Аммо мо пештар рафтем ва барои ҷавоб ба абр рафтан гирифтем тавассути ронандаи ODBC: таҳлилгар дархости SQL-ро дар консоли шинос менависад, ки дар 100-500 мошин "барои пенниҳо" маълумотро ба s3 мефиристад ва одатан дар чанд сония ҷавоб бармегардонад. Бароҳат. Ва зуд. Ман то ҳол бовар карда наметавонам.

Дар натиҷа, тасмим гирифтем, ки маълумотро дар s3, дар формати самараноки сутунӣ ва бо тақсимоти оқилонаи маълумот дар ҷузвдонҳо нигоҳ дорем... мо DataLake ва як муҳаррики таҳлилии зуд ва арзон - ройгон гирифтем. Ва ӯ дар ширкат маъруфияти зиёд пайдо кард, зеро... SQL-ро мефаҳмад ва фармоишҳои миқдорро нисбат ба оғоз/қатъ/танзими кластерҳо зудтар иҷро мекунад. "Ва агар натиҷа якхела бошад, чаро бештар пардохт кунед?"

Дархост ба Афина чунин менамояд. Агар хоҳед, албатта, шумо метавонед кофӣ ташкил кунед дархости мураккаб ва бисёрсаҳифаи SQL, вале мо бо гурухбандии оддй махдуд мешавем. Биёед бубинем, ки муштарӣ чанд ҳафта пеш дар гузоришҳои веб-сервер кадом кодҳои посухро дошт ва боварӣ ҳосил кунем, ки ягон хатогӣ вуҷуд надорад:

Чӣ гуна мо DataLake-и хеле самаранок ва арзон ташкил кардем ва чаро ин тавр аст

натиҷаҳои

Пас аз гузаштан, нагӯем, ки роҳи тӯлонӣ, вале дардовар, ҳамеша ба таври кофӣ баҳодиҳии хатарҳо ва сатҳи мураккабӣ ва арзиши дастгирӣ, мо як роҳи ҳалли DataLake ва таҳлил ёфтем, ки ҳеҷ гоҳ моро ҳам бо суръат ва ҳам арзиши моликият писанд намекунад.

Маълум шуд, ки сохтани DataLake-и муассир, зуд ва арзон барои эҳтиёҷоти шӯъбаҳои комилан гуногуни ширкат комилан дар ихтиёри ҳатто таҳиягарони ботаҷриба аст, ки ҳеҷ гоҳ ба ҳайси меъмор кор накардаанд ва намедонанд, ки чӣ гуна квадратҳоро дар квадратҳо кашанд. тирҳо ва 50 истилоҳро аз экосистемаи Hadoop донед.

Дар оғози сафар сарам аз боғҳои зиёди ҳайвоноти ваҳшӣ аз нармафзори кушоду пӯшида ва дарки бори масъулият дар назди наслҳо ҷудо мешуд. Танҳо сохтани DataLake-и худро аз абзорҳои оддӣ оғоз кунед: nagios/munin -> elastic/kibana -> Hadoop/Spark/s3..., ҷамъоварии фикру мулоҳизаҳо ва дарки амиқи физикаи равандҳои ба амаломада. Ҳама чизи мураккаб ва норавшан - онро ба душманон ва рақибон диҳед.

Агар шумо нахоҳед, ки ба абр биравед ва лоиҳаҳои кушодаасосро дастгирӣ, навсозӣ ва часпондан мехоҳед, шумо метавонед як схемаи шабеҳи мо дар маҳал, дар мошинҳои офиси арзон бо Hadoop ва Presto дар боло созед. Чизи асосиаш он аст, ки наистед ва ба пеш ҳаракат кунед, ҳисоб кунед, ҳалли оддӣ ва возеҳро ҷустуҷӯ кунед ва ҳама чиз бешубҳа амалӣ мешавад! Муваффақият ба ҳама ва боз дидани шумо!

Манбаъ: will.com

Илова Эзоҳ