በጣም ቀልጣፋ እና ርካሽ ዳታሌክን እንዴት እንዳደራጀን እና ለምን

ብዙ ዝግጁ የሆኑ ክፍት ምንጭ መሳሪያዎችን በፍጥነት እና በቀላሉ ማገናኘት በምትችልበት እና በ "ባለብዙ ፊደሎች" ውስጥ ሳትገባ በተደራራቢ ፍሰት ምክር መሰረት "ንቃተ ህሊናህ ጠፍቶ" ማዘጋጀት በምትችልበት እና በሚያስደንቅ ሁኔታ ላይ እንኖራለን። እነሱን ወደ ንግድ ሥራ ። እና ማዘመን/ማስፋፋት ሲፈልጉ ወይም አንድ ሰው በድንገት ሁለት ማሽኖችን እንደገና ሲጀምር - አንድ ዓይነት አሳሳች መጥፎ ህልም መጀመሩን ይገነዘባሉ ፣ ሁሉም ነገር ከማወቅ በላይ በጣም የተወሳሰበ ሆኗል ፣ ወደ ኋላ መመለስ የለም ፣ መጪው ጊዜ ግልጽ ያልሆነ እና ደህንነቱ የተጠበቀ ነው ፣ ከፕሮግራም ይልቅ ንቦችን ማራባት እና አይብ ማድረግ.

ብዙ ልምድ ያካበቱ የስራ ባልደረቦች፣ ጭንቅላታቸው በትልች የተጨማለቀ በመሆኑ ቀድሞውንም ግራጫማ በሆነ መልኩ የ“ኮንቴይነር” እሽጎች በ“ኪዩብ” በደርዘን በሚቆጠሩ አገልጋዮች ላይ “በፋሽን ቋንቋዎች” አብሮ በተሰራው ድጋፍ በሚያስደንቅ ሁኔታ በፍጥነት ማሰማራት እያሰቡ አይደለም። ያልተመሳሰለ I/O የማያግድ፣ በመጠኑ ፈገግ ይበሉ። እናም በፀጥታ "man ps" ን እንደገና ማንበብ ቀጥለዋል, ዓይኖቻቸው እስኪደማ ድረስ ወደ "nginx" ምንጭ ኮድ ውስጥ ዘልቀው ገቡ እና የክፍል ሙከራዎችን ይፃፉ, ይፃፉ, ይፃፉ. ባልደረቦች በጣም የሚያስደስት ነገር እንደሚመጣ ያውቃሉ "ይህ ሁሉ" አንድ ቀን ምሽት ላይ በአዲስ ዓመት ዋዜማ ላይ. እና እነሱ የዩኒክስን ተፈጥሮ በጥልቀት በመረዳት ፣ በቃል የተተረጎመው TCP/IP የስቴት ሠንጠረዥ እና መሰረታዊ የመደርደር-ፍለጋ ስልተ ቀመሮችን በመረዳት ብቻ ነው የሚረዳቸው። ጩኸት ሲመታ ስርዓቱን ወደ ህይወት ለመመለስ.

ኦህ አዎ፣ ትንሽ ተዘናግቻለሁ፣ ግን የምጠብቀውን ሁኔታ እንዳስተላልፍ ተስፋ አደርጋለሁ።
ዛሬ በኩባንያው ውስጥ ያሉትን አብዛኛዎቹን የትንታኔ ተግባራት ሙሉ ለሙሉ ለተለያዩ መዋቅራዊ ክፍሎች የሚፈታ ምቹ እና ርካሽ የሆነ ቁልል ለ DataLake በማሰማራት ልምዳችንን ማካፈል እፈልጋለሁ።

ከተወሰነ ጊዜ በፊት, እኛ ኩባንያዎች እየጨመረ ምርት እና ቴክኒካዊ ትንተናዎች (ማሽን መማሪያ ውስጥ ያለውን ኬክ ላይ ያለውን ኬክ መጥቀስ አይደለም) እና አዝማሚያዎችን እና አደጋዎችን ለመረዳት ሁለቱም ምርት እና ቴክኒካዊ ትንታኔዎች ፍሬ እንደሚያስፈልጋቸው መረዳት ደረስን - መሰብሰብ እና መተንተን ያስፈልገናል. ተጨማሪ እና ተጨማሪ መለኪያዎች.

በ Bitrix24 ውስጥ መሰረታዊ ቴክኒካዊ ትንታኔዎች

ከበርካታ አመታት በፊት፣ በአንድ ጊዜ የBitrix24 አገልግሎት ሲጀመር፣ በመሠረተ ልማት ውስጥ ያሉ ችግሮችን በፍጥነት ለማየት እና ቀጣዩን ደረጃ ለማቀድ የሚያስችል ቀላል እና አስተማማኝ የትንታኔ መድረክ ለመፍጠር ጊዜ እና ግብዓቶችን በንቃት አውለናል። እርግጥ ነው, በተቻለ መጠን ቀላል እና ለመረዳት የሚቻሉ የተዘጋጁ መሳሪያዎችን መውሰድ ተገቢ ነበር. በውጤቱም, nagios ለክትትል እና ሙኒን ለመተንተን እና ምስላዊነት ተመርጧል. አሁን በ nagios ውስጥ በሺዎች የሚቆጠሩ ቼኮች አሉን ፣ በመቶዎች የሚቆጠሩ ገበታዎች በሙኒን ፣ እና ባልደረቦቻችን በየቀኑ በተሳካ ሁኔታ ይጠቀማሉ። መለኪያዎቹ ግልጽ ናቸው, ግራፎች ግልጽ ናቸው, ስርዓቱ ለብዙ አመታት በአስተማማኝ ሁኔታ እየሰራ ነው እና አዳዲስ ፈተናዎች እና ግራፎች በየጊዜው ይጨመራሉ: አዲስ አገልግሎት ወደ ሥራ ስንገባ, በርካታ ሙከራዎችን እና ግራፎችን እንጨምራለን. መልካም ምኞት.

