इस प्रोजेक्ट के बारे में
Materialize एक रीयल-टाइम डेटा इंटीग्रेशन प्लेटफ़ॉर्म है जो किसी संगठन भर के ट्रांज़ैक्शनल डेटा के सुसंगत व्यू बनाता है और उन्हें लगातार अपडेट करता रहता है। इसका SQL इंटरफ़ेस लाइव डेटा को सर्व करने और एक्सेस करने को व्यापक रूप से सुलभ बनाने के लिए है, और इसे वहीं डिप्लॉय किया जा सकता है जहाँ आपका इन्फ्रास्ट्रक्चर चलता है।
README में वर्णित सामान्य अडॉप्शन पैटर्न:
- Query Offload (CQRS): कैश इनवैलिडेशन की परेशानियों के बिना, रीड रेप्लिका की तुलना में जटिल रीड क्वेरीज़ को अधिक कुशलता से स्केल करें।
- Integration Hub (ODS): कई स्रोतों से डेटा को एक्सट्रैक्ट, लोड और इंक्रीमेंटली ट्रांसफ़ॉर्म करें, ऐसे लाइव व्यू बनाएँ जिन्हें सीधे क्वेरी किया जा सके या डाउनस्ट्रीम पुश किया जा सके।
- Operational Data Mesh (ODM): सेवाओं और डोमेन्स में रीयल-टाइम, मजबूत रूप से सुसंगत डेटा प्रोडक्ट बनाने और पहुँचाने के लिए SQL का उपयोग करें।
संगतता और निष्पादन मॉडल: Materialize का लक्ष्य अनुमानित या अंततः सुसंगत परिणामों के बजाय न्यूनतम लेटेंसी के साथ सही, सुसंगत उत्तर देना है, जिसमें कई अपस्ट्रीम सिस्टम्स से डेटा जोड़ना भी शामिल है। क्वेरीज़ को डेटाफ़्लो के रूप में फिर से ढाला जाता है जो डेटा परिवर्तनों पर कुशलता से प्रतिक्रिया देते हैं। मैनेज्ड सेवा को क्लाउड-नेटिव बताया गया है, जिसमें मल्टी-एक्टिव रेप्लिकेशन के ज़रिए हाई अवेलेबिलिटी, मशीनों में हॉरिज़ॉन्टल स्केलेबिलिटी, और Amazon S3 जैसे क्लाउड ऑब्जेक्ट स्टोरेज द्वारा समर्थित स्टोरेज शामिल है। Enterprise और Community एडिशन्स को सेल्फ-मैनेज किया जा सकता है।
डेटा इनजेशन: PostgreSQL या MySQL रेप्लिकेशन स्ट्रीम्स से सीधे पढ़ना, Kafka और Kafka API-संगत सिस्टम्स जैसे Redpanda, और वेबहुक के ज़रिए SaaS एप्लिकेशन्स।
ट्रांसफ़ॉर्मेशन और क्वेरींग: व्यू को PostgreSQL प्रोटोकॉल के ज़रिए परिभाषित और पढ़ा जाता है, इसलिए psql सहित मौजूदा SQL क्लाइंट्स का उपयोग किया जा सकता है; dbt Core को प्रोडक्शन उपयोग में सामान्य बताया गया है। समर्थित SQL फ़ीचर्स में मल्टी-कॉलम और मल्टी-वे जॉइन्स, सेल्फ-जॉइन्स, क्रॉस-जॉइन्स, इनर और आउटर जॉइन्स, ऑटोमैटिक डीकोरिलेशन के साथ सबक्वेरीज़, इन्सर्ट, अपडेट और डिलीट के तहत इंक्रीमेंटल व्यू मेंटेनेंस, एग्रीगेशन्स (min, max, count, sum, stddev और अन्य), HAVING, ORDER BY, LIMIT, DISTINCT, PostgreSQL डायलेक्ट में JSON ऑपरेटर्स और फ़ंक्शन्स, नेस्टेड व्यू, और ओवरलैपिंग सबप्लान्स में साझा इंडेक्स शामिल हैं। ट्री और ग्राफ़ संरचनाओं को इंक्रीमेंटली अपडेट करने के लिए रिकर्शन भी समर्थित है। README में एक TPC-H क्वेरी 15 उदाहरण शामिल है जो CREATE SOURCE, CREATE VIEW, CREATE MATERIALIZED VIEW और CREATE INDEX दिखाता है।
डेटा एग्रेस: किसी भी PostgreSQL-संगत ड्राइवर के ज़रिए पुल-आधारित एक्सेस, और SUBSCRIBE के ज़रिए या परिणामों को Kafka टॉपिक पर स्ट्रीम करके पुश-आधारित एक्सेस, साथ ही अपडेट्स को ऑब्जेक्ट स्टोरेज में कॉपी करने का विकल्प।
लाइसेंसिंग और डेवलपमेंट: स्टैंडअलोन डेटाबेस इंजन का सोर्स इस रिपॉज़िटरी में BSL 1.1 के तहत है, जो चार वर्षों बाद Apache 2.0 में परिवर्तित हो जाता है; स्टैंडअलोन इंजन का सिंगल-नोड उपयोग हमेशा के लिए मुफ़्त है। मैनेज्ड क्लाउड सेवा में हॉरिज़ॉन्टल स्केलेबिलिटी, हाई अवेलेबिलिटी और एक वेब मैनेजमेंट कंसोल जैसी प्रोप्राइटरी सुविधाएँ शामिल हैं। Materialize मुख्य रूप से Rust में लिखा गया है, डेवलपर डॉक्स doc/developer में हैं और Rust API डॉक्स अलग से होस्ट किए गए हैं। योगदान का स्वागत है, जिसके लिए मार्गदर्शन CONTRIBUTING.md में है।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.