በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

ለሚከተሉት የውሂብ ጎታዎች የ Yandex አስተዋፅኦ ግምት ውስጥ ይገባል.

  • ጠቅታ ቤት
  • የተጓተተው
  • በጊዜ ውስጥ ማገገም (WAL-G)
  • PostgreSQL (ምዝግብ ማስታወሻዎችን፣ Amcheck፣ Heapcheckን ጨምሮ)
  • ግሪንፕለም

ቪዲዮ

ሰላም ልዑል! ስሜ አንድሬ ቦሮዲን እባላለሁ። እና በ Yandex.Cloud ውስጥ ለYandex.Cloud እና Yandex.Cloud ደንበኞች ጥቅም ክፍት ተዛማጅ የውሂብ ጎታዎችን እያዘጋጀሁ ነው።

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

በዚህ ንግግር ውስጥ ስለ ክፍት የመረጃ ቋቶች ሚዛን ተግዳሮቶች እንነጋገራለን ። ለምን አስፈላጊ ነው? ምክንያቱም ትንሽ, ትንሽ ችግሮች, እንደ ትንኞች, ከዚያም ዝሆኖች ይሆናሉ. ብዙ ዘለላዎች ሲኖሩዎት ትልቅ ይሆናሉ።

ነጥቡ ግን ያ አይደለም። የማይታመን ነገሮች ይከሰታሉ። ከአንድ ሚሊዮን ጉዳዮች ውስጥ በአንዱ ውስጥ የሚከሰቱ ነገሮች። እና በደመና አካባቢ ውስጥ፣ ለእዚህ ዝግጁ መሆን አለቦት፣ ምክንያቱም አንድ ነገር በመጠን በሚኖርበት ጊዜ አስገራሚ ነገሮች በጣም ሊሆኑ ይችላሉ።

ግን! ክፍት የውሂብ ጎታዎች ጥቅሞች ምንድ ናቸው? ማንኛውንም ችግር ለመቋቋም የንድፈ ሃሳባዊ እድል ያላችሁ እውነታ. የምንጭ ኮድ አለህ፣ የፕሮግራም እውቀት አለህ። አጣምረን እንሰራለን.

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

በክፍት ምንጭ ሶፍትዌር ላይ ለመስራት ምን አይነት አቀራረቦች አሉ?

  • በጣም ለመረዳት የሚቻልበት መንገድ ሶፍትዌርን መጠቀም ነው. ፕሮቶኮሎችን ከተጠቀሙ፣ ደረጃዎችን ከተጠቀሙ፣ ቅርጸቶችን ከተጠቀሙ፣ በክፍት ምንጭ ሶፍትዌር ላይ ጥያቄዎችን ከጻፉ፣ ከዚያ አስቀድመው ይደግፋሉ።
  • የስርዓተ-ምህዳሩን ትልቅ ያደርጉታል። ቀደም ብሎ ሳንካ የማግኘት ዕድሉ ከፍተኛ ያደርገዋል። የዚህን ስርዓት አስተማማኝነት ይጨምራሉ. በገበያ ውስጥ የገንቢዎችን ተገኝነት ይጨምራሉ። ይህን ሶፍትዌር አሻሽለዋል። ስታይል አግኝተህ ከጨረስክ እና በሱ ከተጣመርክ አስተዋጽዖ አበርካች ነህ።
  • ሌላው ለመረዳት የሚቻል አካሄድ የክፍት ምንጭ ሶፍትዌርን ስፖንሰር ማድረግ ነው። ለምሳሌ፣ ታዋቂው የGoogle Summer of Code ፕሮግራም፣ ጎግል የተወሰኑ የፍቃድ መስፈርቶችን የሚያሟሉ ክፍት ምንጭ ሶፍትዌር ፕሮጀክቶችን ለማዘጋጀት ከመላው አለም ብዙ ቁጥር ያላቸው ተማሪዎች ለመረዳት የሚቻል ገንዘብ ሲከፍል።
  • ይህ በጣም ደስ የሚል አቀራረብ ነው, ምክንያቱም ትኩረቱን ከማህበረሰቡ ሳይቀይሩ ሶፍትዌሩን እንዲያዳብሩ ያስችልዎታል. ጎግል እንደ አንድ የቴክኖሎጂ ግዙፍ አካል ይህንን ባህሪ እንፈልጋለን አይልም፣ ይህን ስህተት ማስተካከል እንፈልጋለን፣ እና እዚያ ነው መቆፈር ያለብን። ጎግል “የምትሰራውን አድርግ። ልክ እየሰሩበት ባለው መንገድ መስራትዎን ይቀጥሉ እና ሁሉም ነገር ደህና ይሆናል."
  • በክፍት ምንጭ ውስጥ ለመሳተፍ ቀጣዩ አቀራረብ ተሳትፎ ነው. በክፍት ምንጭ ሶፍትዌር ላይ ችግር ሲያጋጥምዎ እና ገንቢዎች ሲኖሩ፣ ያኔ የእርስዎ ገንቢዎች ችግሮችን መፍታት ይጀምራሉ። መሠረተ ልማትዎን የበለጠ ቀልጣፋ፣ ፕሮግራሞችዎን ፈጣን እና አስተማማኝ ማድረግ ይጀምራሉ።

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

በጣም ታዋቂ ከሆኑ የ Yandex ክፍት ምንጭ ፕሮጀክቶች አንዱ ClickHouse ነው። ይህ Yandex.Metrica ለሚገጥሙት ፈተናዎች ምላሽ ሆኖ የተወለደ የውሂብ ጎታ ነው።

እና እንደ ዳታቤዝ፣ ምህዳር ለመፍጠር እና ከሌሎች ገንቢዎች ጋር (በ Yandex ውስጥ ብቻ ሳይሆን) በጋራ ለማዳበር በክፍት ምንጭ ነው የተሰራው። እና አሁን ብዙ የተለያዩ ኩባንያዎች የተሳተፉበት ትልቅ ፕሮጀክት ነው።

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

በ Yandex.Cloud ውስጥ፣ በ Yandex Object Storage ላይ፣ ማለትም በደመና ማከማቻ ላይ ClickHouse ሠራን።

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

ለምንድን ነው በደመና ውስጥ አስፈላጊ የሆነው? ምክንያቱም ማንኛውም ዳታቤዝ በዚህ ትሪያንግል ውስጥ፣ በዚህ ፒራሚድ ውስጥ፣ በዚህ የማህደረ ትውስታ አይነቶች ተዋረድ ውስጥ ይሰራል። ፈጣን ግን ትንሽ መመዝገቢያ እና ርካሽ ትልቅ ነገር ግን ቀርፋፋ SSDs፣ HDDs እና ሌሎች የማገጃ መሳሪያዎች አሎት። እና በፒራሚዱ አናት ላይ ውጤታማ ከሆንክ ፈጣን የውሂብ ጎታ አለህ። በዚህ ፒራሚድ ግርጌ ላይ ውጤታማ ከሆንክ የተመጣጠነ የውሂብ ጎታ አለህ። እናም በዚህ ረገድ, ከታች ሌላ ንብርብር መጨመር የውሂብ ጎታውን መጠን ለመጨመር ምክንያታዊ አቀራረብ ነው.

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