በ Pulse ላይ ያለ ጣት - የላቀ የቴክኒክ ትንታኔ

ስለ ችግሮች መረጃን "በተቻለ ፍጥነት" የመቀበል ፍላጎት በቀላል እና ለመረዳት በሚቻሉ መሳሪያዎች - pinba እና xhprof ወደ ንቁ ሙከራዎች አመራን።

ፒንባ በፒኤችፒ ውስጥ ያሉ የድረ-ገጾች ክፍሎች የስራ ፍጥነት በ UDP ፓኬቶች ውስጥ ስታቲስቲክስን ልኮልናል ፣ እና በመስመር ላይ በ MySQL ማከማቻ ውስጥ ማየት እንችላለን (ፒንባ ለፈጣን ክስተት ትንታኔ የራሱ MySQL ሞተር አለው) አጭር የችግሮች ዝርዝር እና ምላሽ መስጠት እንችላለን ። እነርሱ። እና xhprof በራስ-ሰር የዘገየውን የ PHP ገጾችን አፈፃፀም ግራፎች ከደንበኞች እንድንሰበስብ እና ወደዚህ ምን ሊመራ እንደሚችል እንድንመረምር ፈቅዶልናል - በእርጋታ ፣ ሻይ በማፍሰስ ወይም የበለጠ ጠንካራ።

ከተወሰነ ጊዜ በፊት፣ የመሳሪያ ኪቱ በተገላቢጦሽ ጠቋሚ ስልተ-ቀመር መሠረት በሌላ ቀላል እና ለመረዳት በሚቻል ሞተር ተሞልቷል፣ በአፈ ታሪክ ሉሴን ቤተ-መጽሐፍት ውስጥ - ላስቲክ/ኪባና። በምዝግብ ማስታወሻዎች ውስጥ በተከሰቱት ክስተቶች ላይ በመመርኮዝ ሰነዶችን ወደ ተገላቢጦሽ የሉሴን ኢንዴክስ የመቅዳት ቀላል ሀሳብ እና የገጽታ ክፍፍልን በመጠቀም ፈጣን ፍለጋ በእውነት ጠቃሚ ሆኖ ተገኝቷል።

በኪባና ዝቅተኛ ደረጃ ፅንሰ-ሀሳቦች እንደ “ባልዲ” “ወደ ላይ የሚፈሰው” እና ሙሉ በሙሉ ያልተረሳ የግንኙነት አልጀብራ ቋንቋ እንደገና የተሻሻለ የእይታ እይታዎች በኪባና ቴክኒካዊ ቢመስሉም መሣሪያው በሚከተሉት ተግባራት ውስጥ በደንብ ይረዳናል ።

  • ባለፈው ሰዓት የBitrix24 ደንበኛ በp1 ፖርታል ላይ ስንት የPHP ስህተቶች ነበሩት እና የትኞቹስ? ይረዱ ፣ ይቅር ይበሉ እና በፍጥነት ያርሙ።
  • በጀርመን ውስጥ ባለፉት 24 ሰዓታት ውስጥ ምን ያህል የቪዲዮ ጥሪዎች በፖርታል ላይ ተደርገዋል፣ በምን አይነት ጥራት እና በሰርጡ/በኔትወርክ ላይ ችግሮች ነበሩባቸው?
  • ከቅርብ ጊዜ የአገልግሎት ማሻሻያ ከምንጩ የተጠናቀረ እና ለደንበኞች የተለቀቀው የስርአቱ ተግባር (የእኛ C ቅጥያ ለ PHP) ምን ያህል ይሰራል? Segfaults አሉ?
  • የደንበኛ ውሂብ ከ PHP ማህደረ ትውስታ ጋር ይጣጣማል? ለሂደቶች የተመደበውን ማህደረ ትውስታን በማለፍ ላይ ስህተቶች አሉ "ከማስታወስ ውጪ"? አግኝ እና ገለልተኛ አድርግ.

አንድ ተጨባጭ ምሳሌ ይኸውና. የተሟላ እና ባለብዙ-ደረጃ ሙከራ ቢኖርም ደንበኛው በጣም መደበኛ ያልሆነ መያዣ እና የተበላሸ የግቤት ውሂብ ፣ የሚያበሳጭ እና ያልተጠበቀ ስህተት ተቀበለ ፣ ሳይሪን ነፋ እና በፍጥነት የመጠገን ሂደት ተጀመረ።

በጣም ቀልጣፋ እና ርካሽ ዳታሌክን እንዴት እንዳደራጀን እና ለምን

በተጨማሪም ኪባና ለተገለጹት ዝግጅቶች ማሳወቂያዎችን እንዲያደራጁ ይፈቅድልዎታል ፣ እና በአጭር ጊዜ ውስጥ በኩባንያው ውስጥ ያለው መሳሪያ ከተለያዩ ዲፓርትመንቶች በደርዘን የሚቆጠሩ ሰራተኞች ጥቅም ላይ መዋል ጀመረ - ከቴክኒካዊ ድጋፍ እና ልማት እስከ QA።

