HN रिलीज़: SQLite डिस्क पेज एक्सप्लोरर
(github.com/QuadrupleA)-
SQLite Page Explorer
-
SQLite Page Explorer redbean से बनाया गया एक छोटा GUI application है, जो SQLite database को ठीक वैसे "page-by-page" एक्सप्लोर करने देता है जैसे SQLite उसे देखता है
-
इसकी ज़रूरत क्यों है?
- SQLite और ज़्यादातर databases डेटा को disk block size वाले pages में स्टोर करते हैं, जो आमतौर पर 4KB के होते हैं, ताकि read और write जितना संभव हो उतना तेज़ हो सके
- आम तौर पर developers database के साथ "schema level" पर interact करते हैं, लेकिन "page level" को देखने पर ये दिलचस्प insights मिल सकते हैं
- index वास्तव में disk पर कैसे दिखते हैं, यह देखा जा सकता है (असल में वे अलग छोटे tables होते हैं)
- डेटा को ज़्यादा compress करके store करने से queries और applications को तेज़ बनाया जा सकता है
- schema level पर न दिखने वाली समस्याएँ और inefficiencies खोजी जा सकती हैं
- B-tree जैसी महत्वपूर्ण data structures के बारे में intuition मिल सकती है, जो ज़्यादातर file systems और databases की नींव हैं
-
कहीं भी चलाया जा सकता है
- redbean, cosmopolitan, αcτµαlly pδrταblε εxεcµταblε की बदौलत, यह एक single 6.5 MB executable है जो Windows, Linux, MacOS, कई BSD, ARM64 और x64 पर native रूप से चलता है
- यह फ़ाइल एक zip file है, जिसमें application चलाने और database binary format को parse करने वाला Lua code शामिल है
-
इंस्टॉल कैसे करें
- releases से
sqlite-page-explorer.comडाउनलोड करें - Unix systems पर
chmod +xचलाएँ - database file को drag करें या console से चलाएँ:
sqlite-page-explorer.com mySqliteDatabase.db - application browser tab में खुल जाएगा
- काम पूरा होने पर console में Ctrl-C दो बार दबाएँ
- αcτµαlly pδrταblε εxεcµταblεs browser और operating system के virus detection systems को भ्रमित कर सकते हैं, जिससे false positives हो सकते हैं. इंटरनेट से डाउनलोड की गई किसी भी चीज़ के साथ सामान्य सावधानी बरतें
- अगर 500 MB से बड़े databases इस्तेमाल करते हैं, तो सभी pages पढ़ने वाला top-level view लोड होने में समय लग सकता है
- releases से
-
बिल्ड कैसे करें
files/की सामग्री कोredbean-3.0.0-cosmos.comपरzipके रूप में पैक करें. इसे https://cosmo.zip/pub/cosmos/bin/ से डाउनलोड किया जा सकता है (सूची में "redbean" पर क्लिक करें)- अगर आपके system में
zipनहीं है, तो उसे उसी साइट से डाउनलोड करना होगा - शामिल
zipitup.pyPython (3.6+) script भी चलाया जा सकता है - बदलाव करने के लिए
redbean-3.0.0-cosmos.com -D filesचलाकरfilessubdirectory से application serve कर सकते हैं. हर बदलाव पर zip को दोबारा build करने की ज़रूरत नहीं है
-
कोई masterpiece नहीं है
- redbean को आज़माने और पहली बार Lua इस्तेमाल करने के एक प्रयोग के हिस्से के रूप में, code थोड़ा बिखरा हुआ हो सकता है
- Jinja या bottle.py के native templates जैसे template system का इस्तेमाल करने से बहुत सारे string concatenation और Write() statements कम हो सकते हैं
- अच्छा होता अगर आख़िरी tab बंद होने पर console अपने-आप बंद हो जाता, और बड़े databases के लिए page 10,000 पर रुकने की सुविधा होती जब तक user पुष्टि न करे
- PR स्वागत हैं
1 टिप्पणियां
Hacker News टिप्पणियाँ