እንዴት ሊደረግ ቻለ? በዚህ ዘገባ ውስጥ ይህ አስፈላጊ ነጥብ ነው.

  • በኤምዲኤስ ላይ ClickHouseን መተግበር እንችላለን። ኤምዲኤስ የውስጥ የ Yandex ደመና ማከማቻ በይነገጽ ነው። ከተለመደው S3 ፕሮቶኮል የበለጠ ውስብስብ ነው, ነገር ግን ለማገጃ መሳሪያ የበለጠ ተስማሚ ነው. መረጃን ለመጻፍ የተሻለ ነው. ተጨማሪ ፕሮግራም ያስፈልገዋል። ፕሮግራመሮች ፕሮግራም ያደርጋሉ፣ ጥሩ፣ አስደሳች ነው።
  • S3 ለተወሰኑ የሥራ ጫናዎች አነስተኛ መላመድ በሚጠይቀው ወጪ ቀለል ያለ በይነገጽ እንዲኖር የሚያደርግ በጣም የተለመደ አካሄድ ነው።

በተፈጥሮ ፣ ለጠቅላላው የ ClickHouse ሥነ-ምህዳር ተግባራዊነትን ለማቅረብ እና በ Yandex.Cloud ውስጥ አስፈላጊውን ተግባር ለማከናወን ስለፈለግን ፣ መላው የ ClickHouse ማህበረሰብ ከእሱ ተጠቃሚ እንዲሆን ለማድረግ ወስነናል። እኛ የተገበርነው ClickHouseን በS3 ላይ እንጂ ClickHouseን በኤምዲኤስ ላይ አይደለም። ያ ደግሞ ብዙ ስራ ነው።

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

ማጣቀሻዎች

https://github.com/ClickHouse/ClickHouse/pull/7946 "የፋይል ስርዓት ረቂቅ ንብርብር"
https://github.com/ClickHouse/ClickHouse/pull/8011 AWS SDK S3 ውህደት
https://github.com/ClickHouse/ClickHouse/pull/8649 "የ IDisk በይነገጽ ለ S3 መሰረታዊ ትግበራ"
https://github.com/ClickHouse/ClickHouse/pull/8356 "የሎግ ማከማቻ ሞተሮችን ከ IDisk በይነገጽ ጋር ማዋሃድ"
https://github.com/ClickHouse/ClickHouse/pull/8862 "ለ S3 እና SeekableReadBuffer የምዝግብ ማስታወሻ ሞተር ድጋፍ"
https://github.com/ClickHouse/ClickHouse/pull/9128 "Storage Stripe Log S3 ድጋፍ"
https://github.com/ClickHouse/ClickHouse/pull/9415 "Storage MergeTree የመጀመሪያ ድጋፍ ለ S3"
https://github.com/ClickHouse/ClickHouse/pull/9646 MergeTree ለ S3 ሙሉ ድጋፍ
https://github.com/ClickHouse/ClickHouse/pull/10126 "የተባዛውሃ ዛፍን በS3 ይደግፉ"
https://github.com/ClickHouse/ClickHouse/pull/11134 "ነባሪ ምስክርነቶችን እና ብጁ ራስጌዎችን ለs3 ማከማቻ አክል"
https://github.com/ClickHouse/ClickHouse/pull/10576 "S3 ከተለዋዋጭ የተኪ ውቅር ጋር"
https://github.com/ClickHouse/ClickHouse/pull/10744 S3 ከፕሮክሲ ፈቺ ጋር

ይህ የ ClickHouse ምናባዊ የፋይል ስርዓት አተገባበርን የሚጎትት ጥያቄ ዝርዝር ነው። ያ ብዙ የመሳብ ጥያቄዎች ነው።

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

ማጣቀሻዎች

https://github.com/ClickHouse/ClickHouse/pull/9760 "DiskS3 hardlinks ምርጥ ትግበራ"
https://github.com/ClickHouse/ClickHouse/pull/11522 "S3 HTTP ደንበኛ - የምላሽ ዥረት ወደ ማህደረ ትውስታ ከመቅዳት ተቆጠብ"
https://github.com/ClickHouse/ClickHouse/pull/11561 "ሙሉ የምላሽ ዥረት ወደ ማህደረ ትውስታ በS3 HTTP ውስጥ ከመቅዳት ተቆጠብ
ደንበኛ"
https://github.com/ClickHouse/ClickHouse/pull/13076 "ለ S3 ዲስክ ፋይሎችን የመሸጎጫ እና የመረጃ ጠቋሚ የማድረግ ችሎታ"
https://github.com/ClickHouse/ClickHouse/pull/13459 "ክፍሎችን ከDiskLocal ወደ DiskS3 በትይዩ ይውሰዱ"

ስራው ግን በዚህ አላበቃም። ባህሪው ከተሰራ በኋላ ይህን ተግባር ለማመቻቸት የተወሰነ ተጨማሪ ስራ ወስዷል።

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

ማጣቀሻዎች

https://github.com/ClickHouse/ClickHouse/pull/12638 "የተመረጡ ረድፎችን እና የተመረጡ ባይት ክስተቶችን አክል"
https://github.com/ClickHouse/ClickHouse/pull/12464 "የመገለጫ ክስተቶችን ከS3 ጥያቄ ወደ system.events ያክሉ"
https://github.com/ClickHouse/ClickHouse/pull/13028 "QueryTimeማይክሮ ሰከንድ ጨምር፣QueryTimeማይክሮ ሰከንድ ምረጥ እና የጥያቄ ጊዜ ማይክሮ ሰከንድ አስገባ"

እና ከዚያም እንዲታወቅ ማድረግ, ክትትልን ማቋቋም እና ማስተዳደር አስፈላጊ ነበር.

እና ይህ ሁሉ የተደረገው መላው ማህበረሰብ ፣ መላው የ ClickHouse ሥነ-ምህዳር የዚህን ሥራ ውጤት እንዲያገኙ ነው።

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

ወደ የግብይት ዳታቤዝ፣ ወደ OLTP የውሂብ ጎታዎች፣ በግሌ ለእኔ ቅርብ ወደሆኑት እንሂድ።

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

ይህ ክፍት ምንጭ የ DBMS ልማት ክፍል ነው። እነዚህ ሰዎች የግብይት ክፍት የውሂብ ጎታዎችን ለማሻሻል የመንገድ አስማት እየሰሩ ነው።

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

እንዴት እና ምን እንደምናደርግ ለመነጋገር እንደ ምሳሌ ልንጠቀምባቸው ከምንችላቸው ፕሮጀክቶች ውስጥ አንዱ በፖስትግሬስ ውስጥ ያለው የግንኙነት ፑለር ነው።

Postgres የሂደት ዳታቤዝ ነው። ይህ ማለት የመረጃ ቋቱ በተቻለ መጠን ከግብይቶች ጋር የሚሰሩ የአውታረ መረብ ግንኙነቶችን ማካተት አለበት።

በሌላ በኩል, በደመና አከባቢ ውስጥ, የተለመደው ሁኔታ አንድ ሺህ ግንኙነቶች በአንድ ጊዜ ወደ አንድ ዘለላ ሲመጡ ነው. እና የግንኙነት ገንዳው ተግባር አንድ ሺህ ግንኙነቶችን ወደ አነስተኛ የአገልጋይ ግንኙነቶች ማሸግ ነው።

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

ኮኔክሽን ፑለር የቴሌፎን ኦፕሬተር ነው ማለት እንችላለን ባይት ወደ ዳታቤዝ ገብተው በውጤታማነት ይደርሳሉ።

እንደ አለመታደል ሆኖ ለግንኙነት ገንዳ ጥሩ የሩሲያ ቃል የለም። እሱ አንዳንድ ጊዜ እንደ ባለብዙ ማገናኛዎች ይባላል። የግንኙነት ገንዳውን ምን እንደሚደውሉ ካወቁ ፣ ከዚያ ንገሩኝ ፣ ትክክለኛውን የሩሲያ ቴክኒካዊ ቋንቋ በመናገር በጣም ደስተኛ ነኝ።

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

https://pgconf.ru/2017/92899