በኩባንያው ውስጥ ያለው የማንኛውም ክፍል እንቅስቃሴ ለመከታተል እና ለመለካት ምቹ ሆኗል - በአገልጋዮች ላይ ምዝግብ ማስታወሻዎችን በእጅ ከመተንተን አንድ ጊዜ የመተንተን ምዝግብ ማስታወሻዎችን ማዘጋጀት እና ለመዝናናት ወደ ላስቲክ ክላስተር መላክ ያስፈልግዎታል ፣ ለምሳሌ ፣ በኪባና ውስጥ ማሰላሰል። ዳሽቦርድ ባለፈው የጨረቃ ወር በ3-ዲ አታሚ ላይ የታተሙት የተሸጡ ባለ ሁለት ጭንቅላት ድመቶች ብዛት።

መሰረታዊ የንግድ ትንታኔ

በኩባንያዎች ውስጥ የንግድ ሥራ ትንታኔዎች ብዙውን ጊዜ የሚጀምሩት እጅግ በጣም ንቁ በሆነ አጠቃቀም እንደሆነ ሁሉም ሰው ያውቃል። ግን ዋናው ነገር እዚያ አያበቃም. ክላውድ ላይ የተመሰረተ ጎግል አናሌቲክስ እሳቱ ላይ ነዳጅ ይጨምራል - በፍጥነት ጥሩውን ነገር መልመድ ትጀምራለህ።

በስምምነት በማደግ ላይ ባለው ኩባንያችን ውስጥ፣ እዚህ እና እዚያ የበለጠ የተጠናከረ ሥራ ያላቸው ትልቅ መረጃ ያላቸው “ነቢያት” መታየት ጀመሩ። የበለጠ ጥልቅ እና ዘርፈ ብዙ ሪፖርቶች አስፈላጊነት በየጊዜው መታየት ጀመረ, እና ከተለያዩ ክፍሎች የመጡ ወንዶች ጥረት, ከጥቂት ጊዜ በፊት ቀላል እና ተግባራዊ መፍትሄ ተዘጋጅቷል - ClickHouse እና PowerBI ጥምረት.

ለረጅም ጊዜ ይህ ተለዋዋጭ መፍትሄ ብዙ ረድቷል, ነገር ግን ቀስ በቀስ መረዳት ጀመረ ClickHouse ጎማ እንዳልሆነ እና እንደዚያ ሊቀለድ አይችልም.

እዚህ ላይ ClickHouse፣ ልክ እንደ ድሩይድ፣ እንደ ቬርቲካ፣ እንደ Amazon RedShift (በፖስታ ላይ የተመሰረተ) የትንታኔ ሞተሮች ለትክክለኛ ምቹ ትንታኔዎች የተመቻቹ መሆናቸውን በደንብ መረዳት አስፈላጊ ነው ( ድምር፣ ድምር፣ በትንሹ-ከፍተኛ በአምድ እና ጥቂት ሊሆኑ የሚችሉ መቀላቀሎች። ), ምክንያቱም እንደ MySQL እና ለእኛ ከሚታወቁ ሌሎች (ረድፎች-ተኮር) የውሂብ ጎታዎች በተለየ የግንኙነት ጠረጴዛዎች አምዶችን በብቃት ለማከማቸት የተደራጀ።

በመሠረቱ፣ ClickHouse የበለጠ አቅም ያለው “ዳታቤዝ” ነው፣ በጣም ምቹ ያልሆነ ነጥብ-በ-ነጥብ ማስገባት (እንደዛ ነው የታሰበው፣ ሁሉም ነገር ደህና ነው)፣ ግን አስደሳች ትንታኔዎች እና ከውሂብ ጋር ለመስራት አስደሳች ኃይለኛ ተግባራት ስብስብ። አዎ፣ ክላስተር እንኳን መፍጠር ትችላለህ - ግን ምስማርን በአጉሊ መነጽር መዶሻ ሙሉ በሙሉ ትክክል እንዳልሆነ ተረድተሃል እና ሌሎች መፍትሄዎችን መፈለግ ጀመርን።

የፓይቶን እና ተንታኞች ፍላጎት

ድርጅታችን በየቀኑ ማለት ይቻላል ለ10-20 ዓመታት በPHP፣ JavaScript፣ C#፣ C/C++፣ Java፣ Go፣ Rust፣ Python፣ Bash ኮድ የሚፅፉ ብዙ ገንቢዎች አሉት። ከስታቲስቲክስ ህግጋት ጋር የማይጣጣም ከአንድ በላይ ፍጹም አስገራሚ አደጋ ያጋጠማቸው ብዙ ልምድ ያላቸው የስርዓት አስተዳዳሪዎች አሉ (ለምሳሌ በወረራ-10 ውስጥ ያሉት አብዛኛዎቹ ዲስኮች በጠንካራ መብረቅ ሲወድሙ)። በእንደዚህ ዓይነት ሁኔታዎች ውስጥ ለረጅም ጊዜ "የፓይቶን ተንታኝ" ምን እንደሆነ ግልጽ አልነበረም. Python ልክ እንደ ፒኤችፒ ነው፣ ስሙ ብቻ ትንሽ ረዘም ያለ ነው እና በአስተርጓሚው ምንጭ ኮድ ውስጥ አእምሮን የሚቀይሩ ንጥረ ነገሮች ትንሽ ያነሱ ናቸው። ነገር ግን፣ ከጊዜ ወደ ጊዜ የትንታኔ ዘገባዎች ሲፈጠሩ፣ ልምድ ያካበቱ ገንቢዎች እንደ numpy፣ pandas፣ matplotlib፣ seaborn ባሉ መሳሪያዎች ውስጥ ጠባብ ስፔሻላይዜሽን አስፈላጊነትን ይበልጥ መረዳት ጀመሩ።
ወሳኙ ሚና የተጫወተው ፣ ምናልባትም ፣ “የሎጂስቲክስ ሪግሬሽን” ከሚሉት ቃላት ጥምረት እና አዎ ፣ አዎ ፣ ፒስፓርክን በመጠቀም የሰራተኞች ድንገተኛ ራስን መሳት እና ውጤታማ ዘገባዎችን በማሳየት ነው።

