इस प्रोजेक्ट के बारे में

Dgraph एक ओपन-सोर्स, क्षैतिज रूप से स्केलेबल और वितरित GraphQL डेटाबेस है जो ग्राफ बैकएंड पर बनाया गया है। इसके README के अनुसार, यह ACID ट्रांजैक्शन, सुसंगत प्रतिकृति और रैखिक रीड प्रदान करता है, और इसे शुरू से ही क्वेरी के समृद्ध सेट के लिए डिज़ाइन किया गया है। एक नेटिव GraphQL डेटाबेस के रूप में, यह नियंत्रित करता है कि क्वेरी प्रदर्शन और थ्रूपुट को अनुकूलित करने के लिए डेटा डिस्क पर कैसे व्यवस्थित किया जाता है, जिसका लक्ष्य क्लस्टर में डिस्क सीक और नेटवर्क कॉल को कम करना है। परियोजना बताती है कि इसका लक्ष्य Google उत्पादन-स्तर के पैमाने और थ्रूपुट को टेराबाइट्स संरचित डेटा पर वास्तविक समय उपयोगकर्ता क्वेरी के लिए पर्याप्त कम विलंबता के साथ प्रदान करना है। यह GraphQL क्वेरी सिंटैक्स का समर्थन करता है और gRPC और HTTP पर JSON और Protocol Buffers में प्रतिक्रिया देता है। Dgraph Go में लिखा गया है। स्थिति और प्लेटफ़ॉर्म: README में संस्करण v25 को उत्पादन-तैयार के रूप में सूचीबद्ध किया गया है और कई Fortune 500 कंपनियों में उत्पादन में उपयोग का उल्लेख किया गया है। आधिकारिक समर्थन Linux/amd64 और Linux/arm64 को कवर करता है; आधिकारिक Mac और Windows समर्थन 2021 में हटा दिया गया था, हालांकि परियोजना को अभी भी आधिकारिक समर्थन के बिना अन्य प्लेटफ़ॉर्म पर बनाया और उपयोग किया जा सकता है। Docker परीक्षण और तैनाती के लिए अनुशंसित विधि है, जिसमें एक आधिकारिक छवि और एक स्टैंडअलोन क्विक-स्टार्ट कमांड है। स्रोत से निर्माण के लिए Go 1.27+ और बिल्ड टूल की आवश्यकता होती है, जिसमें `make setup` और `make install` शामिल हैं। README सुझाव देता है कि Dgraph उन अनुप्रयोगों के लिए उपयुक्त हो सकता है जिनमें कई परस्पर जुड़ी तालिकाएँ, विरल डेटा, लचीली स्कीमा की आवश्यकता और बड़े पैमाने पर प्रदर्शन हो। यह NoSQL-जैसी स्केलेबिलिटी को SQL-जैसे ट्रांजैक्शन और डेटा बिंदुओं को चुनने, फ़िल्टर करने और एकत्र करने की क्षमता के साथ-साथ वितरित जॉइन, ट्रैवर्सल और ग्राफ ऑपरेशन के साथ जोड़ता है। README में एक तुलना तालिका Dgraph की तुलना Neo4j और JanusGraph से आर्किटेक्चर, प्रतिकृति, शार्ड रीबैलेंसिंग, क्वेरी भाषा, प्रोटोकॉल, ट्रांजैक्शन, फुल-टेक्स्ट सर्च, रेगुलर एक्सप्रेशन, जियो सर्च और लाइसेंस के आधार पर करती है। Dgraph को शार्डेड और वितरित, सुसंगत प्रतिकृति, शार्ड रीबैलेंसिंग के लिए स्वचालित डेटा मूवमेंट, GraphQL-प्रेरित भाषा, JSON/RDF के साथ gRPC/HTTP, वितरित ACID ट्रांजैक्शन, और Apache 2.0 के तहत नेटिव फुल-टेक्स्ट सर्च, रेगुलर एक्सप्रेशन और जियो सर्च के रूप में वर्णित किया गया है। दस्तावेज़ीकरण, सामुदायिक चर्चाएँ, रिलीज़ और योगदान दिशानिर्देश लिंक किए गए हैं, और टीम समुदाय-योगदानित अनौपचारिक क्लाइंट लाइब्रेरी के साथ आधिकारिक रूप से समर्थित क्लाइंट लाइब्रेरी बनाए रखती है।