بوستجرس المهنية

نواصل نشر مقاطع الفيديو ونصوص من أفضل التقارير من مؤتمر PGConf.Russia 2019 . افتتح تقرير لل Oleg Bartunov حول موضوع "Postgres المهنية" الجزء العام من المؤتمر. يكشف تاريخ بوستجرس DBMS ، المساهمة الروسية في تطوير ، ميزات الهندسة المعمارية.

المواد السابقة في هذه السلسلة: "أخطاء نموذجية عند العمل مع PostgreSQL" بقلم إيفان فرولكوف ، الجزءان 1 و 2 .



سأتحدث عن Postgres المهنية. من فضلك لا تخلط مع الشركة التي أمثلها الآن - Postgres Professional.



سأتحدث عن كيف أصبحت بوستجرس ، التي بدأت كتطوير أكاديمي للهواة ، احترافية - كما نرى الآن. سأعبر فقط عن رأيي الشخصي ، ولا يعكس رأي الشركة أو أي مجموعة.



لقد حدث أن أستخدم و لا أقتبس بوستجرس ، لكن بشكل مستمر من 1995 إلى الوقت الحاضر. قصته كلها مرت أمام عيني ، أنا مشارك في الأحداث الرئيسية.

القصة


في هذه الشريحة ، أوجزت بإيجاز المشاريع التي شاركت فيها. كثير منهم على دراية لك. وسأبدأ تاريخ بوستجرس على الفور مع صورة قمت برسمها منذ عدة سنوات ، ثم قمت برسمها - يتزايد عدد الإصدارات ويزداد. وهو يعكس تطور قواعد البيانات العلائقية. على اليسار ، إن لم يكن أحد يعرف ذلك ، فهذا هو Michael Stonebreaker ، الذي يُطلق عليه اسم أب بوستجرس. فيما يلي أول مطورين "نوويين". الشخص الذي يجلس إلى اليمين هو Vadim Mikheev من كراسنويارسك ، وكان أحد المطورين الأساسيين.

سأبدأ قصة النموذج العلائقي مع شركة IBM ، والتي ساهمت بشكل كبير في هذه الصناعة. كانت IBM هي التي عملت لدى Edgar Codd ، أول ورقة بيضاء على IBM System R ظهرت من أحشاءها - كانت أول قاعدة بيانات علائقية. عمل مايك ستون بريكر في ذلك الوقت في بيركلي. قرأ هذا المقال واشتعلت فيه النيران مع رفاقه: نحن بحاجة إلى إنشاء قاعدة بيانات.



في تلك السنوات - في بداية السبعينيات - كما تشك ، لم يكن هناك الكثير من أجهزة الكمبيوتر. كان هناك PDP-11 لقسم علوم الكمبيوتر بأكمله في بيركلي ، وقد قاتل جميع الطلاب وأعضاء هيئة التدريس لآلة الزمن. تم استخدام هذا الجهاز بشكل أساسي لإجراء العمليات الحسابية. أنا نفسي عملت مثل هذا عندما كنت صغيراً: أنت تعطي المشغل مهمة ، يبدأها. لكن الطلاب والمطورين أرادوا العمل التفاعلي. لقد كان حلمنا - الجلوس في جهاز التحكم عن بُعد ، وإدخال البرامج ، وتصحيحها. وعندما قام مايك ستونبريكر وأصدقاؤه بصنع القاعدة الأولى ، أطلقوا عليها اسم Ingres - النظام الغرافيكي التفاعلي. لم يفهم الناس: لماذا التفاعلية؟ وكان هذا مجرد حلم لمطوريها. كان لديهم عميل وحدة تحكم يمكنهم من خلاله العمل مع Ingres. أعطى الكثير من صناعتنا. هل ترى كم عدد الأسهم من Ingres؟ هذه هي قواعد البيانات التي تأثر بها ، والتي تخبطت كوده. كان لدى Michael Stonebreaker الكثير من طلاب التطوير الذين غادروا ثم قاموا بتطوير Sybase و MS SQL و NonStop SQL و Illustra و Informix .

عندما تطورت Ingres إلى درجة أصبحت مثيرة للاهتمام من الناحية التجارية ، تم إنشاء Illustra (كان هذا عام 1992) ، وتم شراء رمز Illustra DBMS من قبل Informix ، والذي تم تناوله لاحقًا بواسطة IBM ، وبالتالي انتقل الرمز إلى DB2 . ولكن ما المهتمين IBM في إنجرس ؟ بادئ ذي بدء ، القابلية للتوسعة - تلك الأفكار الثورية التي طرحها Michael Stonebreaker منذ البداية ، معتقدًا أن قاعدة البيانات يجب أن تكون جاهزة لحل أي مشاكل تجارية. ولهذا ، من الضروري أن تضيف أنواع البيانات وطرق الوصول والوظائف إلى قاعدة البيانات. الآن ، بالنسبة لنا postgresists ، وهذا يبدو طبيعيا. في تلك السنوات ، كانت ثورة. منذ وقت Ingres و Postgres ، هذه الميزات ، أصبحت هذه الوظيفة المعيار الفعلي لجميع قواعد البيانات العلائقية. الآن تحتوي جميع قواعد البيانات على وظائف للمستخدم ، وعندما كتب Stonebreaker أن وظائف المستخدم مطلوبة ، أوراكل ، على سبيل المثال ، صرخ بأنها كانت خطيرة ، وأنه لا يمكن القيام بذلك لأن المستخدمين يمكن أن يضروا البيانات. الآن نرى أن الوظائف المعرفة من قبل المستخدم موجودة في جميع قواعد البيانات ، بحيث يمكنك إنشاء مجاميع وأنواع بيانات خاصة بك.