Apache Spark፣ ተዛማች አልጀብራ በትክክል የሚገጣጠምበት የተግባር ዘይቤው፣ እና አቅሙ MySQLን በለመዱት ገንቢዎች ላይ እንዲህ አይነት ስሜት ፈጥሮ ነበር፣ ስለሆነም ልምድ ካላቸው ተንታኞች ጋር ደረጃዎችን ማጠናከር አስፈላጊነት እንደ ቀን ግልጽ ሆነ።

ተጨማሪ የ Apache Spark/Hadoop ለማንሳት የተደረጉ ሙከራዎች እና በስክሪፕቱ መሰረት ያልሄዱት

ሆኖም፣ ብዙም ሳይቆይ የሆነ ነገር በስፓርክ ላይ በስርዓት ትክክል እንዳልሆነ ግልጽ ሆነ፣ ወይም በቀላሉ እጅዎን በተሻለ ሁኔታ መታጠብ አስፈላጊ ነበር። የHadoop/MapReduce/Lucene ቁልል የተሰራው በቂ ልምድ ባላቸው ፕሮግራመሮች ከሆነ፣ በጃቫ ውስጥ ያለውን የምንጭ ኮድ ወይም በሉሴን ውስጥ ያለውን የዶግ መቁረጫ ሃሳቦችን በቅርበት ከተመለከቷት ስፓርክ በድንገት በስካላ ልዩ ቋንቋ ተጽፏል። ከተግባራዊነት አንፃር በጣም አወዛጋቢ እና በአሁኑ ጊዜ እያደገ አይደለም. እና በስፓርክ ክላስተር ላይ ያለው መደበኛ ስሌት አመክንዮአዊ ያልሆነ እና በጣም ግልፅ ያልሆነ ስራ በማስታወሻ ቅነሳ ስራዎች (ብዙ ቁልፎች በአንድ ጊዜ ይመጣሉ) ለማደግ ቦታ ያለው ነገር በዙሪያው እንዲፈጠር አድርጓል። በተጨማሪም ፣ ሁኔታው ​​​​በተለያዩ እንግዳ ክፍት ወደቦች ፣ ጊዜያዊ ፋይሎች በጣም ለመረዳት በሚያስቸግሩ ቦታዎች እና በገሃነም ጥገኛ ገሃነም - ሁኔታው ​​ተባብሷል - ይህም የስርዓት አስተዳዳሪዎች ከልጅነታቸው ጀምሮ የሚታወቅ አንድ ስሜት እንዲኖራቸው አድርጓል - ኃይለኛ ጥላቻ (ወይም ምናልባት ሊሆን ይችላል) እጃቸውን በሳሙና መታጠብ ያስፈልጋቸዋል).

በውጤቱም፣ Apache Spark (ስፓርክ ዥረትን፣ ስፓርክ SQLን ጨምሮ) እና Hadoop ስነ-ምህዳር (ወዘተ እና የመሳሰሉትን) በንቃት የሚጠቀሙ በርካታ የውስጥ ትንታኔ ፕሮጄክቶችን “መትረፍ ችለናል። ምንም እንኳን ከጊዜ በኋላ “እሱን” በደንብ ለመዘጋጀት እና ለመከታተል ተምረን ፣ እና “እሱ” በእውነቱ በመረጃው ተፈጥሮ ለውጦች እና በተመጣጣኝ የ RDD hashing አለመመጣጠን ምክንያት በድንገት መበላሸቱን አቁመናል ፣ ቀድሞውንም ዝግጁ የሆነ ነገር ለመውሰድ ፍላጎት ነበረው ። ፣ የዘመነ እና በደመና ውስጥ በሆነ ቦታ የሚተዳደረው እየጠነከረ እና እየጠነከረ መጣ። ዝግጁ የሆነውን የአማዞን ድር አገልግሎቶችን ለመጠቀም የሞከርነው በዚህ ጊዜ ነበር - EMR እና, በመቀጠል, በመጠቀም ችግሮችን ለመፍታት ሞክሯል. EMR ልክ እንደ Cloudera/Hortonworks ግንባታዎች ባሉ ተጨማሪ ሶፍትዌሮች በአማዞን የተዘጋጀ Apache Spark ነው።

የጎማ ፋይል ማከማቻ ለትንታኔ አስቸኳይ ፍላጎት ነው።

ሃዱፕ/ስፓርክ በተለያዩ የሰውነት ክፍሎች ላይ በተቃጠለ "የማብሰያ" ልምድ ከንቱ አልነበረም። የሃርድዌር ውድቀቶችን የሚቋቋም እና ፋይሎችን በተለያዩ ቅርፀቶች ከተለያዩ ስርዓቶች ማከማቸት እና ውጤታማ እና ጊዜ ቆጣቢ ናሙናዎችን ለማዘጋጀት የሚያስችል ነጠላ ፣ ርካሽ እና አስተማማኝ የፋይል ማከማቻ የመፍጠር አስፈላጊነት ከጊዜ ወደ ጊዜ እየጨመረ መጣ። ግልጽ።

