لغة مانغل: أداة جوجل الجديدة للبرمجة الاستنتاجية في قواعد البيانات

أعلنت جوجل مؤخراً عن إطلاق لغة برمجة مفتوحة المصدر جديدة أطلقت عليها اسم “مانغل” (Mangle). تُعدّ مانغل امتداداً مُطوراً للغة داتالوج (Datalog) الكلاسيكية القائمة على المنطق، مُصممة خصيصاً للبرمجة الاستنتاجية في قواعد البيانات الحديثة. وتُنفذ هذه اللغة كـ مكتبة Go، بهدف تبسيط مهمة استعلام البيانات واستنتاج العلاقات المعقدة بينها، خاصةً عندما تكون مُوزعة عبر مصادر متعددة ومتباينة.

مواجهة تحدي تفتت البيانات

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

مانغل: امتداد مُحسّن لداتالوج

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

الميزات والامتدادات الرئيسية

تعزز مانغل داتالوج التقليدية بميزات أساسية لعمليات التطوير والأمن الحديثة:

  • القواعد التراجعية (Recursive Rules): تدعم مانغل بشكل كامل القواعد التراجعية، وهي سمة مميزة لداتالوج. يُمكّن هذا المطورين من التعبير ببراعة عن العلاقات الانتقالية، وهي شائعة في مهام مثل تتبع شجرة الاعتماد الكاملة للمشروع أو تعيين حقوق الوصول عبر تسلسل هرمي.
  • الوصول الموحد للبيانات (Uniform Data Access): تكمن قوة مانغل الرئيسية في قدرتها على التعامل مع مصادر البيانات المتعددة كقاعدة بيانات منطقية واحدة. يمكنها استيراد الحقائق من الملفات، وواجهات برمجة التطبيقات (APIs)، أو مخازن بيانات أخرى، مما يسمح للمطورين بكتابة استعلامات تجمع المعلومات بسلاسة دون القلق بشأن المصدر الأساسي.
  • التجميع ودعوات الدوال (Aggregation and Function Calls): تتجاوز مانغل المنطق البحت من خلال دمج امتدادات عملية مثل دوال التجميع (مثل العد، الجمع) وإمكانية استدعاء الدوال الخارجية. يسمح هذا بإجراء عمليات حسابية أكثر تعقيداً ويمكّن من التكامل مع قواعد البيانات الحالية، مما يسمح للمطورين بإثراء تحليلاتهم المنطقية بالمنطق التجاري المخصص.

التطبيقات العملية

يُعدّ تصميم مانغل مُناسباً بشكل خاص للعديد من المجالات الحرجة:

  • الكشف عن الثغرات الأمنية (Vulnerability Detection): يمكن لفِرَق الأمن استخدام مانغل لنمذجة سياسات الأمن وقواعد البيانات كـ مجموعة من الحقائق والقواعد. على سبيل المثال، يمكن كتابة قاعدة تنص على أن المشروع مُعرض للخطر إذا كان يعتمد على مكتبة بها ثغرة أمنية معروفة (CVE). يمكن لمانغل بعد ذلك التحقق بشكل تراجعي من رسم بياني الاعتماد الكامل لتحديد المشاريع المتأثرة.
  • تحليل اعتماديات البرمجيات (Software Dependency Analysis): تُعدّ مانغل مُناسبة بشكل طبيعي للتنقل في تعقيدات سلاسل التوريد البرمجية الحديثة. يمكن استخدامها لتحليل قوائم المواد البرمجية (SBOMs)، وإنفاذ سياسات الإصدارات عبر المؤسسة، أو تحديد المشاريع المتأثرة بمكتبة مُهملة.
  • نمذجة الرسوم البيانية المعرفية (Knowledge Graph Modeling): توفر اللغة أداة قوية لبناء واستعلام الرسوم البيانية المعرفية. من خلال تمثيل الكيانات وعلاقاتها كحقائق منطقية، يمكن للمؤسسات استخدام مانغل للكشف عن الروابط الخفية وإجراء استنتاجات مُتقدمة على مجموعات بيانات كبيرة ومترابطة.

التنفيذ وسهولة الوصول للمطورين

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

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

صفحة جيثب تويتر ريديت النشرة البريدية

المصدر: MarkTechPost