ለሚተዳደር የፖስትግሬስ ክላስተር ተስማሚ የሆኑ የግንኙነት ገንዳዎችን ቃኘን። እና PgBouncer ለእኛ በጣም ተስማሚ ነበር። ግን ከPgBouncer ጋር ብዙ ጉዳዮችን አጋጥሞናል። ከብዙ አመታት በፊት, Volodya Borodin PgBouncer ን እንጠቀማለን, ሁሉንም ነገር እንወዳለን, ግን ጥቃቅን ነገሮች አሉ, ለመስራት አንድ ነገር አለ.

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

https://pgconf.ru/media/2017/04/03/20170316H1_V.Borodin.pdf

እና ሠርተናል። ያጋጠሙንን ችግሮች አስተካክለናል፣ Bouncer አስተካክለናል፣ የመጎተት ጥያቄን ወደ ላይኛው ዥረት ለማያያዝ ሞከርን። ነገር ግን መሰረታዊ ነጠላ-ክር ለመስራት አስቸጋሪ ነበር።

ከተጣበቁ Bouncers መውጣት ነበረብን። ብዙ ባለ አንድ-ክር Bouncers ሲኖረን, ከዚያም በላይኛው ሽፋን ላይ, ግንኙነቶች ወደ Bouncers ውስጠኛ ሽፋን ይተላለፋሉ. በደንብ የማይተዳደር፣ ለመገንባት ከባድ እና ወደ ኋላ እና ወደ ፊት ለመመዘን ከባድ ስርዓት ነው።

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

ድምዳሜ ላይ ደርሰናል የራሳችንን የግንኙነት ፑለር ፈጠርን እሱም ኦዲሴይ ይባላል። ከባዶ ነው የጻፍነው።

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

https://www.pgcon.org/2019/schedule/events/1312.en.html

እ.ኤ.አ. በ 2019፣ በPgCon፣ ይህንን ጎታች ለገንቢው ማህበረሰብ አቅርቤዋለሁ። አሁን በ GitHub ላይ ከ 2 ያነሰ ኮከቦች አሉን, ማለትም, ፕሮጀክቱ በህይወት አለ, ፕሮጀክቱ ታዋቂ ነው.

እና በ Yandex.Cloud ውስጥ የ Postgres ክላስተር ከፈጠሩ፣ አብሮ የተሰራው Odyssey ያለው ክላስተር ይሆናል፣ ይህም ክላስተር ወደ ኋላ እና ወደ ፊት ሲመዘን እንደገና ይዋቀራል።

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

ከዚህ ፕሮጀክት ምን ተምረናል? ተፎካካሪ ፕሮጄክትን መክፈት ምንጊዜም ጨካኝ እርምጃ ነው፣ በፍጥነት ያልተፈቱ፣ የሚስማሙን በጊዜ ክፍተቶች ያልተፈቱ ችግሮች አሉ ስንል የመጨረሻ አማራጭ ነው። ግን ውጤታማ መለኪያ ነው.

PgBouncer በፍጥነት ማደግ ጀመረ።

እና አሁን ሌሎች ፕሮጀክቶች አሉ. ለምሳሌ, በ Red Hat ገንቢዎች የተገነባው pgagroal. ተመሳሳይ ግቦችን ያሳድዳሉ እና ተመሳሳይ ሀሳቦችን ይተገብራሉ ፣ ግን በእርግጥ ፣ ከራሳቸው ዝርዝር ጋር ፣ ወደ pgagroal ገንቢዎች ቅርብ ናቸው።

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

ከድህረ-ገጽ ማህበረሰብ ጋር አብሮ የመስራት ሌላ ጉዳይ ወደ አንድ ነጥብ ወደነበረበት መመለስ ነው። ይህ የአደጋ ማገገም ነው፣ ይህ ከመጠባበቂያ ቅጂ ወደነበረበት መመለስ ነው።

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

ብዙ ምትኬዎች አሉ እና ሁሉም የተለያዩ ናቸው። ሁሉም ማለት ይቻላል የ Postgres አቅራቢ የራሱ የሆነ የመጠባበቂያ መፍትሄ አለው።

ሁሉንም የመጠባበቂያ ስርዓቶች ከወሰድን, የባህሪያትን ማትሪክስ ካደረግን እና በዚህ ማትሪክስ ውስጥ ያለውን ወሳኙን በቀልድ እናሰላለን, ከዚያ ዜሮ ይሆናል. ይህ ምን ማለት ነው? የተለየ ምትኬን ከወሰዱ ፣ ከዚያ ከሌሎቹ ሁሉ ቁርጥራጮች መሰብሰብ አይቻልም። በአተገባበሩ ውስጥ ልዩ ነው, በዓላማው ልዩ ነው, በእሱ ውስጥ በተካተቱት ሀሳቦች ውስጥ ልዩ ነው. እና ሁሉም የተለዩ ናቸው.

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

https://www.citusdata.com/blog/2017/08/18/introducing-wal-g-faster-restores-for-postgres/

ይህንን ጉዳይ ስንመረምር CitusData የWAL-G ፕሮጀክትን ጀመረ። ይህ በደመና አካባቢ ላይ በአይን የተሰራ የመጠባበቂያ ስርዓት ነው። CitusData አሁን የማይክሮሶፍት አካል ነው። እና በዚያን ጊዜ፣ በዋል-ጂ የመጀመሪያ እትሞች ላይ የተቀመጡትን ሀሳቦች በጣም ወደድን። እናም ለዚህ ፕሮጀክት አስተዋፅኦ ማድረግ ጀመርን.

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

https://github.com/wal-g/wal-g/graphs/contributors

አሁን በዚህ ፕሮጀክት ውስጥ በደርዘን የሚቆጠሩ ገንቢዎች አሉ ነገርግን 10 ዋናዎቹ የWAL-G አስተዋፅዖ አበርካቾች 6 Yandexoids ያካትታሉ። ብዙ ሀሳቦቻችንን ወደዚያ አመጣን. እና በእርግጥ እኛ እራሳችንን ተግባራዊ አድርገናል ፣ እራሳችንን ፈትነን ፣ እራሳችንን ወደ ምርት አውጥተናቸው ፣ እራሳችንን እንጠቀማቸዋለን ፣ ወደሚቀጥለው የት መሄድ እንዳለብን አውቀናል ፣ ከትልቅ የዋል-ጂ ማህበረሰብ ጋር እየተገናኘን ።

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

እና ከኛ እይታ አንጻር አሁን ይህ የመጠባበቂያ ስርዓት ጥረታችንን ግምት ውስጥ በማስገባት ለደመናው አካባቢ ተስማሚ ሆኗል. ይህ Postgresን ወደ ደመናው ከመደገፍ የተሻለ ነው።

ምን ማለት ነው? በጣም የሚያምር ሀሳብ እየገፋን ነበር፡ ምትኬዎች ደህንነታቸው የተጠበቀ፣ ለመስራት ርካሽ እና በተቻለ ፍጥነት ወደነበረበት መመለስ አለባቸው።

ቀዶ ጥገና ማድረግ ለምን ርካሽ ይሆናል? ምንም ነገር በማይሰበርበት ጊዜ, ምትኬዎች እንዳሉዎት ማወቅ የለብዎትም. ሁሉም ነገር በትክክል ይሰራል፣ በተቻለ መጠን ትንሽ ሲፒዩ ታባክናለህ፣ በተቻለህ መጠን ትንሽ የዲስክ ሃብቶች ትጠቀማለህ፣ እና የምትችለውን ያህል ጥቂት ባይት ወደ አውታረ መረቡ ትልካለህ ውድ የሆኑ አገልግሎቶችህን ጫና እንዳያስተጓጉልህ።