እንዲሁም የዚህን ፕላትፎርም ሶፍትዌር ማዘመን ወደ አዲስ አመት ቅዠት እንዳይቀየር ባለ 20 ገፅ የጃቫ አሻራዎችን በማንበብ እና ኪሎ ሜትሮችን የሚረዝሙ የክላስተር ምዝግብ ማስታወሻዎችን በስፓርክ ታሪክ ሰርቨር እና የኋላ ብርሃን ማጉያ መነፅርን በመተንተን ፈልጌ ነበር። የገንቢው መደበኛ MapReduce ጥያቄ መተግበሩን ካቆመ ቀላል እና ግልጽነት ያለው መሳሪያ እንዲኖረኝ ፈልጌ ነበር በደንብ ባልተመረጠ የምንጭ መረጃ ክፍፍል ስልተ ቀመር።

Amazon S3 ለ DataLake እጩ ነው?

ከ Hadoop/MapReduce ጋር ያለው ልምድ፣ መረጃውን በኔትወርኩ ላይ ላለማሽከርከር ወደ መረጃው እየቀረበ “መምጣት” የሚችል፣ አስተማማኝ የፋይል ስርዓት እና ሊሰፋ የሚችል ሰራተኞች እንደሚያስፈልገን አስተምሮናል። ሰራተኞች በተለያዩ ቅርፀቶች መረጃን ማንበብ መቻል አለባቸው ነገርግን አላስፈላጊ መረጃዎችን ባያነቡ እና ለሰራተኞች ምቹ በሆኑ ቅርፀቶች አስቀድመው ማከማቸት መቻል አለባቸው።

እንደገና, መሠረታዊው ሀሳብ. ትልቅ መረጃን ወደ አንድ የክላስተር ትንተና ሞተር "ለማፍሰስ" ምንም ፍላጎት የለም፣ ይዋል ይደር እንጂ ያንቃል እና አስቀያሚውን መቧጠጥ አለብዎት። ፋይሎችን ፣ ፋይሎችን ብቻ ፣ ለመረዳት በሚያስችል ቅርጸት ማከማቸት እና የተለያዩ ግን ሊረዱ የሚችሉ መሳሪያዎችን በመጠቀም ውጤታማ የትንታኔ መጠይቆችን ማከናወን እፈልጋለሁ። እና በተለያዩ ቅርጸቶች ውስጥ ብዙ እና ተጨማሪ ፋይሎች ይኖራሉ. እና ሞተሩን ሳይሆን የመነሻውን መረጃ ማበላሸት ይሻላል። ሊሰፋ የሚችል እና ሁለንተናዊ ዳታሌክ እንፈልጋለን፣ ወስነናል...

የእራስዎን ቾፕስ ከሃዶፕ ሳያዘጋጁ ፋይሎችን በሚታወቀው እና በሚታወቀው ሊሰፋ በሚችል የደመና ማከማቻ Amazon S3 ውስጥ ቢያከማቹስ?

የግል ውሂቡ "ዝቅተኛ" እንደሆነ ግልጽ ነው, ነገር ግን እዚያ አውጥተን "በውጤታማነት ካነዱት" ስለ ሌላ ውሂብስ?

የአማዞን ድር አገልግሎቶች ክላስተር-ቢግዳታ-ትንታኔ ሥነ-ምህዳር - በጣም ቀላል በሆኑ ቃላት

ከ AWS ጋር ባለን ልምድ በመመዘን Apache Hadoop/MapReduce እዚያ ለረጅም ጊዜ በተለያዩ ድስቶች ውስጥ በንቃት ጥቅም ላይ ውሏል ለምሳሌ በዳታ ፒፔላይን አገልግሎት (ባልደረቦቼን ቀናሁ፣ እንዴት በትክክል ማዘጋጀት እንደሚችሉ ተምረዋል)። እዚህ ከተለያዩ አገልግሎቶች ከ DynamoDB ጠረጴዛዎች ምትኬን አዘጋጅተናል፡
በጣም ቀልጣፋ እና ርካሽ ዳታሌክን እንዴት እንዳደራጀን እና ለምን

እና በተከተተ Hadoop/Map ላይ በመደበኛነት እየሮጡ ይገኛሉ። ስብስቦችን እንደ የሰዓት ስራ ለብዙ አመታት ይቀንሱ። “አዋቅር እና እርሳው”፡-

በጣም ቀልጣፋ እና ርካሽ ዳታሌክን እንዴት እንዳደራጀን እና ለምን

እንዲሁም የጁፒተር ላፕቶፖችን በደመና ውስጥ ለተንታኞች በማዘጋጀት እና የAWS SageMaker አገልግሎትን በመጠቀም AI ሞዴሎችን ወደ ጦርነት በማሰልጠን እና በማሰማራት በውጤታማነት በመረጃ ሰይጣናዊነት መሳተፍ ይችላሉ። ለእኛ ምን እንደሚመስል እነሆ፡-

በጣም ቀልጣፋ እና ርካሽ ዳታሌክን እንዴት እንዳደራጀን እና ለምን

እና አዎ፣ ለራስህ ላፕቶፕ ወይም ተንታኝ በደመና ውስጥ አንስተህ ከሃዱፕ/ስፓርክ ክላስተር ጋር ማያያዝ፣ ስሌቱን ሠርተህ ከዚያ ሁሉንም ነገር መቸብቸብ ትችላለህ።

