- 'LearnDB' नाम के एक प्रोजेक्ट पर लेख, जो SQLite जैसा एक relational database management system (RDBMS) है और जिसे शुद्ध Python में शुरुआत से लिखा गया है.
- यह प्रोजेक्ट Richard Feynman के इस कथन "जो मैं बना नहीं सकता, उसे मैं समझ नहीं सकता" से प्रेरित है, और इसका लक्ष्य डेटाबेस की गहरी समझ प्रदान करना है.
- LearnDB का codebase सरल है और इसमें अपेक्षाकृत काफ़ी पूर्ण RDBMS implementation है, इसलिए यह प्रयोग करने के लिए उपयुक्त है.
- यह समृद्ध SQL (
learndb-sql) को support करता है, जिसमें select, from, where, group by, having, limit, order by आदि शामिल हैं, और lark का उपयोग करके custom lexer और parser बनाए गए हैं.
- सिस्टम उपयोगकर्ताओं को कई तरीकों से RDBMS से जुड़ने देता है, जैसे REPL, Python module import करना, या engine को command file देना.
- यह backing data structure के रूप में disk-based
btree implementation का उपयोग करता है.
- हालांकि, LearnDB में कुछ सीमाएँ हैं, जैसे floating-point arithmetic का सरल implementation और wildcard column expansion जैसी सामान्य utility features का support न होना.
- लेख में LearnDB को install और run करने के विस्तृत निर्देश दिए गए हैं, जिनमें system requirements और test चलाने के चरण शामिल हैं.
- लेखक ने प्रोजेक्ट लिखते समय जिन सामग्रियों का संदर्भ लिया, उनका भी उल्लेख किया है, जिनमें SQLite Database System: Design and Implementation (1st ed), SQLite file format documentation, और SQL statement implementation के लिए Postgres शामिल हैं.
- इन सीमाओं के बावजूद, LearnDB का उद्देश्य इसे वास्तविक storage solution की तरह उपयोग करना नहीं, बल्कि database internals को समझने के लिए एक learning tool के रूप में इस्तेमाल करना है.
1 टिप्पणियां
Hacker News टिप्पणियाँ