تم تطوير بوستجرز كتطور أكاديمي ، مما يعني: يوجد أستاذ ، لديه منحة للتطوير ، والطلاب وطلاب الدراسات العليا الذين يعملون معه. لا يمكن القيام بذلك من خلال قاعدة جدية جاهزة للإنتاج. ومع ذلك ، فإن أحدث إصدار من Berkeley - Postgres95 - قد أضف بالفعل SQL . بدأ مطورو الطلاب في ذلك الوقت بالفعل العمل في Illustra ، وجعلوا Informix وفقدوا الاهتمام في المشروع. قالوا: لدينا Postgres95 ، أعتبر من يحتاج إليها! أتذكر كل هذا بشكل جيد للغاية لأنني شخصياً كان واحداً من أولئك الذين تلقوا هذه الرسالة: كانت هناك قائمة بريدية ، وكان هناك أقل من 400 مشترك فيها. بدأ مجتمع Postgres95 بهؤلاء الأشخاص البالغ عددهم 400 شخص. لقد صوتنا جميعًا معًا لاتخاذ هذا المشروع. وجدنا متحمسًا اختار خادم CVS ، وسحبنا كل شيء إلى بنما ، لأن الخوادم كانت موجودة.



يبدأ محفوظات PostgreSQL [ببساطة Postgres فيما يلي] بالإصدار 6.0 ، نظرًا لأن الإصدارات 1 و 4 و 5 كانت لا تزال Postgres95. في 3 أبريل 1997 ، ظهر شعارنا - فيل. قبل ذلك ، كان لدينا حيوانات مختلفة. على صفحتي ، على سبيل المثال ، كان هناك الفهد لفترة طويلة ، مما يشير إلى أن بوستجرس سريع جدا. ثم أثير سؤال في القائمة البريدية: تحتاج قاعدة بياناتنا الكبيرة إلى حيوان خطير. وكتب أحدهم: فليكن فيلًا. لقد صوت الجميع معًا ، ثم قام شبابنا من سان بطرسبرغ برسم هذا الشعار. في البداية ، كان فيلًا في الألماس - إذا حفرت أعمق في آلة الزمن ، فسترى ذلك. تم اختيار الفيل لأن الفيلة لها ذاكرة جيدة جدًا. حتى أغاثا كريستي لديها قصة "الأفيال يمكن أن تتذكرها": الفيل منتقم للغاية ، وتذكر الجريمة لمدة خمسين عامًا ، ثم سحق الجاني. تم بعد ذلك تقسيم الماس ، والنمط الموجه ، وكانت النتيجة هذا الفيل. لذلك هذا هو واحد من أول المساهمات الروسية إلى بوستجرس.

Chitah الفهد استبدال الفيل في الماس: الفيل والماس

مراحل تطوير بوستجرس


كانت المهمة الأولى لتحقيق الاستقرار في عمله. اعتمد المجتمع شفرة المصدر للمطورين الأكاديميين. ما لم يكن هناك! بدأوا يجرف كل هذا لتجميع لائق. في هذه الشريحة ، سلطت الضوء على عام 1997 ، الإصدار 6.1 - ظهرت التدويل فيها. لقد أبرزتها ليس لأنني فعلت ذلك بنفسي (لقد كان حقًا أول تصحيح لي) ، ولكن لأنها كانت مرحلة مهمة. لقد اعتدت بالفعل على حقيقة أن Postgres يعمل مع أي لغة ، في أي لغة - في جميع أنحاء العالم. ثم فهم فقط ASCII ، أي ، لا 8 بتات ، لا توجد لغات أوروبية ، ولا روسية. بعد أن اكتشفت هذا ، وفقًا لمبادئ المصادر المفتوحة ، أخذت للتو وقدمت الدعم إلى لغات محلية. وبفضل هذا العمل ، ذهب بوستجرز إلى العالم. ورائي ، قدم اليابانية تاتسو إيشي الدعم للترميزات متعددة البايتات ، وأصبحت بوستجرس في جميع أنحاء العالم حقًا.

في عام 2005 ، تم تقديم دعم Windows . أتذكر هذه المناقشات الساخنة عندما كانوا يناقشون ذلك في القائمة البريدية. جميع المطورين كانوا أشخاصًا عاديين ، لقد عملوا تحت Unix أنت تصفق الآن ، وبنفس الطريقة رد فعل الناس بعد ذلك. وصوت ضد. استمرت لسنوات. علاوة على ذلك ، أصدرت SRA Computers Powergres ، منفذ Windows الأصلي ، قبل بضع سنوات. لكنه كان منتج ياباني بحت. عندما حصلنا في عام 2005 في الإصدار الثامن على دعم لنظام Windows ، اتضح أن هذه كانت خطوة قوية: لقد كان المجتمع منتفخًا. كان هناك الكثير من الناس والكثير من الأسئلة الغبية ، لكن المجتمع أصبح كبيرًا ، لقد أمسكنا بمستخدمي vinduzovye.

