PgDog: وكيل ذكي لـ PostgreSQL مع تقسيم البيانات

2025-04-15
PgDog: وكيل ذكي لـ PostgreSQL مع تقسيم البيانات

PgDog هو وكيل شبكة يعترض جميع الاتصالات بين عملاء خوادم PostgreSQL، ويفهم SQL للاستدلال على وجهات الاستعلامات، ولا يتطلب أي تغييرات في رمز التطبيق. يقوم بتحليل استعلامات SQL، واستخراج مفاتيح التقسيم، واستخدام دالة هاش التقسيم المدمجة في PostgreSQL، وتوجيه الاستعلامات إلى جزء قاعدة البيانات الصحيح. تشرح المقالة بالتفصيل كيفية تعامل PgDog مع البروتوكولات البسيطة والمتقدمة، واستعلامات عبر الأجزاء، وعمليات COPY الموزعة، مما يسمح في النهاية بتقسيم PostgreSQL وسرعة استيعاب البيانات على نطاق خطي.

اقرأ المزيد

التجزئة الرأسية: كابوس؟

2025-04-13
التجزئة الرأسية: كابوس؟

يسرد الكاتب تجربته مع التجزئة الرأسية (التجزئة الوظيفية)، مبرزًا عيوبها. في حين أنها تخفف من عبء قاعدة البيانات، إلا أنها تُجزئ التطبيق، مما يُجبر طبقة التطبيق على التعامل مع عمليات الانضمام والأسئلة التي ينبغي أن تُعالَج بواسطة قاعدة البيانات. يزيد هذا من تعقيد الشفرة وعبء الصيانة بشكل كبير، ويُقلل من توفر النظام. باستخدام الفكاهة وصيغة لحساب وقت التشغيل، يُوضح الكاتب كيف تُقلل التجزئة الرأسية من استقرار النظام، مما يؤدي في النهاية إلى تأخير خطط المنتج وإحباط المهندسين. يختتم المقال بتقديم مشروع PgDog، وهو مشروع مفتوح المصدر يهدف إلى حل مشكلة تجزئة Postgres.

اقرأ المزيد

PgDog: مشروع مفتوح المصدر للتقسيم المتعدد في pgvector

2025-03-26
PgDog: مشروع مفتوح المصدر للتقسيم المتعدد في pgvector

يصبح توسيع نطاق pgvector لما يتجاوز مليون دمج أمرًا صعبًا بسبب بطء إنشاء الفهرس. تُقدم هذه المقالة PgDog، وهو مشروع مفتوح المصدر يقوم بتقسيم فهرس pgvector. من خلال الاستفادة من قدرات التجميع المتأصلة في IVFFlat، يوزع PgDog أقسام مساحة المتجهات على أجهزة متعددة. يتم توجيه متجهات الاستعلام إلى أجزاء مناسبة بناءً على قربها من مراكز الكتلة، المحسوبة باستخدام scikit-learn، مما يحسن بشكل كبير سرعة البحث ومعدل الاستدعاء. تتضمن تفاصيل التنفيذ حساب مراكز الكتلة، ودالة التقسيم المخصصة، وتحليل SQL باستخدام pg_query. تُظهر التجارب فعالية PgDog، حيث تقدم تحسينات مثل الاستعلامات المتوازية عبر الأجزاء وتخصيص مراكز الكتلة المُحسّن. يشمل العمل المستقبلي دعم المزيد من خوارزميات المسافة وتعليمات SIMD لحسابات أسرع.

اقرأ المزيد

تجزئة PostgreSQL: قصة مثيرة للإعجاب حول التوسع بمقدار 6 أضعاف

2025-03-14
تجزئة PostgreSQL: قصة مثيرة للإعجاب حول التوسع بمقدار 6 أضعاف

واجهت شركة ما تحديًا في قدرة الكتابة في PostgreSQL، حيث تعاملت مع 100,000 مستخدم في الثانية. وبدلاً من الانتقال إلى NoSQL، اختارت فريق الهندسة تجزئة قاعدة البيانات الخاصة بهم. قاموا بتقسيم قاعدة البيانات إلى 6 مثيلات، ومزامنة البيانات باستخدام النسخ المتماثل المنطقي. وقد تضمن ذلك كتابة كود Ruby وPython للتعامل مع مفاتيح التجزئة وأدوات مخصصة لحل مشاكل التسلسل. وقد أسفر التوسع الناجح بمقدار 6 أضعاف عن إنشاء PgDog، وهو مشروع مفتوح المصدر للتجزئة الآلية لـPostgreSQL. وتبرز هذه القصة براعة وإصرار المهندسين، وقابلية توسيع PostgreSQL.

اقرأ المزيد