इस प्रोजेक्ट के बारे में
immudb एक हल्का, ओपन-सोर्स डेटाबेस है जो immutability और zero-trust सिद्धांतों के इर्द-गिर्द बनाया गया है। रिकॉर्ड्स को नए संस्करणों के रूप में जोड़ा जा सकता है, लेकिन उन्हें कभी संशोधित या हटाया नहीं जा सकता, और हर बदलाव को एक क्रिप्टोग्राफिक रूप से सुसंगत, सत्यापन योग्य इतिहास में ट्रैक किया जाता है जिसे क्लाइंट्स डेटाबेस सर्वर पर भरोसा किए बिना सत्यापित कर सकते हैं। यह एक रिश्तेदार (SQL) डेटाबेस, एक key-value स्टोर और एक document-model डेटाबेस के रूप में काम कर सकता है, और इसे एक स्टैंडअलोन सेवा के रूप में या एक Go लाइब्रेरी के रूप में in-process एम्बेडेड चलाया जा सकता है।
प्रोजेक्ट में प्रलेखित प्रमुख क्षमताएं:
- मल्टी-मॉडल एक्सेस: ट्रांजैक्शन और blobs के साथ SQL, सत्यापित reads/writes के साथ एक key-value API, और एक document मॉडल।
- PostgreSQL wire protocol संगतता: मानक PostgreSQL क्लाइंट्स और ORMs (psql, pgAdmin, JDBC, SQLAlchemy, Django, GORM, ActiveRecord, lib/pq, pgx) सीधे कनेक्ट कर सकते हैं। समर्थित SQL फीचर्स में RETURNING clauses, common table expressions (WITH / WITH RECURSIVE), window functions (ROW_NUMBER, RANK, LAG, LEAD और अन्य), views, sequences, joins और subqueries का एक व्यापक सेट, set operations, SAVEPOINT-आधारित transaction control, COPY FROM stdin bulk import, partial indexes, और 75+ built-in functions शामिल हैं। pg_catalog और information_schema टेबल्स के माध्यम से कैटलॉग एमुलेशन ORM introspection का समर्थन करता है। प्रलेखित सीमाओं में कोई stored procedures/PLpgSQL नहीं, कोई GIN/GiST indexes नहीं (केवल B-tree), और कोई generated columns नहीं शामिल हैं।
- Time-travel queries: एक DIFF OF SQL सिंटैक्स दो transaction ranges के बीच table state की तुलना करता है, rows को INSERT, UPDATE, या DELETE के रूप में लेबल करता है।
- SQL के माध्यम से क्रिप्टोग्राफिक सत्यापन: immudb_state(), immudb_verify_row(), immudb_verify_tx(), और immudb_history() जैसे फंक्शन प्रणाली को प्रमाण सीधे queries में प्रकट करते हैं।
- संरचित audit logging: हर gRPC operation के लिए वैकल्पिक अपरिवर्तनीय JSON audit events (timestamp, user, IP, database, method, category, duration, session ID), immudb के अपने tamper-proof KV store में संग्रहीत और SIEM सिस्टम्स में निर्यात करने योग्य।
- डेप्लॉयमेंट विकल्प: prebuilt binaries, Docker images, Kubernetes Helm charts, और embedded library mode। डेटा को Amazon S3 या MinIO जैसे S3-संगत विकल्पों पर स्टोर किया जा सकता है, जिसमें AWS IAM roles और Fargate credential sourcing का समर्थन शामिल है।
- क्लाइंट इकोसिस्टम: Java, Go (एक GORM adapter सहित), .NET, Python, और Node.js के लिए आधिकारिक SDKs; इंटरैक्टिव प्रशासन के लिए immuclient CLI; और immugw, उन भाषाओं के लिए एक REST gateway जिनके लिए कोई SDK नहीं है। Rust उपयोगकर्ताओं को मानक PostgreSQL क्लाइंट्स या generated gRPC code की ओर निर्देशित किया जाता है, क्योंकि crates.io immudb crate अनौपचारिक है।
- सुरक्षा हार्डनिंग: archive restore में path-traversal validation, user/permission बदलावों पर तुरंत session invalidation, प्रतिबंधित token file permissions, और जब PostgreSQL-संगत सर्वर TLS के बिना चलता है तो startup warning।
प्रतिवेदित वास्तविक दुनिया के उपयोगों में संवेदनशील फील्ड बदलावों (जैसे, payment data) का immutably संग्रहण, CI/CD build recipes की सुरक्षा, certificates और checksums का स्टोर करना, tamper-evident log streams, और sensor या location data का रिकॉर्डिंग शामिल है। दस्तावेज़ीकरण, एक web console demo, और एक Python SDK playground प्रोजेक्ट साइट पर उपलब्ध हैं।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.