في عام 2010 ، كان لدينا المدمج في النسخ المتماثل. هذا ألم. أتذكر كم سنة من الناس ناضلوا من أجل التكرار ليكونوا في بوستجرس. في البداية قال الجميع: نحن لسنا بحاجة إلى النسخ المتماثل ، هذه ليست مسألة قاعدة بيانات ، إنها مسألة أدوات خارجية. إذا كان أي شخص يتذكر ، فعل Slony جان Wieck . بالمناسبة ، جاء "الأفيال" أيضًا من اللغة الروسية: سألني جان كيف سيكون "العديد من الأفيال" باللغة الروسية ، وأجبت: "الأفيال". فصنع سلوني. عملت هذه الأفيال مثل النسخ المتماثل المنطقي على مشغلات ، وتكوينها كان كابوسا - يتذكر قدامى المحاربين. علاوة على ذلك ، استمع الجميع لفترة طويلة إلى توم لين ، الذي ، كما أتذكر ، صرخ يائسة: لماذا يجب علينا تعقيد الكود مع النسخ المتماثل إذا كان يمكن القيام به خارج القاعدة؟ ولكن نتيجة لذلك ، لا يزال النسخ المتماثل المضمّن يظهر. أدى هذا على الفور إلى عدد كبير من مستخدمي المؤسسات ، لأنه قبل ذلك ، قال هؤلاء المستخدمون: كيف يمكننا أن نعيش حتى دون تكرار؟ هذا مستحيل!

في عام 2014 ، ظهر jsonb. هذا عملي ، فيدور سيغيف وألكساندر كوروتكوف . وصاح الناس أيضا: لماذا نحتاج هذا؟ بشكل عام ، كان لدينا بالفعل المتجر ، الذي صنعناه في عام 2003 ، وفي عام 2006 دخل بوستجرس. استخدمه الناس بشكل جميل في جميع أنحاء العالم ، وأحبوه ، وإذا كتبت hstore على google ، فقد ظهرت كمية كبيرة من المستندات. تمديد شعبية جدا. وقد روجنا بقوة لفكرة البيانات غير المهيكلة في بوستجرس. منذ بداية عملي ، كنت مهتمًا بهذا فقط ، وعندما فعلنا jsonb ، تلقيت الكثير من رسائل الشكر والأسئلة. والمجتمع لديه مستخدمي NoSQL ! قبل jsonb ، ذهب الأشخاص الذين ارتعدوا عن طريق الضجيج إلى قيمة مفتاح قاعدة البيانات. في الوقت نفسه ، أجبروا على التضحية بالسلامة ، هوية الحمض . وأعطيناهم الفرصة ، دون التضحية بأي شيء ، للعمل مع json بهم الجميلة. نما المجتمع بشكل حاد مرة أخرى.

في عام 2016 ، حصلنا على تنفيذ الاستعلام الموازي. إذا كان أي شخص لا يعرف ، هذا ، بطبيعة الحال ، ليس ل OLTP. إذا كان لديك جهاز مُحمّل ، فإن جميع النواة مشغولة بالفعل. تنفيذ الاستعلام المتزامن مفيد لمستخدمي OLAP . وقدّروا ذلك ، أي أن عددًا معينًا من مستخدمي OLAP بدأوا في الوصول إلى المجتمع.


ثم جاءت العمليات التراكمية. في عام 2017 ، تلقينا تكرارًا منطقيًا وتقسيمًا إعلانيًا - لقد كانت أيضًا خطوة كبيرة وخطيرة لأن النسخ المتماثل المنطقي جعل من الممكن إنشاء أنظمة شيقة جدًا ، وحصل الناس على حرية غير محدودة لخيالهم وبدأوا في صنع مجموعات. باستخدام التقسيم التعريفي ، أصبح من الممكن عدم إنشاء أقسام يدويًا ، ولكن باستخدام SQL.

في عام 2018 ، في الإصدار الحادي عشر ، حصلنا على JIT . من لا يعرف ، هذا مترجم Just In Time: أنت تجمع الطلبات ، ويمكنها بالفعل تسريع التنفيذ كثيرًا. هذا مهم لتسريع الاستعلامات البطيئة نظرًا لأن الاستعلامات السريعة سريعة بالفعل ، ولا يزال الحمل التجميعي مهمًا.

في عام 2019 ، الشيء الأساسي الذي نتوقعه هو التخزين القابل للتوصيل ، وهو واجهة برمجة التطبيقات بحيث يمكن للمطورين إنشاء مستودعات خاصة بهم ، مثال على ذلك هو zheap - مستودع تطوير EnterpriseDB .

وهنا تطورنا: SQL / JSON. كنت آمل حقًا أن يرتكبها ساشا كوروتكوف قبل المؤتمر ، ولكن كانت هناك بعض المشاكل ، والآن نأمل أن نتلقى نفس SQL / JSON هذا العام. لقد ظل الناس ينتظرون ذلك لمدة عامين [جزء كبير من SQL / JSON: لقد تم تنفيذ jsonpath patch الآن ، وهذا موصوف بالتفصيل هنا ].