እና ሁሉም ነገር ሲበላሽ, ለምሳሌ, አስተዳዳሪው ውሂቡን ጥሎታል, የሆነ ችግር ተፈጥሯል, እና በአስቸኳይ ወደ ያለፈው መመለስ ያስፈልግዎታል, ሁሉንም ገንዘቦች ያገኙታል, ምክንያቱም ውሂብዎ በፍጥነት እና በትክክል እንዲመለስ ስለፈለጉ.

እና ይህን ቀላል ሀሳብ አሻሽለነዋል። እና፣ ለእኛ እንደሚመስለን፣ ልንገነዘበው ችለናል።

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

ግን ያ ብቻ አይደለም። አንድ ተጨማሪ ትንሽ ነገር እንፈልጋለን. ብዙ የተለያዩ የውሂብ ጎታዎችን እንፈልጋለን። ሁሉም ደንበኞቻችን Postgresን አይጠቀሙም። አንዳንዶች MySQL፣ MongoDB ይጠቀማሉ። በማህበረሰቡ ውስጥ፣ ሌሎች ገንቢዎች FoundationDBን ደግፈዋል። እና ይህ ዝርዝር በየጊዜው እየሰፋ ነው.

ማህበረሰቡ በደመና ውስጥ በሚተዳደር አካባቢ ውስጥ የውሂብ ጎታ እንዲሰራ ሀሳብን ይወዳል። እና ገንቢዎች የውሂብ ጎታዎቻቸውን ያቆያሉ, ይህም በመጠባበቂያ ስርዓታችን ከ Postgres ጋር አንድ ወጥ በሆነ መልኩ ሊገለበጡ ይችላሉ.

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

ከዚህ ታሪክ ምን ተማርን? የእኛ ምርት, እንደ ልማት ክፍል, የኮድ መስመሮች አይደሉም, እነዚህ ኦፕሬተሮች አይደሉም, እነዚህ ፋይሎች አይደሉም. የእኛ ምርት የመሳብ ጥያቄዎች አይደለም። ለህብረተሰቡ የምናስተላልፋቸው ሃሳቦች ናቸው። ይህ የቴክኖሎጂ እውቀት እና የቴክኖሎጂ እንቅስቃሴ ወደ ደመና አካባቢ ነው.

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

እንደ Postgres ያለ የውሂብ ጎታ አለ. የ Postgres ኮርን ምርጡን እወዳለሁ። የፖስትግሬስ ኮርን ከማህበረሰቡ ጋር በማዳበር ብዙ ጊዜ አሳልፋለሁ።

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

እዚህ ግን Yandex.Cloud የሚተዳደሩ የውሂብ ጎታዎች ውስጣዊ ጭነት አለው ማለት አለብኝ. እና ከረጅም ጊዜ በፊት በ Yandex.Mail ውስጥ ተጀምሯል. አሁን ወደ የሚተዳደረው ፖስትግሬስ ያደረሰው የእውቀት አይነት የተጠራቀመው ደብዳቤው ወደ ፖስትግሬስ መጣል ሲፈልግ ነው።

ደብዳቤ ከደመናው ጋር በጣም ተመሳሳይ የሆኑ መስፈርቶች አሉት። በመረጃዎ ውስጥ በማንኛውም ጊዜ ላልተጠበቀ ገላጭ እድገት መመዘን እንዲችሉ ይፈልጋል። እና ደብዳቤው ቀድሞውንም በመቶ ሚሊዮኖች የሚቆጠሩ ብዙ ጥያቄዎችን የሚጠይቁ እጅግ በጣም ብዙ የተጠቃሚዎች የመልእክት ሳጥኖች አሉት።

እና ለፖስትግሬስ ልማት ቡድን ትልቅ ፈተና ነበር። ከዚያም ያጋጠሙን ችግሮች ሁሉ ለህብረተሰቡ ሪፖርት ተደረገ። እና እነዚህ ችግሮች የተስተካከሉ እና በማህበረሰቡ የተስተካከሉ ቦታዎች ላይ ለተወሰኑ ሌሎች የውሂብ ጎታዎች እና እንዲያውም የተሻለ ክፍያ በሚከፈልበት ደረጃ ላይ ነው. ማለትም፣ ለ PgSQL ጠላፊ ደብዳቤ መላክ እና በ40 ደቂቃ ውስጥ ምላሽ ማግኘት ትችላለህ። በአንዳንድ የውሂብ ጎታዎች ውስጥ የሚከፈል ድጋፍ ከእርስዎ ሳንካ የበለጠ ቅድሚያ የሚሰጣቸው ነገሮች እንዳሉ ሊያስብ ይችላል።

አሁን የውስጥ የፖስትግሬስ ጭነት አንዳንድ petabytes ውሂብ ነው። እነዚህ በሰከንድ በሚሊዮን የሚቆጠሩ ጥያቄዎች ናቸው። እነዚህ በሺዎች የሚቆጠሩ ዘለላዎች ናቸው። እሷ በጣም ትልቅ ነች።

ግን አንድ ልዩነት አለ. የምትኖረው በፋሽኑ የኔትወርክ ድራይቮች ላይ ሳይሆን ቀላል በሆነ ሃርድዌር ላይ ነው። እና በተለይ አስደሳች ለሆኑ አዳዲስ ነገሮች የሙከራ አካባቢ አለ።

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

እና በሙከራ አካባቢ ውስጥ በሆነ ጊዜ, የውሂብ ጎታ ኢንዴክሶች ውስጣዊ ልዩነቶች እንደተጣሱ የሚያመለክተው እንዲህ አይነት መልእክት ደርሶናል.

የማይለዋወጥ ሁልጊዜ እንዲኖረን የምንጠብቀው አንድ ዓይነት ግንኙነት ነው።

ለእኛ በጣም ወሳኝ ሁኔታ. አንዳንድ መረጃዎች የጠፉ ሊሆኑ እንደሚችሉ ይጠቁማል። እና የውሂብ መጥፋት በጣም አስከፊ የሆነ ነገር ነው።

በሚተዳደር ዳታቤዝ ውስጥ የምንከተለው አጠቃላይ ሃሳብ በጥረቱም ቢሆን መረጃን ማጣት አስቸጋሪ እንደሚሆን ነው። ሆን ብለው ቢያስወግዷቸውም, አሁንም ለረጅም ጊዜ መቅረታቸውን ችላ ማለት ያስፈልግዎታል. የመረጃ ታማኝነት በትጋት የምንከተለው ሃይማኖት ነው።

እና ከዚያ እኛ ዝግጁ የማንሆንበት ሁኔታ ሊኖር እንደሚችል የሚጠቁም ሁኔታ ተፈጠረ። እናም ለዚህ ሁኔታ መዘጋጀት ጀመርን.

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

https://commitfest.postgresql.org/23/2171/

የመጀመሪያው ነገር ከእነዚህ በሺዎች ከሚቆጠሩ ስብስቦች ውስጥ ያሉትን እንጨቶች መቅበር ነበር. የትኛዎቹ ዘለላዎች የውሂብ ገጾችን ማዘመን የጠፋባቸው ችግር ያለበት firmware ባላቸው ዲስኮች ላይ እንደሚገኙ አግኝተናል። ሁሉንም የ Postgres ኮድ ውሂብ ምልክት አድርጓል። እና እነዚያ የውስጥ ተለዋዋጮችን መጣስ የሚያመለክቱ መልእክቶች የውሂብ መበላሸትን ለመለየት በተዘጋጀ ኮድ ምልክት አድርገናል።

