रिलेशनल ग्राफ़ DBMS EdgeDB 2.0 का विमोचन

EdgeDB 2.0 DBMS की रिलीज़ प्रस्तुत की गई है, जो रिलेशनल ग्राफ़ डेटा मॉडल और EdgeQL क्वेरी भाषा को लागू करती है, जो जटिल पदानुक्रमित डेटा के साथ काम करने के लिए अनुकूलित है। कोड पायथन और रस्ट (पार्सर और प्रदर्शन-महत्वपूर्ण भागों) में लिखा गया है और अपाचे 2.0 लाइसेंस के तहत वितरित किया गया है। इस परियोजना को PostgreSQL के ऐड-ऑन के रूप में विकसित किया जा रहा है। क्लाइंट लाइब्रेरीज़ पायथन, गो, रस्ट और टाइपस्क्रिप्ट/जावास्क्रिप्ट के लिए तैयार की जाती हैं। डीबीएमएस प्रबंधन और इंटरैक्टिव क्वेरी निष्पादन (आरईपीएल) के लिए कमांड लाइन उपकरण प्रदान करता है।

तालिका-आधारित डेटा मॉडल के बजाय, EdgeDB ऑब्जेक्ट प्रकारों के आधार पर एक घोषणात्मक प्रणाली का उपयोग करता है। विदेशी कुंजियों के बजाय, संदर्भ द्वारा लिंकिंग का उपयोग प्रकारों के बीच संबंध को परिभाषित करने के लिए किया जाता है (एक ऑब्जेक्ट को दूसरे ऑब्जेक्ट की संपत्ति के रूप में उपयोग किया जा सकता है)।

व्यक्ति टाइप करें {आवश्यक संपत्ति का नाम -> str; } मूवी टाइप करें {आवश्यक संपत्ति शीर्षक -> str; मल्टी लिंक अभिनेता -> व्यक्ति; }

क्वेरी प्रोसेसिंग को तेज़ करने के लिए इंडेक्स का उपयोग किया जा सकता है। मजबूत संपत्ति टाइपिंग, संपत्ति मूल्य प्रतिबंध, परिकलित गुण और संग्रहीत कार्यविधियाँ जैसी सुविधाएँ भी समर्थित हैं। एजडीबी ऑब्जेक्ट स्टोरेज स्कीम की विशेषताएं, जो कुछ हद तक ओआरएम की याद दिलाती है, में स्कीमा को मिश्रित करने की क्षमता, विभिन्न ऑब्जेक्ट से गुणों को लिंक करना और एकीकृत JSON समर्थन शामिल है।

स्कीमा माइग्रेशन को संग्रहीत करने के लिए अंतर्निहित उपकरण प्रदान किए जाते हैं - एक अलग esdl फ़ाइल में निर्दिष्ट स्कीमा को बदलने के बाद, बस "edgedb माइग्रेशन क्रिएट" कमांड चलाएं और DBMS स्कीमा में अंतर का विश्लेषण करेगा और माइग्रेट करने के लिए इंटरैक्टिव रूप से एक स्क्रिप्ट तैयार करेगा। नई स्कीम. स्कीमा परिवर्तनों का इतिहास स्वचालित रूप से ट्रैक किया जाता है।

क्वेरी उत्पन्न करने के लिए, ग्राफक्यूएल क्वेरी भाषा और मालिकाना एजडीबी भाषा, जो पदानुक्रमित डेटा के लिए एसक्यूएल का एक अनुकूलन है, दोनों समर्थित हैं। सूचियों के बजाय, क्वेरी परिणामों को संरचित तरीके से स्वरूपित किया जाता है, और सबक्वेरीज़ और जॉइन के बजाय, आप एक EdgeQL क्वेरी को किसी अन्य क्वेरी के भीतर एक अभिव्यक्ति के रूप में निर्दिष्ट कर सकते हैं। लेनदेन और चक्र समर्थित हैं।

मूवी चुनें { शीर्षक, अभिनेता: { नाम } } फ़िल्टर .शीर्षक = "द मैट्रिक्स" मूवी डालें { शीर्षक: = "द मैट्रिक्स रिसरेक्शन्स", अभिनेता:= ( व्यक्ति फ़िल्टर चुनें .नाम { 'कीनू रीव्स', 'कैरी-' में ऐनी मॉस', 'लॉरेंस फिशबर्न' } ) } {0, 1, 2, 3} संघ में संख्या के लिए ({ संख्या, संख्या + 0.5 } चुनें);

नये संस्करण में:

  • डेटाबेस प्रशासन के लिए एक अंतर्निहित वेब इंटरफ़ेस जोड़ा गया है, जो आपको डेटा देखने और संपादित करने, एजक्यूएल क्वेरी चलाने और उपयोग की गई स्टोरेज योजना का विश्लेषण करने की अनुमति देता है। इंटरफ़ेस "edgedb ui" कमांड द्वारा लॉन्च किया गया है, जिसके बाद यह लोकलहोस्ट तक पहुंचने पर उपलब्ध हो जाता है।
    रिलेशनल ग्राफ़ DBMS EdgeDB 2.0 का विमोचन
  • "ग्रुप" एक्सप्रेशन लागू किया गया है, जो आपको सेलेक्ट ऑपरेशन में ग्रुपिंग के समान, मनमाने एजक्यूएल एक्सप्रेशन का उपयोग करके डेटा और समूह डेटा को विभाजित और एकत्रित करने की अनुमति देता है।
  • वस्तु स्तर पर पहुंच को नियंत्रित करने की क्षमता। एक्सेस नियमों को स्टोरेज स्कीमा स्तर पर परिभाषित किया गया है और आपको फ़ेच, इंसर्ट, डिलीट और अपडेट ऑपरेशन में ऑब्जेक्ट के एक निश्चित सेट का उपयोग करने की क्षमता को सीमित करने की अनुमति मिलती है। उदाहरण के लिए, आप एक नियम जोड़ सकते हैं जो केवल लेखक को किसी प्रकाशन को अपडेट करने की अनुमति देता है।
  • भंडारण योजना में वैश्विक चर का उपयोग करने की क्षमता जोड़ी गई। उपयोगकर्ता से जुड़ने के लिए एक नया वैश्विक वैरिएबल current_user प्रस्तावित किया गया है।
  • मानों की श्रेणियों को परिभाषित करने वाले प्रकारों के लिए समर्थन जोड़ा गया।
  • रस्ट भाषा के लिए एक आधिकारिक क्लाइंट लाइब्रेरी तैयार की गई है।
  • EdgeDB बाइनरी प्रोटोकॉल को स्थिर कर दिया गया है, जिससे वैश्विक चर और स्थानीय राज्यों का उपयोग करके, HTTP के माध्यम से अग्रेषित करके, एक ही नेटवर्क कनेक्शन के भीतर एक साथ कई अलग-अलग सत्रों को संसाधित करना संभव हो गया है।
  • सॉकेट सक्रियण के लिए समर्थन जोड़ा गया, जो आपको सर्वर हैंडलर को मेमोरी में नहीं रखने और कनेक्शन स्थापित करने का प्रयास करते समय इसे चलाने की अनुमति देता है (डेवलपर सिस्टम पर संसाधनों को सहेजने के लिए उपयोगी)।

स्रोत: opennet.ru

एक टिप्पणी जोड़ें