بعد ذلك ، انتقل إلى شريحة تعرض: Postgres هي قاعدة بيانات عالمية. يمكنك دراسة هذه الصورة لساعات ، وإخبار مجموعة من القصص حول ظهور الشركات ، والاستحواذ ، وموت الشركات. سأبدأ في عام 2000. يعد IBM Netezza أحد أول الشوك في Postgres. فقط تخيل: "Blue Giant" أخذ رمز Postgres وصمم قاعدة لـ OLAP لدعم BI الخاص به!

فيما يلي شوكة TelegraphCQ : بالفعل في عام 2000 ، قام الأشخاص بإنشاء قاعدة بيانات للبث استنادًا إلى Postgres في بيركلي. إذا كان أي شخص لا يعرف ، فهذه قاعدة بيانات ليست مهتمة بالبيانات نفسها ، ولكنها مهتمة بمجموعها. يوجد الآن الكثير من المهام التي لا تحتاج فيها إلى معرفة كل قيمة ، على سبيل المثال ، درجة الحرارة في مرحلة ما ، لكنك تحتاج إلى قيمة متوسطة في هذه المنطقة. وفي TelegraphCQ ، أخذوا هذه الفكرة (التي نشأت أيضًا في بيركلي) ، واحدة من أكثر الأفكار تقدماً في ذلك الوقت ، وطوروا قاعدة تستند إلى Postgres. تطورت أكثر ، وفي عام 2008 ، على أساسها ، تم إصدار منتج تجاري - قاعدة TruCQ ، والآن مالكها هو Cisco .

لقد نسيت أن أقول أنه لا توجد كل هذه الشوكات في هذه الصفحة ، فهناك ضعف عددها. اخترت الأكثر أهمية ومثيرة للاهتمام ، حتى لا تشوش الصورة. تسرد صفحة postgresql wiki جميع الشوكات. من يعرف قاعدة بيانات مفتوحة المصدر تحتوي على الكثير من الشوك؟ لا توجد مثل هذه القواعد.

Postgres يختلف عن قواعد البيانات الأخرى ليس فقط في وظائفه ، ولكن أيضا في ذلك
مجتمع مثير جدا للاهتمام ، فإنه يقبل عادة الشوك. في عالم المصادر المفتوحة ، من المقبول بشكل عام: لقد صنعت مفترقًا لأنني شعرت بالإهانة - أنت لم تدعمني ، لذلك قررت إجراء تنميتي الخاصة. في عالم ما بعد اليونان ، يعني ظهور الشوكة: قرر بعض الأشخاص أو بعض الشركات إنشاء نموذج أولي واختبار الوظيفة التي اخترعوها ، لتجربتها. وإذا كنت محظوظًا ، فقم بإنشاء قاعدة تجارية يمكن بيعها للعملاء وتزويدهم بالخدمة وما إلى ذلك. في الوقت نفسه ، وكقاعدة عامة ، يعيد مطورو كل هذه الشوكات إنجازاتهم وتصحيحاتهم إلى المجتمع. منتج شركتنا هو أيضًا شوكة ، ومن الواضح أننا أعادنا مجموعة من التصحيحات إلى المجتمع. في الإصدار الحادي عشر الأخير ، أعادنا أكثر من 100 حزمة إلى المجتمع. إذا نظرت إلى ملاحظات الإصدار ، فسيكون هناك 25 اسمًا من موظفينا. هذا هو السلوك الطبيعي للمجتمع. نحن نستخدم إصدار المجتمع ونصنع شوكة لدينا من أجل اختبار أفكارنا أو إعطاء وظائف للعملاء قبل أن ينضج المجتمع لاعتماده. الشوك في مجتمع بوستجرس مرحب به للغاية.

جاء Vertica الشهير من C-Store - كما نمت من Postgres. يزعم بعض الأشخاص أن Vertica لم يكن لديه شفرة مصدر Postgres على الإطلاق ، ولكن يدعم فقط بروتوكول postgres. ومع ذلك ، من المعتاد تصنيفها على أنها شوكات ما بعد اليونانية.

جرينبلوم . يمكنك الآن تنزيله واستخدامه كمجموعة. نشأت من Bizgres ، قاعدة بيانات ضخمة متوازية. ثم تم شراؤها من قبل Greenplum ، وأصبحت لفترة طويلة ظلت تجارية. لكنك ترى أنه بحلول عام 2015 ، أدركوا أن العالم قد تغير: العالم يتحرك نحو البروتوكولات المفتوحة والمجتمعات المفتوحة وقواعد البيانات المفتوحة. وفتحوا رموز Greenplum. الآن هم يلاحقون بوستجرس بنشاط لأنهم تأخروا كثيرًا ، بالطبع ، كثيرًا. لقد ارتفع عددهم إلى 8.2 ، والآن يقولون إنهم احتلوا 9.6.

