ریلیشنل گراف DBMS EdgeDB 2.0 کی ریلیز

EdgeDB 2.0 DBMS کی ریلیز پیش کی گئی ہے، جو متعلقہ گراف ڈیٹا ماڈل اور EdgeQL استفسار کی زبان کو لاگو کرتی ہے، جو پیچیدہ درجہ بندی کے ڈیٹا کے ساتھ کام کرنے کے لیے موزوں ہے۔ کوڈ Python اور Rust (پارسر اور کارکردگی کے اہم حصے) میں لکھا گیا ہے اور اپاچی 2.0 لائسنس کے تحت تقسیم کیا گیا ہے۔ پروجیکٹ پوسٹگری ایس کیو ایل کے لیے ایک ایڈ آن کے طور پر تیار کیا جا رہا ہے۔ کلائنٹ کی لائبریریاں Python، Go، Rust اور TypeScript/Javascript کے لیے تیار ہیں۔ DBMS مینجمنٹ اور انٹرایکٹو استفسار پر عمل درآمد (REPL) کے لیے کمانڈ لائن ٹولز فراہم کرتا ہے۔

ٹیبل پر مبنی ڈیٹا ماڈل کے بجائے، EdgeDB آبجیکٹ کی اقسام پر مبنی ایک اعلاناتی نظام استعمال کرتا ہے۔ غیر ملکی کلیدوں کے بجائے، حوالہ کے ذریعے لنک کرنے کا استعمال اقسام کے درمیان تعلق کی وضاحت کے لیے کیا جاتا ہے (ایک شے کو دوسری شے کی خاصیت کے طور پر استعمال کیا جا سکتا ہے)۔

قسم شخص { مطلوبہ پراپرٹی کا نام -> str؛ } قسم مووی { مطلوبہ پراپرٹی ٹائٹل -> str; ملٹی لنک اداکار -> شخص؛ }

اشاریہ جات کو استفسار کی کارروائی کو تیز کرنے کے لیے استعمال کیا جا سکتا ہے۔ خصوصیات جیسے مضبوط پراپرٹی ٹائپنگ، پراپرٹی ویلیو کی پابندیاں، کمپیوٹیڈ پراپرٹیز، اور اسٹور شدہ طریقہ کار بھی معاون ہیں۔ EdgeDB آبجیکٹ اسٹوریج اسکیم کی خصوصیات، جو کسی حد تک ORM کی یاد دلاتی ہے، میں اسکیموں کو مکس کرنے کی صلاحیت، مختلف اشیاء سے پراپرٹیز کو جوڑنے، اور مربوط JSON سپورٹ شامل ہیں۔

سکیما مائیگریشن کو اسٹور کرنے کے لیے بلٹ ان ٹولز فراہم کیے گئے ہیں - علیحدہ esdl فائل میں بیان کردہ اسکیما کو تبدیل کرنے کے بعد، صرف "edgedb migration create" کمانڈ چلائیں اور DBMS اسکیما میں فرق کا تجزیہ کرے گا اور انٹرایکٹو طریقے سے ایک اسکرپٹ تیار کرے گا۔ نیا سکیما. اسکیما تبدیلیوں کی تاریخ خود بخود ٹریک کی جاتی ہے۔

سوالات پیدا کرنے کے لیے، دونوں گراف کیو ایل استفسار کی زبان اور ملکیتی EdgeDB زبان، جو کہ درجہ بندی کے ڈیٹا کے لیے SQL کی موافقت ہے، معاون ہیں۔ فہرستوں کے بجائے، استفسار کے نتائج کو ایک منظم طریقے سے فارمیٹ کیا جاتا ہے، اور ذیلی سوالات اور JOINs کے بجائے، آپ ایک EdgeQL استفسار کو دوسرے سوال میں اظہار کے طور پر بیان کر سکتے ہیں۔ لین دین اور سائیکل سپورٹ ہیں۔

مووی منتخب کریں { ٹائٹل، اداکار: { نام } } فلٹر . ٹائٹل = "دی میٹرکس" داخل کریں مووی { ٹائٹل := "دی میٹرکس ریسریکشنز"، اداکار := ( پرسن فلٹر منتخب کریں .نام { 'کیانو ریوز'، 'کیری- این ماس'، 'لارنس فش برن' } ) } {0، 1، 2، 3} یونین میں نمبر کے لیے ( منتخب کریں { نمبر، نمبر + 0.5 })؛

نئے ورژن میں:

  • ڈیٹا بیس ایڈمنسٹریشن کے لیے ایک بلٹ ان ویب انٹرفیس شامل کیا گیا ہے، جو آپ کو ڈیٹا دیکھنے اور اس میں ترمیم کرنے، EdgeQL سوالات چلانے اور استعمال شدہ اسٹوریج اسکیم کا تجزیہ کرنے کی اجازت دیتا ہے۔ انٹرفیس کو "edgedb ui" کمانڈ کے ذریعے لانچ کیا جاتا ہے، جس کے بعد یہ لوکل ہوسٹ تک رسائی کے وقت دستیاب ہو جاتا ہے۔
    ریلیشنل گراف DBMS EdgeDB 2.0 کی ریلیز
  • "گروپ" ایکسپریشن کو لاگو کیا گیا ہے، جس سے آپ کو SELECT آپریشن میں گروپ بندی کی طرح صوابدیدی EdgeQL اظہار کا استعمال کرتے ہوئے ڈیٹا اور گروپ ڈیٹا کو تقسیم اور جمع کرنے کی اجازت دی گئی ہے۔
  • آبجیکٹ کی سطح پر رسائی کو کنٹرول کرنے کی صلاحیت۔ رسائی کے اصول سٹوریج اسکیما کی سطح پر بیان کیے گئے ہیں اور آپ کو اشیاء کے ایک مخصوص سیٹ کو بازیافت کرنے، داخل کرنے، حذف کرنے اور اپ ڈیٹ کرنے کی کارروائیوں میں استعمال کرنے کی صلاحیت کو محدود کرنے کی اجازت دیتے ہیں۔ مثال کے طور پر، آپ ایک ایسا اصول شامل کر سکتے ہیں جو صرف مصنف کو اشاعت کو اپ ڈیٹ کرنے کی اجازت دیتا ہے۔
  • اسٹوریج اسکیم میں عالمی متغیرات کو استعمال کرنے کی صلاحیت شامل کی گئی۔ ایک نیا عالمی متغیر موجودہ_صارف صارف کو پابند کرنے کے لیے تجویز کیا گیا ہے۔
  • ان اقسام کے لیے تعاون شامل کیا گیا جو اقدار کی حدود کی وضاحت کرتی ہیں۔
  • زنگ زبان کے لیے ایک آفیشل کلائنٹ لائبریری تیار کی گئی ہے۔
  • EdgeDB بائنری پروٹوکول کو مستحکم کر دیا گیا ہے، جس سے عالمی متغیرات اور مقامی ریاستوں کا استعمال کرتے ہوئے، HTTP کے ذریعے فارورڈنگ، ایک ہی نیٹ ورک کنکشن کے اندر کئی مختلف سیشنز کو بیک وقت پروسیس کرنا ممکن ہو گیا ہے۔
  • ساکٹ ایکٹیویشن کے لیے سپورٹ شامل کیا گیا، جو آپ کو سرور ہینڈلر کو میموری میں نہ رکھنے اور کنکشن قائم کرنے کی کوشش کرنے پر ہی چلانے کی اجازت دیتا ہے (ڈیولپر سسٹم پر وسائل کی بچت کے لیے مفید)۔

ماخذ: opennet.ru

نیا تبصرہ شامل کریں