الإصدار المستقر الأول من الرسم البياني العلائقي DBMS EdgeDB

يتوفر الإصدار المستقر الأول من EdgeDB DBMS، وهو عبارة عن وظيفة إضافية إلى PostgreSQL مع تنفيذ نموذج بيانات الرسم البياني العلائقي ولغة استعلام EdgeQL، المُحسّنة للعمل مع البيانات الهرمية المعقدة. الكود مكتوب بلغة Python وRust ويتم توزيعه بموجب ترخيص Apache 2.0. مكتبات العملاء مُجهزة لـ Python وGo وRust وTypeScript/Javascript. يوفر أدوات سطر الأوامر لإدارة قواعد البيانات وتنفيذ الاستعلام التفاعلي (REPL).

بدلاً من نموذج البيانات المستند إلى الجدول، يستخدم EdgeDB نظامًا تعريفيًا يعتمد على أنواع الكائنات. بدلاً من المفاتيح الخارجية، يتم استخدام الارتباط حسب المرجع لتحديد العلاقة بين الأنواع (يمكن استخدام كائن واحد كخاصية لكائن آخر). اكتب الشخص { اسم الخاصية المطلوبة -> str؛ } اكتب الفيلم { عنوان الخاصية المطلوبة -> str؛ الجهات الفاعلة متعددة الارتباط -> الشخص؛ }

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

يتم توفير أدوات مدمجة لتخزين ترحيل المخطط - بعد تغيير المخطط المحدد في ملف esdl منفصل، ما عليك سوى تشغيل الأمر "edgedb ترحيل إنشاء" وسيقوم نظام إدارة قواعد البيانات (DBMS) بتحليل الاختلافات في المخطط وإنشاء برنامج نصي بشكل تفاعلي للترحيل إلى مخطط جديد. يتم تعقب تاريخ تغييرات المخطط تلقائيًا.

لإنشاء استعلامات، يتم دعم كل من لغة استعلام GraphQL ولغة EdgeDB الخاصة، والتي تعد تعديلًا لـ SQL للبيانات الهرمية. بدلاً من القوائم، يتم تنسيق نتائج الاستعلام بطريقة منظمة، وبدلاً من الاستعلامات الفرعية وروابط JOIN، يمكنك تحديد استعلام EdgeQL واحد كتعبير داخل استعلام آخر. يتم دعم المعاملات والدورات. حدد الفيلم { العنوان، الممثلين: { الاسم } } filter .title = "The Matrix" أدخل الفيلم { title := "The Matrix Resurrections"، الممثلين: = (حدد مرشح الشخص .name في { 'Keanu Reeves'، 'Carrie- Anne Moss', 'Laurence Fishburne' } ) } للرقم في {0, 1, 2, 3} الاتحاد (حدد { number, number + 0.5 } );

المصدر: opennet.ru

إضافة تعليق