ይህ ፕላስተር ብዙም ሳይወያይ በህብረተሰቡ ዘንድ ተቀባይነት አግኝቷል፣ ምክንያቱም በእያንዳንዱ ጉዳይ ላይ አንድ መጥፎ ነገር እንደተፈጠረ ግልጽ ሆኖ ስለእሱ በመዝገቡ ውስጥ መታወቅ አለበት።

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

ከዚያ በኋላ መዝገቦቹን የሚቃኝ ክትትል አለን የሚል መደምደሚያ ላይ ደርሰናል። እና አጠራጣሪ መልእክቶች ካሉ፣ አስተናጋጁን ከእንቅልፉ ሲነቃቁ፣ አገልጋዩም ያስተካክለዋል።

ግን! የምዝግብ ማስታወሻዎችን መቃኘት በአንድ ክላስተር ላይ ርካሽ ቀዶ ጥገና ሲሆን በሺዎች ለሚቆጠሩ ዘለላዎች በጣም ውድ ነው።

የሚል ቅጥያ ጽፈናል። የምዝግብ ማስታወሻዎች. ያለፉ የስህተት ስታቲስቲክስ በርካሽ እና በፍጥነት ሊሞላ የሚችልበትን የውሂብ ጎታ እይታ ይፈጥራል። እና አስተናጋጁን መቀስቀስ ከፈለጉ ስለእሱ የምናገኘው ጊጋባይት ፋይሎችን በመቃኘት ሳይሆን ከሃሽ ጠረጴዛው ላይ ጥቂት ባይት በማውጣት ነው።

ይህ ቅጥያ ተቀባይነት አግኝቷል፣ ለምሳሌ፣ በማከማቻ ማከማቻ ውስጥ ለ CentOS. እሱን ለመጠቀም ከፈለጉ እራስዎ መጫን ይችላሉ። በእርግጥ ክፍት ምንጭ ነው።

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

https://www.postgresql.org/message-id/flat/[ኢሜል የተጠበቀ]

ግን ያ ብቻ አይደለም። በመረጃ ጠቋሚዎች ውስጥ የማይለዋወጡ ጥሰቶችን ለማግኘት በማህበረሰብ የተፈጠረ ቅጥያ የሆነውን Amcheck መጠቀም ጀመርን።

እና እርስዎ በሚዛን ላይ ከተጠቀሙበት, እንግዲያውስ ስህተቶች እንዳሉ አውቀናል. እነሱን መስራት ጀመርን. የእኛ እርማቶች ተቀባይነት አግኝተዋል.

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

https://www.postgresql.org/message-id/flat/[ኢሜል የተጠበቀ]

ይህ ቅጥያ GiST እና GIT ኢንዴክሶችን መተንተን አለመቻሉን አግኝተናል። እንዲደግፉ አደረግን። ግን ይህ ድጋፍ አሁንም በህብረተሰቡ እየተወያየ ነው, ምክንያቱም ይህ በአንጻራዊነት አዲስ ተግባር ስለሆነ እና ብዙ ዝርዝሮች አሉ.

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

https://commitfest.postgresql.org/29/2667/

እና ደግሞ በማባዛት መሪው ላይ ለተፈጸሙ ጥሰቶች ኢንዴክሶችን በማጣራት ላይ, ሁሉም ነገር በጌታው ላይ በደንብ ይሰራል, ነገር ግን ቅጂዎች, ተከታይ ላይ, የሙስና ፍለጋ በጣም ውጤታማ አይደለም. ሁሉም ተለዋዋጮች የተረጋገጡ አይደሉም። እና አንድ የማይለዋወጥ ነገር በጣም አስጨንቆናል። ይህንን ቼክ በቅጂዎች ላይ ለማንቃት ለአንድ አመት ተኩል ያህል ከህብረተሰቡ ጋር ተወያይተናል።

ሁሉንም የሚችሉትን... ፕሮቶኮሎችን መከተል ያለበትን ኮድ ጻፍን። ስለዚህ መጣፊያ ከፒተር ጋጋን ከCrunchy Data ጋር ረጅም ውይይት አድርገናል። ይህንን ፕላስተር ለመቀበል በፖስትግሬስ ያለውን የቢ-ዛፍ በጥቂቱ ማሻሻል ነበረበት። ተቀባይነት አግኝቷል። እና አሁን ያጋጠሙንን ጥሰቶች ለማወቅ ቅጂዎች ላይ ኢንዴክሶችን መፈተሽ በጣም ውጤታማ ሆኗል። ያም ማለት እነዚህ በዲስክ firmware ውስጥ ባሉ ስህተቶች ፣ በ Postgres ውስጥ ያሉ ስህተቶች ፣ በሊኑክስ ከርነል ውስጥ ያሉ ስህተቶች ፣ የሃርድዌር ችግሮች ሊሆኑ የሚችሉ ጥሰቶች ናቸው። እየተዘጋጀንበት የነበረው የችግሮች ምንጭ ሰፊ ዝርዝር።

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

https://www.postgresql.org/message-id/flat/38AF687F-8F6B-48B4-AB9E-A60CFD6CC261%40enterprisedb.com#0e86a12c01d967bac04a9bf83cd337cb

ግን ከኢንዴክሶች በተጨማሪ እንደ ክምር ያለ ክፍል አለ ፣ ማለትም መረጃው የሚከማችበት ቦታ። እና ሊመረመሩ የሚችሉ ብዙ ተለዋዋጮች የሉም።

Heapcheck የሚባል ቅጥያ አለን። ማልማት ጀመርን። እና ከእኛ ጋር በትይዩ፣ የኢንተርፕራይዝ ዲቢ ኩባንያም በተመሳሳይ መልኩ ሄፕቼክ ብለው የሰየሙትን ሞጁል መፃፍ ጀመረ። እኛ ብቻ PgHeapcheck ብለን ጠራነው፣ እና እነሱ ሄፕ ቼክ ብለውታል። ተመሳሳይ ተግባራት አሏቸው, ትንሽ ለየት ያለ ፊርማ, ግን ተመሳሳይ ሀሳቦች. በቦታዎች ትንሽ በተሻለ ሁኔታ ተግባራዊ አድርገዋል። እና ቀደም ሲል በክፍት ምንጭ ውስጥ ተዘርግቷል.

እና አሁን የእነሱን ማራዘሚያ በማዳበር ስራ ላይ ነን, ምክንያቱም ይህ የእነሱ ቅጥያ አይደለም, ግን የማህበረሰብ ቅጥያ ነው. እና ለወደፊቱ ይህ ስለወደፊቱ ችግሮች አስቀድሞ ለማወቅ እንዲቻል ለሁሉም ሰው የሚቀርበው የከርነል አካል ነው።

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

https://www.postgresql.org/message-id/flat/fe9b3722df94f7bdb08768f50ee8fe59%40postgrespro.ru

በአንዳንድ ቦታዎች፣ በእኛ ተቆጣጣሪዎች ውስጥ የውሸት አዎንታዊ ውጤቶች አሉን ወደሚል መደምደሚያ ላይ ደርሰናል። ለምሳሌ ስርዓት 1C. ዳታቤዝ በሚጠቀሙበት ጊዜ ፖስትግሬስ አንዳንድ ጊዜ ራሱን ማንበብ የሚችል መረጃ ይጽፋል ነገር ግን pg_dump ማንበብ አይችልም።

ይህ ሁኔታ የኛን ችግር ማወቂያ ስርዓት ሙስና ይመስላል። አስተናጋጁ ነቃ። አገልጋዩ የሚሆነውን ለማየት ተመለከተ። ከተወሰነ ጊዜ በኋላ አንድ ደንበኛ መጣና ችግር እንዳለብኝ ነገረኝ። አስተናጋጁ ችግሩ ምን እንደሆነ ገለጸ። ችግሩ ግን በፖስትግሬስ ከርነል ውስጥ ነው።