كلنا نحب ونكره أمازون . أنت تعرف كيف حدث ذلك. لقد حدث ذلك أمام عيني. كان هناك شركة ، كان هناك ParAccel مع معالجة المتجهات ، وكذلك على Postgres - منتج مجتمع مفتوح. في عام 2012 ، اشترت الأمازون الماكرة الكود المصدري وأعلن حرفيًا بعد ستة أشهر أن لدينا الآن RDS في Amazon. ثم سألناهم ، لقد ترددوا لفترة طويلة ، ولكن اتضح بعد ذلك أنها بوستجرس. RDS لا يزال يعيش ، وهذه هي واحدة من خدمات الأمازون الأكثر شعبية ، لديهم حوالي 7000 قاعدة الغزل هناك. لكنهم لم يهدأوا من هذا ، وفي عام 2010 ظهر موقع Amazon Aurora - Postgres 10 مع قصة أعيدت صياغتها مباشرة إلى البنية التحتية لشركة Amazon ، في مخزنها الموزع.

ألقِ نظرة الآن على Teradata . شركة تحليلات قديمة كبيرة وجيدة ، OLAP . بعد G8 [PostgreSQL 8.0] ، نشأت Aster Data .

Hadoop : لدينا بوستجرس على Hadoop - HadoopDB . بعد فترة من الوقت ، أصبحت قاعدة Hadapt مغلقة مملوكة من قبل Teradata . إذا رأيت هادابت ، تعرف على ما هي بوستجرس في الداخل.

مصير مثير جدا للاهتمام مع Citus . يعلم الجميع أن هذا هو Postgres الموزعة للتحليلات عبر الإنترنت. لا يدعم المعاملات. كانت بيانات Citus بمثابة بدء التشغيل ، وكان Citus مغلقًا ، قاعدة بيانات منفصلة. بعد مرور بعض الوقت ، أدرك الناس أنه من الأفضل العيش مع المجتمع والانفتاح. وفعلوا الكثير ليصبحوا مجرد امتداد ل Postgres. بالإضافة إلى ذلك ، بدأوا في ممارسة الأعمال التجارية بالفعل على توفير خدمات السحابة الخاصة بهم. تعلمون جميعًا: MS Citus مكتوب هنا لأن Microsoft اشترتهم ، حرفيًا قبل أسبوعين. ربما ، من أجل دعم Postgres على أزور ، وهذا هو ، مايكروسوفت تلعب أيضا هذه الألعاب. لديهم Postgres يعمل على Azure ، وقد انضم فريق تطوير Citus إلى مطوري MS.

بشكل عام ، شهدت عمليات شراء شركات ما بعد الشبكة بشكل مكثف مؤخرًا. بعد أن اشترت Microsoft Citus ، اشترت شركة postgres أخرى ، وهي credativ ، OmniTI لتعزيز وجودها في السوق. هاتان شركتان معروفتان صلبتان. واشترى أمازون OpenSCG . إن عالم postgres آخذ في التغير الآن ، وسأريكم لماذا يوجد الكثير من الاهتمام بـ Postgres.

كان TimescaleDB المشهود أيضًا قاعدة بيانات منفصلة ، ولكنه الآن ملحق: يمكنك أخذ Postgres وتثبيت timescaledb كملحق والحصول على قاعدة بيانات تقطع جميع أنواع قواعد البيانات المتخصصة.

هناك أيضًا Postgres XL ، وهناك مجموعات تتطور.

هنا في عام 2015 ، قمت بتعيين شوكة لدينا: Postgres Pro . لدينا Postgres Pro Enterprise ، هناك إصدار معتمد ، ونحن ندعم 1C خارج الصندوق ومعترف بنا من قبل 1C . إذا أراد أي شخص تجربة Postgres Pro Enterprise ، فيمكنك أخذ مجموعة التوزيع مجانًا ، وإذا كنت بحاجة إليها للعمل ، فيمكنك شراؤها.

لقد صنعنا Credereum ، وهي قاعدة بيانات نموذجية بدعم blockchain. نحن الآن في انتظار أن ينضج الناس من أجل البدء في استخدامه.

نرى كيف كبيرة ومثيرة للاهتمام الصورة. أنا لا أتحدث حتى عن Yahoo! ايفرست مع تخزين الأعمدة ، مع بايت من البيانات في ياهو! - كان عام 2008. حتى أنهم رعوا مؤتمرنا في كندا ، جاءوا إلى هناك ، في مكان ما لدي حتى قميص من هناك :)

هناك أيضا PipelineDB . كما بدأت كقاعدة بيانات مصدر مغلق ، لكنها الآن مجرد امتداد. نرى أن Citus و TimescaleDB و PipelineDB يشبهان قواعد البيانات المنفصلة ، ولكن في الوقت نفسه ، توجد كملحقات ، أي تأخذ Postgres القياسي وتجميع الامتداد. PipelineDB هو استمرار لفكرة قواعد بيانات الدفق. تريد العمل مع تيارات؟تأخذ بوستجرس ، تأخذ PipelineDB ويمكنك العمل.

بالإضافة إلى ذلك ، هناك ملحقات تسمح لك بالعمل مع GPU . انظر العنوان؟ لقد أظهرت أن هناك نظامًا بيئيًا يمتد على عدد كبير من أنواع البيانات والأحمال المختلفة. لذلك ، نقول أن Postgres هي قاعدة بيانات عالمية.