በጣም ቀልጣፋ እና ርካሽ ዳታሌክን እንዴት እንዳደራጀን እና ለምን

ለግለሰብ ትንተና ፕሮጄክቶች በጣም ምቹ እና ለአንዳንዶች የ EMR አገልግሎትን ለትላልቅ ስሌቶች እና ትንታኔዎች በተሳካ ሁኔታ ተጠቅመናል። ለ DataLake የስርዓት መፍትሄስ ምን ማለት ይቻላል፣ ይሰራል? በዚህ ጊዜ በተስፋና በተስፋ መቁረጥ ላይ ደርሰን ፍለጋውን ቀጠልን።

AWS ሙጫ - በጥሩ ሁኔታ የታሸገ Apache Spark በስቴሮይድ ላይ

AWS የራሱ የሆነ የ"Hive/ Pig/Spark" ቁልል እንዳለው ታወቀ። የቀፎ ሚና፣ ማለትም እ.ኤ.አ. በ DataLake ውስጥ ያሉ የፋይሎች ካታሎግ እና ዓይነቶቻቸው በ "ዳታ ካታሎግ" አገልግሎት ይከናወናሉ, ይህም ከ Apache Hive ቅርጸት ጋር ያለውን ተኳሃኝነት አይደብቅም. ፋይሎችዎ የት እንደሚገኙ እና በምን አይነት ቅርጸት እንዳሉ መረጃ ወደዚህ አገልግሎት ማከል አለብዎት። ውሂቡ በ s3 ውስጥ ብቻ ሳይሆን በመረጃ ቋቱ ውስጥም ሊሆን ይችላል, ግን የዚህ ልጥፍ ርዕሰ ጉዳይ አይደለም. የእኛ የDataLake ውሂብ ማውጫ እንዴት እንደሚደራጅ እነሆ፡-

በጣም ቀልጣፋ እና ርካሽ ዳታሌክን እንዴት እንዳደራጀን እና ለምን

ፋይሎቹ የተመዘገቡ ናቸው፣ በጣም ጥሩ። ፋይሎቹ ከተዘመኑ፣ ጎብኚዎችን በእጅ ወይም በጊዜ መርሐግብር እንጀምራለን፣ ይህም ከሐይቁ ላይ መረጃን ያዘምናል እና ያድናቸዋል። ከዚያ ከሀይቁ የተገኘው መረጃ ሊሰራ እና ውጤቶቹ የሆነ ቦታ ሊሰቀሉ ይችላሉ። በቀላል ሁኔታ ወደ s3 እንሰቅላለን። የውሂብ ሂደት በየትኛውም ቦታ ሊከናወን ይችላል ነገር ግን በAWS Glue API የላቀ ችሎታዎችን በመጠቀም ሂደቱን በ Apache Spark cluster ላይ እንዲያዋቅሩት ይጠቁማል። በእውነቱ ፣ የፒስፓርክ ቤተ-መጽሐፍትን በመጠቀም ጥሩውን የድሮውን እና የተለመደውን የፓይቶን ኮድ ወስደህ አፈፃፀሙን ከክትትል ጋር በተወሰነ አቅም ክላስተር ኤን ኖዶች ላይ በማዋቀር የሃዱፕ አንጀት ውስጥ ሳትቆፈር እና ዶከር-ሞከር ኮንቴይነሮችን በመጎተት እና የጥገኝነት ግጭቶችን ማስወገድ ትችላለህ። .

አንዴ እንደገና, ቀላል ሀሳብ. Apache Spark ን ማዋቀር አያስፈልግም፣ ለፒስፓርክ የpython ኮድ መፃፍ ብቻ ነው፣ በዴስክቶፕዎ ላይ በአካባቢው ይሞክሩት እና ከዚያ በደመና ውስጥ ባለው ትልቅ ክላስተር ላይ ያሂዱ፣ የምንጭ ውሂቡ የት እንዳለ እና ውጤቱን የት እንደሚያስቀምጥ ይግለጹ። አንዳንድ ጊዜ ይህ አስፈላጊ እና ጠቃሚ ነው፣ እና እንዴት እንዳዋቀርነው እነሆ፡-

በጣም ቀልጣፋ እና ርካሽ ዳታሌክን እንዴት እንዳደራጀን እና ለምን

ስለዚህ በ s3 ውስጥ ያለውን መረጃ በመጠቀም በስፓርክ ክላስተር ላይ የሆነ ነገር ማስላት ከፈለጉ በ python/pyspark ውስጥ ኮድ እንጽፋለን, እንፈትነው, እና መልካም እድል ለደመናው.

ስለ ኦርኬስትራውስ? ስራው ቢወድቅ እና ቢጠፋስ? አዎን ፣ በአፓቼ አሳማ ዘይቤ ውስጥ የሚያምር ቧንቧ ለመስራት ታቅዶ ነበር እና እነሱን እንኳን ሞክረን ነበር ፣ ግን አሁን እኛ በጥልቀት የተበጀ ኦርኬስትራ በ PHP እና JavaScript ለመጠቀም ወስነናል (ተረድቻለሁ ፣ የግንዛቤ መዛባት አለ ፣ ግን ይሰራል ፣ ለ ዓመታት እና ያለ ስህተቶች)።

በጣም ቀልጣፋ እና ርካሽ ዳታሌክን እንዴት እንዳደራጀን እና ለምን

በሐይቁ ውስጥ የተከማቹ የፋይሎች ቅርጸት ለአፈፃፀም ቁልፍ ነው