የዚህ ባህሪ ውይይት አገኘሁ። እናም ይህን ባህሪ እንዳጋጠመን ጽፏል እና ደስ የማይል ነበር, አንድ ሰው ምን እንደሆነ ለማወቅ በምሽት ከእንቅልፉ ተነሳ.

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

https://www.postgresql.org/message-id/flat/fe9b3722df94f7bdb08768f50ee8fe59%40postgrespro.ru

ማህበረሰቡም “ኧረ በእውነት፣ መስተካከል አለበት” ሲል መለሰ።

ቀላል ተመሳሳይነት አለኝ። የአሸዋ እህል ባለው ጫማ ውስጥ ከተራመዱ, በመርህ ደረጃ, የበለጠ መሄድ ይችላሉ - ምንም አይደለም. ጫማ ለሺህ ሰው ከሸጥክ ጫማ ያለ አሸዋ እንስራ። እና ከጫማዎ ተጠቃሚዎች አንዱ ማራቶን የሚሮጥ ከሆነ በጣም ጥሩ ጫማዎችን መስራት ይፈልጋሉ እና ከዚያ ለሁሉም ተጠቃሚዎችዎ ሚዛን ያድርጉ። እና እንደዚህ ያሉ ያልተጠበቁ ተጠቃሚዎች ሁልጊዜ በደመና አካባቢ ውስጥ ናቸው. ክላስተርን በሆነ ኦሪጅናል መንገድ የሚሰሩ ሁል ጊዜ ተጠቃሚዎች አሉ። ለዚህ ሁልጊዜ መዘጋጀት አለብዎት.

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

እዚህ ምን ተማርን? አንድ ቀላል ነገር ተምረናል፡ በጣም አስፈላጊው ነገር ችግር እንዳለ ለህብረተሰቡ ማስረዳት ነው። ህብረተሰቡ ችግሩን አውቆ ከሆነ ችግሩን ለመፍታት ተፈጥሯዊ ውድድር አለ ማለት ነው። ምክንያቱም ሁሉም ሰው አንድ አስፈላጊ ችግር ለመፍታት ይፈልጋል. ሁሉም ሻጮች፣ ሁሉም ጠላፊዎች እራሳቸው ይህንን መሰቅሰቂያ ላይ መርገጥ እንደሚችሉ ስለሚረዱ እነሱን ማጥፋት ይፈልጋሉ።

በሆነ ችግር ላይ እየሰሩ ከሆነ ግን ካንተ በስተቀር ማንንም አይረብሽም ነገር ግን በስርአት እየሰራህው እና በመጨረሻ እንደ ችግር ተቆጥሮ ከሆነ የመጎተት ጥያቄህ በእርግጠኝነት ተቀባይነት ይኖረዋል። ማጣበቂያዎ ተቀባይነት ይኖረዋል፣ የእርስዎ ማሻሻያዎች ወይም የማሻሻያ ጥያቄዎች በማህበረሰቡ ዘንድ ግምት ውስጥ ይገባል። ከሁሉም በላይ, የውሂብ ጎታውን እርስ በርስ የተሻለ እናደርጋለን.

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

አስደሳች የመረጃ ቋት ግሪንፕለም ነው። እኔ የማውቀው በ Postgres codebase ላይ የተመሰረተ በጣም ትይዩ የሆነ ዳታቤዝ ነው።

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

https://greenplum.org/greenplum-database-tables-compression/

እና ግሪንፕላም አስደሳች ተግባር አለው - የተመቻቹ ጠረጴዛዎችን አባሪ ነው። እነዚህ በፍጥነት መጨመር የሚችሉባቸው ጠረጴዛዎች ናቸው. እነሱ አምድ ወይም መስመር ውስጥ ሊሆኑ ይችላሉ.

ግን ክላስተር አልነበረም ፣ ማለትም ፣ በሠንጠረዥ ውስጥ የሚገኘውን መረጃ በአንድ ኢንዴክሶች ውስጥ ባለው ቅደም ተከተል ማዘዝ ሲችሉ ምንም ተግባር አልነበረም።

የታክሲው ሰዎች ወደ እኔ መጡና “አንድሬ፣ ፖስትግሬስን ታውቃለህ። እና እዚህ ከሞላ ጎደል ተመሳሳይ ነው። ለ 20 ደቂቃዎች መቀየር. ውሰዱና አድርጉት" ብዬ አሰብኩ ፣ አዎ ፣ ፖስትግሬስን አውቃለሁ ፣ ወደ 20 ደቂቃዎች በመቀየር - ይህንን ማድረግ አለብኝ።

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

https://github.com/greenplum-db/gpdb/commit/179feb77a034c2547021d675082aae0911be40f7

ግን አይሆንም፣ 20 ደቂቃ አልነበረም፣ ይህንን ለወራት እየጻፍኩ ነው። በPgConf.Russia ኮንፈረንስ፣ ከፒቮታል ወደ ሄይኪ ሊናካንጋስ ጠጋ አልኩና “በዚህ ላይ ችግሮች አሉ? የአባሪ የተመቻቹ የጠረጴዛዎች ስብስብ ለምን የለም?" እንዲህ ይላል፡ “መረጃውን ትወስዳለህ። መደርደር፣ መተርጎም። ስራ ብቻ ነው" እኔ፡ “አዎ፣ በቃ ሄዳችሁ ማድረግ አለባችሁ።” “አዎ፣ ይህንን ለማድረግ ነፃ እጆች ያስፈልጉናል” ይላል። እኔ ማድረግ ያለብኝ ይህ ነው ብዬ አሰብኩ።

እና ከጥቂት ወራት በኋላ ይህን ተግባር ተግባራዊ የሚያደርግ የመጎተቻ ጥያቄ ልኬ ነበር። ይህ የመሳብ ጥያቄ ከማህበረሰቡ ጋር በጥምረት በፒቮታል ታይቷል። እርግጥ ነው, ስህተቶች ነበሩ.

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

https://github.com/greenplum-db/gpdb/issues/10150

ነገር ግን በጣም የሚያስደንቀው ነገር ይህ የመጎተት ጥያቄ ሲዋሃድ በራሱ በግሪንፕለም ውስጥ ስህተቶች ተገኝተዋል። ክምር ጠረጴዛዎች አንዳንድ ጊዜ ሲሰበሰቡ የግብይት ልውውጥን እንደሚሰብሩ አግኝተናል። እና ይሄ ነው መስተካከል ያለበት። እና አሁን የነካሁት ቦታ ላይ ነች። እና የእኔ የተፈጥሮ ምላሽ ነበር - ደህና፣ እኔም ይህን ላድርግ።

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

https://github.com/greenplum-db/gpdb/pull/10290

ይህንን ስህተት አስተካክዬዋለሁ። ለመጠገን የመሳብ ጥያቄ ልኳል። ተገደለ።

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

https://github.com/greenplum-db/gpdb-postgres-merge/pull/53

ከዚያ በኋላ ይህ ተግባር በግሪንፕለም ስሪት ለ PostgreSQL 12 ማግኘት እንደሚያስፈልግ ተገለጸ። ይህ ማለት የ 20 ደቂቃዎች ጀብዱዎች በአዲስ አስደሳች ጀብዱዎች ይቀጥላሉ ። ማህበረሰቡ አዲስ እና በጣም አስፈላጊ ባህሪያትን የሚመለከትበትን አሁን ያለውን እድገት መንካት አስደሳች ነበር። ሞቷል::

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

https://github.com/greenplum-db/gpdb/pull/10565

ግን በዚህ አላበቃም። ከሁሉም በላይ, ለዚህ ሁሉ ሰነድ መጻፍ አስፈላጊ ሆኖ ተገኝቷል.