قاعدة الناس المفضلة




الشريحة التالية لها أسماء كبيرة. كل الغيوم الأكثر شهرة في العالم تدعم بوستجرس. في روسيا ، يتم دعم Postgres من قبل الشركات الكبيرة المملوكة للدولة. يستخدمونه ، ونحن نخدمهم كعملائنا.



يوجد بالفعل العديد من الملحقات والعديد من التطبيقات ، لذلك تعد Postgres جيدة مثل قاعدة البيانات التي يبدأ منها المشروع. أقول دائمًا للشركات الناشئة: يا شباب ، لن تحتاج إلى استخدام قاعدة بيانات NoSQL . أنا أفهم أنك تريد حقًا ، ولكن ابدأ بـ Postgres. إذا لم يكن لديك ما يكفي ، فيمكنك دائمًا إلغاء توصيل خدمة وتقديمها إلى قاعدة بيانات متخصصة. بالإضافة إلى العالمية ، تتمتع Postgres بميزة أخرى: ترخيص BSD ليبرالي للغاية ، والذي يتيح لك القيام بأي شيء مع قاعدة البيانات الخاصة بك.



يمكن الوصول إلى كل ما تراه على هذه الشريحة نظرًا لحقيقة أن Postgres هي قاعدة بيانات قابلة للتوسيع ، وقد تم تصميم هذه القابلية للتوسعة في بنية قاعدة البيانات مباشرةً. عندما كتب مايكل ستون بريكر عن بوستجرس في مقالته الأولى عنه (كتبه في عام 1984 ، هنا أقتبس مقالة من عام 1987) ، تحدث بالفعل عن القابلية للتوسعة باعتبارها أهم عنصر في وظيفة قاعدة البيانات. وهذا ، كما يقولون ، قد تم اختباره بالفعل بمرور الوقت. يمكنك إضافة وظائفك الخاصة ، وأنواع البيانات الخاصة بك ، والمشغلين ، ووصول الفهرسة (أي ، طرق الوصول المحسنة) ، يمكنك كتابة الإجراءات الخاصة بك بعدد كبير للغاية من اللغات. لدينا التفاف بيانات أجنبية ( FDW ) ، أي واجهات للعمل مع مستودعات وملفات مختلفة ، يمكنك الاتصال بـ Oracle ، MySQLوقواعد أخرى.

أريد أن أقدم مثالاً من تجربتي الشخصية. لقد عملت مع Postgres وعندما كان هناك شيء مفقود في Postgres ، قمت أنا وزملائي ببساطة بإضافة هذه الوظيفة. كنا بحاجة للعمل ، على سبيل المثال ، مع اللغة الروسية ، وقمنا بإنشاء لغة 8 بت. كان مشروع رامبلر . بالمناسبة ، كان بعد ذلك في أعلى 5. متسكعكان أول مشروع عالمي كبير لإطلاقه على بوستجرس. كانت المصفوفات في بوستجرس منذ البداية ، لكنها كانت لا يمكن القيام بأي شيء معها ، كان مجرد سطر نصي تم تخزين المصفوفات فيه. لقد أضفنا عوامل تشغيل وفهارس مُصنّعة ، وأصبحت المصفوفات الآن جزءًا لا يتجزأ من وظيفة Postgres ، ويستخدمها الكثيرون دون القلق بشأن سرعة عملها - وهذا جيد. لقد اعتادوا القول إن المصفوفات لم تعد نموذجًا للعلاقات التقليدية ، فهي لا تلبي الأشكال الطبيعية الكلاسيكية. الآن اعتاد الناس بالفعل على استخدام المصفوفات.



عندما كنا بحاجة إلى بحث النص الكامل ، فعلنا ذلك. عندما احتجنا إلى تخزين البيانات ذات الطبيعة المختلفة ، قمنا بعمل ملحق hstore ، وبدأ الكثير من الناس في استخدامه: لقد مكّننا من إنشاء مخططات قاعدة بيانات مرنة بحيث يمكن أن تكون أسرع وأسرع. لقد صنعنا فهرس GIN لجعل البحث عن النص الكامل يعمل بسرعة. لقد صنعنا ثلاثيات ( pg_trgm ). صنع NoSQL. وكل هذا في ذاكرتي ، كل احتياجاتي الخاصة.



تجعل القابلية للتوسعة Postgres قاعدة بيانات فريدة من نوعها ، وهي قاعدة بيانات عالمية يمكنك من خلالها بدء العمل ولا تخشى أن تترك بدون دعم. انظروا كم من الناس هنا لدينا - هذا هو بالفعل سوق! على الرغم من حقيقة أن قواعد بيانات الرسم البياني ، وقواعد بيانات المستندات ، والسلاسل الزمنية وما إلى ذلك - تبدو الآن: لا يزال معظمها يستخدم قواعد البيانات العلائقية. إنهم يهيمنون ، وهذا هو 75 ٪ من سوق قاعدة البيانات ، والباقي قواعد بيانات غريبة ، تافه مقارنة مع تلك العلائقية.



