جمعة عظيمة للجميع! يتبقى وقت أقل قبل انطلاق الدورة
في مرحلة التطوير
في PostgreSQL 10 ، رأينا ولادة "التقسيم التصريحي" - وهي ميزة مصممة لحل العديد من المشكلات التي كانت غير قابلة للحل باستخدام الطريقة القديمة مع الوراثة. وقد أدى ذلك إلى أداة أكثر قوة تسمح لنا بتقسيم البيانات أفقيًا!
مقارنة الميزات
تتمتع PostgreSQL 11 بمجموعة رائعة من الميزات الجديدة التي تساعد في تحسين الأداء وتجعل الجداول المقسمة أكثر شفافية للتطبيقات.
1. استخدام الاستثناءات المحدودة
2. يضيف العقد فقط
3. فقط لجدول مقسم يشير إلى ملف
4. يجب أن تحتوي الفهارس على جميع الأعمدة الرئيسية للقسم
5. يجب أن تتطابق قيود القسم على كلا الجانبين
أداء
هنا لدينا أيضًا أخبار جيدة! تمت إضافة طريقة جديدة WHERE
. قامت الخوارزمية السابقة ، بدورها ، باختبار كل قسم لتحديد ما إذا كان يمكن أن يفي بالشرط WHERE
. وقد أدى ذلك إلى زيادة إضافية في وقت التخطيط مع زيادة عدد الأقسام.
في 9.6 ، مع تقسيم الوراثة ، يتم عادةً توجيه المجموعات إلى أقسام عن طريق كتابة دالة مشغل تحتوي على سلسلة من عبارات IF لإدراج مجموعة في القسم الصحيح. قد تكون هذه الوظائف بطيئة جدًا في التنفيذ. مع إضافة التقسيم التعريفي في الإصدار 10 ، يكون هذا أسرع بكثير.
باستخدام جدول مقسم يحتوي على 100 قسم ، يمكننا تقييم أداء تحميل 10 ملايين صف في جدول بعمود BIGINT واحد و 1 أعمدة INT.
أداء استعلام في هذا الجدول للبحث عن سجل مفهرس واحد وتنفيذ DML لمعالجة سجل واحد (باستخدام معالج واحد فقط):
هنا يمكننا أن نرى أن أداء كل عملية قد زاد بشكل ملحوظ منذ PG 9.6. الطلبات SELECT
تبدو أفضل بكثير ، خاصة تلك التي تكون قادرة على استبعاد العديد من الأقسام أثناء تخطيط الاستعلام. هذا يعني أن المجدول يمكنه تخطي معظم العمل الذي كان ينبغي أن يقوم به من قبل. على سبيل المثال ، لم تعد تُبنى مسارات الأقسام غير الضرورية.
اختتام
بدأ تقسيم الجدول يصبح ميزة قوية جدًا في PostgreSQL. يسمح لك بإحضار البيانات عبر الإنترنت بسرعة ونقلها في وضع عدم الاتصال دون انتظار اكتمال عمليات DML الضخمة البطيئة.. وهذا يعني أيضًا أنه يمكن تخزين البيانات ذات الصلة معًا ، مما يعني أنه يمكن الوصول إلى البيانات المطلوبة بشكل أكثر كفاءة. لم تكن التحسينات التي تم إجراؤها في هذا الإصدار ممكنة بدون المطورين والمراجعين والمتعهدون الذين عملوا بلا كلل على كل هذه الميزات.
شكرا لهم جميعا! تبدو PostgreSQL 11 رائعة!
هذا مقال قصير ولكنه مثير للاهتمام. شارك بتعليقاتك ولا تنسى الاشتراك
المصدر: www.habr.com