ሰነድ መጻፍ ጀመርኩ። እንደ እድል ሆኖ፣ የፒቮታል ሰነዶች አብረው መጡ። ለእነሱ እንግሊዘኛ የአፍ መፍቻ ቋንቋቸው ነው። በሰነዱ ረድተውኛል። እንደውም እነሱ ራሳቸው እኔ ያቀረብኩትን ወደ እውነተኛ እንግሊዘኛ ጻፉት።

እና ያ የጀብዱ መጨረሻ ይመስላል። እና ቀጥሎ ምን እንደተፈጠረ ታውቃለህ? የታክሲው ሰዎች ወደ እኔ መጡና "አሁንም ሁለት ጀብዱዎች አሉ እያንዳንዳቸው ለ 10 ደቂቃዎች." እና ምን ልንገራቸው? እኔ አሁን በመጠኑ ላይ ሪፖርት አደርጋለሁ ፣ ከዚያ ጀብዱዎችዎን እናያለን አልኩ ፣ ምክንያቱም ይህ አስደሳች ሥራ ነው ።

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

በዚህ ጉዳይ ላይ ምን ተማርን? ከክፍት ምንጭ ጋር አብሮ መስራት ሁልጊዜ ከተወሰነ ሰው ጋር አብሮ መስራት ሁልጊዜ ከማህበረሰቡ ጋር አብሮ መስራት ነው. ምክንያቱም በየደረጃው ከአንዳንድ ገንቢዎች፣ ከአንዳንድ ሞካሪዎች፣ ከጠላፊዎች፣ ከዶክመንተሮች፣ ከአንዳንድ አርክቴክቶች ጋር ሠርቻለሁ። ከግሪንፕለም ጋር አልሰራም ነበር፣ በግሪንፕለም ዙሪያ ካሉ ሰዎች ጋር ነው የሰራሁት።

ግን! ሌላ አስፈላጊ ነጥብ አለ - ሥራ ብቻ ነው. ይኸውም መጥተህ ቡና ጠጣ፣ ኮድ ጻፍ። ሁሉም ዓይነት ቀላል የማይለዋወጥ ነገሮች ይሠራሉ. በትክክል ያድርጉት - ደህና ይሆናል! እና በጣም አስደሳች ስራ ነው። ለዚህ ስራ ከYandex.Cloud ደንበኞች፣የእኛ ዘለላዎች ተጠቃሚዎች ከ Yandex ውስጥም ሆነ ከውጭ ጥያቄ አለ። እና፣ የምንሳተፍባቸው ፕሮጀክቶች ቁጥር የሚጨምር እና የተሳትፎው ጥልቀትም የሚጨምር ይመስለኛል።

ይኼው ነው. ወደ ጥያቄዎች እንለፍ።

በክፍት ምንጭ ዳታቤዝ ውስጥ ምን እና ለምን እንደምናደርግ። አንድሬ ቦሮዲን (Yandex.Cloud)

የጥያቄ ክፍለ ጊዜ

ሀሎ! ሌላ የጥያቄ እና መልስ ክፍለ ጊዜ አለን። እና ስቱዲዮ ውስጥ Andrey Borodin. ስለ Yandex.Cloud እና Yandex ምንጭ ለመክፈት ስላበረከቱት አስተዋጽዖ የነገረዎት ይህ ሰው ነው። ሪፖርታችን ሙሉ በሙሉ ስለ ክላውድ አይደለም, ግን በተመሳሳይ ጊዜ, በእንደዚህ አይነት ቴክኖሎጂዎች ላይ የተመሰረተ ነው. በ Yandex ውስጥ ላደረጉት ነገር ካልሆነ በ Yandex.Cloud ውስጥ ምንም አገልግሎት አልነበረም, ስለዚህ በግሌ አመሰግናለሁ. እና ከስርጭቱ ውስጥ የመጀመሪያው ጥያቄ: "በጠቀስካቸው በእያንዳንዱ ፕሮጀክቶች ውስጥ ምን ተጽፏል?".

በ WAL-G ውስጥ ያለው የመጠባበቂያ ስርዓት በ Go ውስጥ ተጽፏል. ይህ ከሰራናቸው አዳዲስ ፕሮጀክቶች አንዱ ነው። እሱ በትክክል 3 ዓመቱ ብቻ ነው። እና የመረጃ ቋቱ ብዙውን ጊዜ ስለ አስተማማኝነት ነው። እና ይህ ማለት የመረጃ ቋቶቹ በጣም ያረጁ ናቸው እና ብዙውን ጊዜ የሚፃፉት በ C. የ Postgres ፕሮጀክት ከ 30 ዓመታት በፊት ነው ። ከዚያ C89 ትክክለኛው ምርጫ ነበር. እና ፖስትግሬስ በላዩ ላይ ተጽፏል. እንደ ClickHouse ያሉ ተጨማሪ ዘመናዊ የውሂብ ጎታዎች በተለምዶ በC++ ውስጥ ተጽፈዋል። ሁሉም የስርዓት ልማት በ C እና C ++ ዙሪያ የተመሰረተ ነው.

በክላውድ ውስጥ ወጪዎችን ከሚቆጣጠረው የፋይናንስ አስተዳዳሪችን የቀረበ ጥያቄ፡- "ክላውድ ለምን ክፍት ምንጭን ለመደገፍ ገንዘብ ያጠፋል?"

ለፋይናንስ አስተዳዳሪ ቀላል መልስ አለ. ይህን የምናደርገው አገልግሎታችንን ለማሻሻል ነው። በምን መንገድ የተሻለ ማድረግ እንችላለን? ነገሮችን የበለጠ ቀልጣፋ፣ፈጣን ማድረግ፣ነገሮችን የበለጠ መጠነ-ሰፊ ማድረግ እንችላለን። ለእኛ ግን ይህ ታሪክ በዋነኝነት ስለ አስተማማኝነት ነው. ለምሳሌ, በመጠባበቂያ ስርዓቱ ውስጥ, በእሱ ላይ የሚተገበሩትን 100% ጥገናዎች እንገመግማለን. ኮዱ ምን እንደሆነ እናውቃለን። እና አዳዲስ ስሪቶችን ወደ ምርት መልቀቅ የበለጠ ዘና ያለ ነን። ያም ማለት በመጀመሪያ ደረጃ, በራስ መተማመን, ለልማት ዝግጁነት እና ስለ አስተማማኝነት ነው

ሌላ ጥያቄ: "በ Yandex.Cloud ውስጥ የሚኖሩ የውጭ ተጠቃሚዎች መስፈርቶች በውስጣዊ ክላውድ ውስጥ ከሚኖሩ ውስጣዊ ተጠቃሚዎች ይለያያሉ?".

የጭነት መገለጫው በእርግጥ የተለየ ነው። ነገር ግን በእኔ ዲፓርትመንት እይታ ሁሉም ልዩ እና አስደሳች ጉዳዮች የተፈጠሩት መደበኛ ባልሆነ ጭነት ላይ ነው። በምናብ የሚሠሩ ገንቢዎች፣ ገንቢዎች ያልተጠበቁ ነገሮችን ሲያደርጉ፣ ከውስጥም ከውጭም የመገኘት እድላቸው እኩል ነው። በዚህ ረገድ ሁላችንም አንድ አይነት ነን። እና ፣ ምናልባት ፣ በ Yandex የውሂብ ጎታዎች ውስጥ ብቸኛው አስፈላጊ ባህሪ በ Yandex ውስጥ ትምህርት አለን ማለት ነው። በአንድ ወቅት, አንዳንድ የመዳረሻ ዞን ሙሉ በሙሉ ወደ ጥላዎች ውስጥ ይገባል, እና ሁሉም የ Yandex አገልግሎቶች ይህ ቢሆንም, በሆነ መንገድ መስራታቸውን መቀጠል አለባቸው. እዚህ ትንሽ ልዩነት አለ. ነገር ግን በመረጃ ቋቱ እና በአውታረመረብ ቁልል መካከል ባለው በይነገጽ ላይ ብዙ R&D ይፈጥራል። አለበለዚያ ውጫዊ እና ውስጣዊ ጭነቶች ለተሻሻለ አስተማማኝነት እና አፈፃፀም ተመሳሳይ የባህሪ ጥያቄዎችን እና ተመሳሳይ ጥያቄዎችን ይፈጥራሉ።