اذا نظرتم الى نسبة قواعد البيانات مفتوحة المصدر إلى تجارية، بعد ذلك،
وفقا ل DB-محركات، سنرى أن عدد قواعد البيانات مفتوحة المصدر يساوي تقريباً عدد قواعد البيانات التجارية. ونحن نرى أن قواعد البيانات مفتوحة المصدر (الخط الأزرق) تنمو ، والتجارية (الحمراء) تتساقط. هذا هو اتجاه تطوير مجتمع تكنولوجيا المعلومات بأكمله ، اتجاه الانفتاح. الآن ، بالطبع ، من غير اللائق الإشارة إلى Gartner ، لكنني أقول ذلك على أي حال: إنهم يتوقعون أنه بحلول عام 2022 ، سوف يستخدم 70 ٪ قواعد البيانات المفتوحة وأن ما يصل إلى 50 ٪ من الأنظمة الحالية سوف تهاجر إلى المصدر المفتوح.

انظر إلى هذا pomosomer: نرى أن Postgres تسمى قاعدة بيانات 2018. في العام الماضي ، كانت أيضًا أول تقدير خبير مستقل لشركة DB-Engines. يظهر الترتيب أن Postgres متقدم حقًا على البقية. من حيث القيمة المطلقة في المركز 4 ، ولكن انظر كيف ينمو. بالتأكيد جيد على الشريحة ، هذا خط أزرق. الباقي - MySQL ، Oracle ، MS SQL - إما أرصدة في مستواها ، أو تبدأ في الانحناء.



أخبار هاكر - ربما تقرأها جميعًا أو Y Combinator- يتم إجراء الاستطلاعات بشكل دوري هناك ، وتنشر الشركات الوظائف الشاغرة هناك ، وقد أجرت منذ فترة إحصاءات. ترى أنه ابتداءً من عام 2014 ، تتفوق Postgres على الجميع. كان هذا هو MySQL الأول ، ولكن Postgres نمت ببطء ، والآن بين مجتمع المتسللين بأكمله (بالمعنى الجيد للكلمة) فإنه يسود وينمو أكثر.



و تجاوز المكدس ، أيضا، في كل عام إجراء المسوحات. ووفقا لل الأكثر استخداما لدينا بوستجرس هو المركز الثالث جيد. من قبل معظم أحب - في الثانية. هذه هي قاعدة البيانات المفضلة. Redis ليست قاعدة بيانات علائقية ، ولكن Postgres العلائقية هي المفضلة. أنا لم أعطي هنا الصورة الأكثر اللعين- قاعدة البيانات الأكثر فظاعة ، ولكن ربما تخمن من يأتي أولاً. "القاعدة X" ، كما يحلو لهم أن نسميها في روسيا.



هناك مراجعة في روسيا ، مسح لنا جميعًا في مؤتمر HighLoad ++ المحترم . لم يتم إجراؤه بواسطةنا ، لقد صنعه أوليغ بونين . اتضح: في قاعدة بيانات روسيا بوستجرس رقم 1.



نحن نطلب من HH.ru للمرة الثانية مشاركة إحصائيات وظيفة Postgres معنا. قبل 9 سنوات ، كان Postgres متأخرا 10 مرات عن أوراكل ، صرخ الجميع: تعطينا علماء الفلك. ونحن نرى أنه في العام الماضي وقعنا ، ثم في عام 2018 كان هناك نمو. وإذا كنت قلقًا بشأن مكان العثور على وظيفة ، فراجع: ألفي وظيفة شاغرة على HH.ru هي Postgres. لا تقلق ، ما يكفي من العمل.



لتسهيل رؤيته ، قمت بعمل صورة توضح الوظائف الشاغرة في Postgres فيما يتعلق بوظائف Oracle. كان هناك عدد أقل منها ، بدءًا من عام 2018 ، أصبحوا بالفعل على قدم المساواة ، والآن أصبحت Postgres بالفعل أكثر من ذلك بقليل. حتى الآن من المحبط بعض الشيء أن العدد المطلق لشواغر أوراكل آخذ في الازدياد أيضًا ، وهو ما لا ينبغي أن يكون من حيث المبدأ. لكن ، كما يقولون ، نحن نجلس بالقرب من ضفة النهر ونراقب: متى ستطفو جثة العدو. نحن فقط نقوم بعملنا.



Postgres المجتمع الروسي


هذا هو المجتمع الأكثر تنظيماً في روسيا ، لم أقابل مثل هؤلاء الأشخاص أبدًا. الكثير من الموارد ، دردشات ، حيث نتواصل جميعًا في مجال الأعمال. نعقد مؤتمرات - مؤتمرين كبيرين: في سانت بطرسبرغ وموسكو ، ومنازل سكنية ، نشارك في جميع المؤتمرات الدولية الكبرى ، وننظم دورات.



في الواقع ، هذه هي دورات المجتمع. لقد تم إعدادهم من قبل شركتنا ، لكنهم متاحون مجانًا لأي منكم ، أو ابحث على youtube على قناتنا أو انتقل إلى موقعنا على الويب في قسم "التعليم" ، وهناك دورات DBA1 و DBA2 و DBA3 ودورات تطوير للتنزيل مجانًا .

والآن نطلق الشهادات - هذا هو ما تطلبه الشركات ، فهم يريدون الحصول على متخصصين معتمدين. وسيعلم صاحب العمل: أنت متخصص معتمد.