ሁለት ተጨማሪ ቁልፍ ነጥቦችን መረዳት በጣም በጣም አስፈላጊ ነው። በሐይቁ ውስጥ ያሉ የፋይል መረጃዎችን የሚመለከቱ ጥያቄዎች በተቻለ ፍጥነት እንዲፈጸሙ እና አዲስ መረጃ ሲጨመር አፈፃፀሙ እንዳይቀንስ የሚከተሉትን ማድረግ አለብዎት:

  • የፋይሎችን አምዶች ለየብቻ ያከማቹ (በአምዶች ውስጥ ያለውን ነገር ለመረዳት ሁሉንም መስመሮች እንዳያነቡ)። ለዚህም የፓርኬት ቅርፀቱን ከጨመቅ ጋር ወስደናል
  • ፋይሎችን ወደ አቃፊዎች መከፋፈል በጣም አስፈላጊ ነው፡ ቋንቋ፣ አመት፣ ወር፣ ቀን፣ ሳምንት። ይህን የመሰለ ሻርዲንግ የተረዱ ሞተሮች በአንድ ረድፍ ውስጥ ያሉትን ሁሉንም መረጃዎች ሳያጣራ አስፈላጊዎቹን አቃፊዎች ብቻ ይመለከታሉ።

በመሠረቱ ፣ በዚህ መንገድ ፣ በላዩ ላይ ለተሰቀሉት የትንታኔ ሞተሮች የምንጭ መረጃን በጣም ቀልጣፋ በሆነ መልኩ ያዘጋጃሉ ፣ ይህም በተቆራረጡ አቃፊዎች ውስጥ እንኳን ከፋይሎች ውስጥ አስፈላጊ የሆኑትን አምዶች ብቻ በመምረጥ ማንበብ ይችላሉ ። ውሂቡን በየትኛውም ቦታ "መሙላት" አያስፈልግዎትም (ማከማቻው በቀላሉ ይፈነዳል) - ወዲያውኑ በጥበብ በፋይል ስርዓቱ ውስጥ በትክክለኛው ቅርጸት ያስቀምጡት. በእርግጥ እዚህ ላይ ግልፅ መሆን ያለበት ትልቅ የ csv ፋይልን በዳታ ላክ ውስጥ ማከማቸት በመጀመሪያ በክላስተር በመስመር መነበብ ያለበት አምዶችን ለማውጣት በጣም ጥሩ አይደለም ። ይህ ሁሉ የሆነው ለምን እንደሆነ ገና ግልጽ ካልሆነ ከላይ ያሉትን ሁለት ነጥቦች እንደገና አስብባቸው።

AWS አቴና - ጃክ-ኢን-ዘ-ሣጥን

እናም ሀይቅ እየፈጠርን ሳለ በሆነ መንገድ አማዞን አቴናን አገኘነው። በድንገት የኛን ግዙፍ የሎግ ፋይሎቻችንን በትክክለኛ (ፓርኬት) አምድ ቅርጸት በጥንቃቄ በማዘጋጀት እጅግ በጣም መረጃ ሰጭ ምርጫዎችን በፍጥነት መምረጥ እና ያለ Apache Spark/Glue ክላስተር ሪፖርቶችን መስራት ይችላሉ።

በ s3 ውስጥ ባለው መረጃ የተጎላበተ የአቴና ሞተር በአፈ ታሪክ ላይ የተመሰረተ ነው። Presto - የ MPP ተወካይ (ግዙፍ ትይዩ ፕሮሰሲንግ) የውሂብ ሂደት አቀራረቦች ቤተሰብ, ውሂብ የት እንደሚገኝ መውሰድ, s3 እና Hadoop ወደ ካሳንድራ እና ተራ የጽሑፍ ፋይሎች. የ SQL ጥያቄን እንድታስፈጽም አቴናን መጠየቅ ብቻ ነው፣ እና ከዚያ ሁሉም ነገር “በፍጥነት እና በራስ-ሰር ይሰራል”። አቴና "ብልጥ" መሆኑን ልብ ሊባል የሚገባው ነው, ወደ አስፈላጊ የተበታተኑ አቃፊዎች ብቻ ይሄዳል እና በጥያቄው ውስጥ የሚያስፈልጉትን አምዶች ብቻ ያነባል.

ለአቴና የሚቀርቡ ጥያቄዎች ዋጋ እንዲሁ አስደሳች ነው። እኛ እንከፍላለን የተቃኘው የውሂብ መጠን. እነዚያ። በክላስተር ውስጥ ላሉ ማሽኖች ብዛት በደቂቃ ሳይሆን... በ100-500 ማሽኖች ላይ ለተቃኘው መረጃ፣ ጥያቄውን ለመሙላት አስፈላጊው መረጃ ብቻ ነው።

እና በትክክል ከተከፋፈሉ አቃፊዎች ውስጥ አስፈላጊዎቹን አምዶች ብቻ በመጠየቅ የአቴና አገልግሎት በወር በአስር ዶላር ያስወጣናል። ደህና፣ ጥሩ፣ ከሞላ ጎደል ነፃ፣ በክላስተር ላይ ካሉ ትንታኔዎች ጋር ሲነጻጸር!

በነገራችን ላይ ውሂባችንን በs3 እንዴት እንደምንከፋፍል እነሆ፡-

በጣም ቀልጣፋ እና ርካሽ ዳታሌክን እንዴት እንዳደራጀን እና ለምን