የሚቀጥለው ጥያቄ፡- “የምትሰራው አብዛኛው ነገር በሌሎች ደመናዎች ስለሚጠቀም በግልህ ምን ይሰማሃል?” ነው። የተወሰኑትን አንጠቅስም፣ ነገር ግን በ Yandex.Cloud ውስጥ ያደረግናቸው አብዛኛዎቹ ፕሮጀክቶች በሌሎች ሰዎች ደመና ውስጥ ጥቅም ላይ ይውላሉ።

ይህ አሪፍ ነው. በመጀመሪያ, አንድ ነገር በትክክል እንደሰራን የሚያሳይ ምልክት ነው. እና ኢጎን ይቦጫጭራል። እና ትክክለኛውን ውሳኔ እንደወሰድን የበለጠ እርግጠኞች ነን. በሌላ በኩል፣ ወደፊት አዳዲስ ሀሳቦችን፣ ከሦስተኛ ወገን ተጠቃሚዎች አዲስ ጥያቄዎችን እንደሚያመጣልን ተስፋ ነው። በ GitHub ላይ ያሉ አብዛኛዎቹ ጉዳዮች የተፈጠሩት በግለሰብ ሲሳድሚኖች፣ በግለሰብ ዲቢኤዎች፣ በግለሰብ አርክቴክቶች፣ በግለሰብ መሐንዲሶች ነው፣ ነገር ግን አንዳንድ ጊዜ ስልታዊ ልምድ ያላቸው ሰዎች ወደ ውስጥ ገብተው በ 30% ከተወሰኑ ጉዳዮች ውስጥ እንደዚህ አይነት ችግር አለብን እና እንዴት እንደሚፈታ እናስብ ይላሉ ነው። በጣም የምንጠብቀው ይህ ነው። ተሞክሮዎችን ከሌሎች የደመና መድረኮች ጋር ለመጋራት እንጠባበቃለን።

ስለማራቶን ብዙ ተናግረሃል። በሞስኮ ማራቶን እንደሮጣችሁ አውቃለሁ። ከዚህ የተነሳ? ከፖስትግሬስ ፕሮ ወንዶቹን አገኛቸው?

አይ, Oleg Bartunov በጣም በፍጥነት ይሰራል. ከእኔ አንድ ሰዓት በፊት ጨረሰ። በአጠቃላይ፣ በሮጥኩት ነገር ደስተኛ ነኝ። ለእኔ፣ ማጠናቀቅ ብቻ ስኬት ነበር። በአጠቃላይ በድህረ-ገጽ ማህበረሰብ ውስጥ ብዙ ሯጮች መኖራቸው ያስገርማል። በኤሮቢክ ስፖርቶች እና በስርዓት ፕሮግራሚንግ ፍላጎት መካከል የተወሰነ ግንኙነት እንዳለ ይሰማኛል።

በ ClickHouse ውስጥ ሯጮች የሉም እያሉ ነው?

እነሱ እንዳሉ በእርግጠኝነት አውቃለሁ። ClickHouse እንዲሁ የውሂብ ጎታ ነው። በነገራችን ላይ አሁን ኦሌግ እንዲህ ሲል ጽፎልኛል: "ከሪፖርቱ በኋላ ለመሮጥ እንሂድ?" ይህ በጣም ጥሩ ሀሳብ ነው።

ከኒኪታ የተላለፈው ሌላ ጥያቄ፡ “በግሪንፕላም ውስጥ ያለውን ስህተት እራስዎ ለምን አስተካክሉት እና ለጁኒየር አልሰጡትም?” እውነት ነው, እዚህ ምን አይነት ስህተት እና በየትኛው አገልግሎት ውስጥ በጣም ግልፅ አይደለም, ግን, ምናልባት, የተናገርከው ማለት ነው.

አዎ, በመርህ ደረጃ, ለአንድ ሰው መስጠት ይችላሉ. አሁን የቀየርኩት ኮድ ብቻ ነው። እና እዚያ መደረጉን መቀጠል ተፈጥሯዊ ነበር። በመርህ ደረጃ እውቀትን ከቡድን ጋር የመጋራት ሀሳብ ጥሩ ሀሳብ ነው። የግሪንፕለም ስራዎችን በሁሉም ክፍላችን አባላት መካከል በእርግጠኝነት እናጋራለን።

ስለ ጁኒየር እየተነጋገርን ስለሆነ, እንደዚህ አይነት ጥያቄ. ሰውዬው በ Postgres ውስጥ የመጀመሪያውን ቁርጠኝነት ለመፍጠር ወሰነ. የመጀመሪያውን ቃል ለመፈጸም ምን ማድረግ ያስፈልገዋል?

ይህ አስደሳች ጥያቄ ነው: "ከየት መጀመር?". ብዙውን ጊዜ በከርነል ውስጥ በሆነ ነገር መጀመር ከባድ ነው። Postgres፣ ለምሳሌ፣ የተግባር ዝርዝር አለው። ግን በእውነቱ ይህ ለማድረግ የሞከሩት ነገር ግን ሊሳካላቸው አልቻለም። እነዚህ ውስብስብ ነገሮች ናቸው. እና አብዛኛውን ጊዜ በሥርዓተ-ምህዳር ውስጥ አንዳንድ መገልገያዎችን ማግኘት ይችላሉ ፣ አንዳንድ ሊሻሻሉ የሚችሉ ፣ ከከርነል ገንቢዎች ያነሰ ትኩረት የሚያገኙ። እና, በዚህ መሰረት, ለእድገት ተጨማሪ ነጥቦች አሉ. በየአመቱ በGoogle Summer of code ፕሮግራም፣ የፖስትግሬስ ማህበረሰቡ ሊብራሩ የሚችሉ ብዙ የተለያዩ ርዕሶችን ያቀርባል። ዘንድሮ ሶስት ተማሪዎች ያሉን ይመስላል። አንድ ሰው በWAL-G ውስጥ ለ Yandex ጠቃሚ በሆኑ ርዕሶች ላይ እንኳን ጽፏል. ከፖስትግሬስ ማህበረሰብ ይልቅ በግሪንፕለም ውስጥ ነገሮች ቀላል ናቸው፣ ምክንያቱም የግሪንፕላም ሰርጎ ገቦች በጉትት ጥያቄዎች በጣም ጥሩ ስለሆኑ እና ወዲያውኑ መገምገም ይጀምራሉ። ፕላስተር ወደ Postgres መላክ ለወራት አይነት ታሪክ ነው፣ እና ግሪንፕላም በአንድ ቀን ውስጥ መጥቶ ያደረከውን ያያል። ሌላው ነገር ግሪንፕላም ትክክለኛ ችግሮችን መፍታት አለበት. ግሪንፕለም በብዛት ጥቅም ላይ አይውልም, ስለዚህ የእርስዎን ችግር ማግኘት በጣም ከባድ ነው. እና በመጀመሪያ ደረጃ, በእርግጥ, ችግሮችን መፍታት አስፈላጊ ነው.

ምንጭ: hab.com