غالبا ما يسألون: كم بوستجرس الروسية؟ السؤال في غير محله: بوستجرس دولية. لكنني سأقول القليل عن العلم الروسي. ترى على الشريحة ما فعله فاديم ميخيف . أولئك الذين يعرفون Postgres يفهمون أن MVCC و WAL و VACUUM وما إلى ذلك تعني لهذه القاعدة . هذا هو كل مساهمة الروسية. يوجد الآن ثلاثة مطورين رئيسيين لـ Postgres ، منهم اثنان من الملتزمين. على الشريحة التي ترى أن الكثير قد تم القيام به. إذا نظرت إلى الميزات الرئيسية من ملاحظات الإصدار ، فسترى مساهمتنا. المساهمة الروسية كبيرة بما فيه الكفاية. لقد عملنا منذ البداية ونواصل العمل مع المجتمع - بالفعل على مستوى الحملة.



ومساهمة الشركة هي الكتب. لدينا 2 جامعة بوستجرس الدورات. يمكنك الذهاب إلى المتجر وشراء هذه الكتب ، ويمكنك التدريس في هذه الدورات ، والامتحانات ، وهلم جرا. لدينا كتب للمبتدئين التي يتم توزيعها ، بما في ذلك هنا. كتاب جيد مفيد جدا. لقد ترجمناها إلى الإنجليزية.

بوستجرس المهنية


دعنا ننتقل إلى الرئيسية. Postgres الأكاديمية ، عندما بدأت ، تم تصميمه لعشرات المستخدمين. كان مجتمع Postgres95 أقل من 400 شخص. يتكون المجتمع بشكل رئيسي من المطورين وعدد قليل من المستخدمين. في الوقت نفسه - وهو تفصيل مثير للاهتمام - كان المطورون هم العملاء والمقاولون. على سبيل المثال ، عندما كنت في حاجة إليها ، قمت بتطوير نفسي ، وفي الوقت نفسه ، شاركت مع الجميع. وهذا هو ، كان المجتمع النامية للمجتمع.

ابتداءً من عام 2000 ، وقبل ذلك بقليل ، بدأت ظهور أول الشركات بعد غريس: GreatBridge ، 2ndQuadrant ، EDB . لقد قاموا بالفعل بتعيين مطورين بدوام كامل ممن عملوا في المجتمع. ظهر أول شوكات المؤسسة وأول أدوات تخصيص المؤسسة. أدى ذلك إلى حقيقة أنه بحلول عام 2015 ، كان العدد الرئيسي - وجميع المطورين الرئيسيين تقريبًا - قد تم تنظيمهم بالفعل في بعض الشركات. في عام 2015 ، تم تشكيل شركتنا: كنا آخر مطورين مستقلين. الآن لا يوجد عمليا مثل هؤلاء الناس. لقد تغير مجتمع postgres ، وأصبح مؤسسة ، والآن هذه الشركات تقود التنمية. هذا جيد لأن هذه الشركات تنفذ ما تحتاجه المؤسسة. المجتمع هو الفرامل بطريقة جيدة: فهو يختبر الميزات الجديدة أو يدينها أو يقبلها ، فهو يوحدنا جميعًا. أصبحت Postgres جاهزة للمؤسسات ، والشركات الكبيرة سعيدة باستخدامها ، وأصبحت محترفة.



هذه الشريحة تدور حول المستقبل ، كما أراها. مع ظهور التخزين القابل للتوصيل ، ستظهر مستودعات جديدة: ملحق فقط ، للقراءة فقط ، تخزين أعمدة - كل ما تريد (على سبيل المثال ، أحلم بالباركيه). سيكون هناك دعم لعمليات المتجهات. اليوم ، بالمناسبة ، سيكون هناك تقرير عنها. سيتم دعم Blockchain. لا مفر من هذا ، لأننا ننتقل إلى الاقتصاد الرقمي ، إلى التقنيات اللاورقية. ستحتاج إلى استخدام التواقيع الإلكترونية وستحتاج إلى أن تكون قادرًا على مصادقة قاعدة البيانات الخاصة بك ، وتأكد من عدم تغيير أي شخص لأي شيء ، وأن blockchain مناسب جدًا لهذا الغرض.





التالي: بوستجرس التكيفي . هذا موضوع محزن بعض الشيء بالنسبة لك ، لكنه لا يزال بعيدًا عنك. والحقيقة هي أن DBA ، بشكل عام ، هو مورد مكلف ، وقواعد البيانات في وقت قريب لن تحتاج إليها. ستكون القواعد ذكية بما فيه الكفاية وستقوم بتهيئة نفسها وتعديلها. ولكن سيكون في غضون عشر سنوات أخرى ، ربما. لا يزال لدينا الكثير من الوقت.



ومن الواضح أنه في Postgres سيكون هناك دعم محلي للسحب ، التخزين السحابي - وبدون ذلك ، لا يمكننا البقاء على قيد الحياة ببساطة. وبالطبع ، ها هي الشريحة الأخيرة:

كل ما تحتاجه هو منشورات!



شكرا لاهتمامكم

Source: https://habr.com/ru/post/ar445846/


All Articles