በውጤቱም ፣ በአጭር ጊዜ ውስጥ ፣ በኩባንያው ውስጥ ሙሉ በሙሉ የተለያዩ ክፍሎች ፣ ከመረጃ ደህንነት እስከ ትንታኔ ፣ ለአቴና በንቃት ጥያቄዎችን ማቅረብ ጀመሩ እና በፍጥነት ፣ በሰከንዶች ውስጥ ፣ ከ “ትልቅ” መረጃ ለረጅም ጊዜ ጠቃሚ መልሶችን ይቀበሉ-ወራት ፣ ግማሽ ዓመት, ወዘተ. ፒ.

እኛ ግን የበለጠ ሄድን እና መልስ ለማግኘት ወደ ደመና መሄድ ጀመርን። በኦዲቢሲ ሾፌር በኩል: አንድ ተንታኝ የ SQL ጥያቄን በሚታወቀው ኮንሶል ውስጥ ይጽፋል፣ እሱም በ100-500 ማሽኖች ላይ “ለሳንቲም” ወደ s3 መረጃ የሚልክ እና መልሱን አብዛኛውን ጊዜ በጥቂት ሰከንዶች ውስጥ ይመልሳል። ምቹ። እና ፈጣን። አሁንም ማመን አልቻልኩም።

በውጤቱም, ውሂብን በ s3 ውስጥ ለማከማቸት ወስነናል, በተቀላጠፈ የአምድ ቅርጽ እና በተመጣጣኝ መረጃ ወደ አቃፊዎች በማከፋፈል ... DataLake እና ፈጣን እና ርካሽ የትንታኔ ሞተር ተቀበልን - በነጻ. እና በኩባንያው ውስጥ በጣም ታዋቂ ሆነ, ምክንያቱም ... SQLን ይገነዘባል እና ዘለላዎችን ከመጀመር/ማቆም/ ከማዘጋጀት በበለጠ ፍጥነት ይሰራል። "እና ውጤቱ ተመሳሳይ ከሆነ ለምን ተጨማሪ ይከፍላሉ?"

ለአቴና የቀረበ ጥያቄ ይህን ይመስላል። ከተፈለገ, በእርግጥ, በቂ መመስረት ይችላሉ ውስብስብ እና ባለብዙ ገጽ SQL መጠይቅግን እራሳችንን በቀላል መቧደን እንገድባለን። ከጥቂት ሳምንታት በፊት ደንበኛው ምን ዓይነት የምላሽ ኮዶች በድር አገልጋይ ምዝግብ ማስታወሻዎች ውስጥ እንደነበሩ እንይ እና ምንም ስህተቶች አለመኖራቸውን ያረጋግጡ።

በጣም ቀልጣፋ እና ርካሽ ዳታሌክን እንዴት እንዳደራጀን እና ለምን

ግኝቶች

ረጅም ለማለት ሳይሆን የሚያሰቃይ መንገድ ካለፍን በኋላ፣ አደጋዎችን እና ውስብስብነት እና የድጋፍ ዋጋን ደረጃውን በበቂ ሁኔታ በበቂ ሁኔታ ስንገመግም፣ ለዳታ ላክ እና ትንታኔዎች በፍጥነት እና በባለቤትነት ዋጋ ማስደሰትን የማያቆም መፍትሄ አግኝተናል።

ለኩባንያው ሙሉ ለሙሉ የተለያዩ ዲፓርትመንቶች ፍላጎቶች ዳታሌክን ለመስራት ውጤታማ ፣ ፈጣን እና ርካሽ መገንባት ሙሉ ለሙሉ ልምድ ባላቸው ገንቢዎች እንኳን እንደ አርክቴክት ሰርተው የማያውቁ እና በካሬዎች ላይ ካሬዎችን እንዴት መሳል እንደሚችሉ የማያውቁ ሙሉ በሙሉ አቅም ውስጥ እንደሆነ ተገለጸ። ቀስቶች እና 50 ቃላትን ከHadoop ስነ-ምህዳር ያውቃሉ።

በጉዞው መጀመሪያ ላይ ጭንቅላቴ ከብዙ የዱር መካነ አራዊት ክፍት እና የተዘጉ ሶፍትዌሮች እና ለዘሮች ያለውን የኃላፊነት ሸክም መረዳት ተከፈለ። ልክ የእርስዎን ዳታሌክ ከቀላል መሳሪያዎች መገንባት ይጀምሩ፡ nagios/munin -> elastic/kibana -> Hadoop/Spark/s3...፣ ግብረ መልስ በመሰብሰብ እና እየተከናወኑ ያሉትን ሂደቶች ፊዚክስ በጥልቀት ይረዱ። ሁሉም ነገር ውስብስብ እና ጨለማ - ለጠላቶች እና ተወዳዳሪዎች ይስጡት.

ወደ ደመና መሄድ ካልፈለግክ እና ክፍት ምንጭ ፕሮጄክቶችን መደገፍ፣ ማዘመን እና ማስተካከል ካልፈለግክ ከእኛ ጋር ተመሳሳይ የሆነ እቅድ በአገር ውስጥ፣ ውድ ባልሆኑ የቢሮ ማሽኖች Hadoop እና Presto ላይ መገንባት ትችላለህ። ዋናው ነገር ማቆም እና ወደፊት መሄድ, መቁጠር, ቀላል እና ግልጽ መፍትሄዎችን መፈለግ አይደለም, እና ሁሉም ነገር በእርግጠኝነት ይከናወናል! ለሁሉም ሰው መልካም ዕድል እና እንደገና እንገናኝ!

ምንጭ: hab.com

አስተያየት ያክሉ