SQLite फ़ाइल क्या है?
.sqlite एक्सटेंशन वाली फ़ाइल SQLite सॉफ़्टवेयर के साथ बनाई गई एक हल्की SQL डेटाबेस फ़ाइल है। यह एक फ़ाइल में ही एक डेटाबेस है और एक स्व-निहित, पूर्ण-विशेषताओं, अत्यधिक-विश्वसनीय SQL डेटाबेस इंजन को लागू करता है। SQLite डेटाबेस फ़ाइलों का उपयोग नेटवर्क पर इन फ़ाइलों का सरल आदान-प्रदान करके सिस्टम के बीच समृद्ध सामग्री साझा करने के लिए किया जा सकता है। लगभग सभी मोबाइल और कंप्यूटर डेटा के भंडारण और साझा करने के लिए SQLite का उपयोग करते हैं, और क्रॉस-प्लेटफ़ॉर्म अनुप्रयोगों के लिए फ़ाइल स्वरूप का विकल्प है। अपने कॉम्पैक्ट उपयोग और आसान उपयोगिता के कारण, यह अन्य अनुप्रयोगों के साथ बंडल में आता है। प्रोग्रामिंग भाषाओं के लिए SQLite बाइंडिंग मौजूद हैं जैसे C, C#, C++, Java, PHP, गंभीर प्रयास।
SQLite फ़ाइल स्वरूप
SQLite वास्तव में एक C-भाषा पुस्तकालय है जो SQLite फ़ाइल स्वरूप का उपयोग करके SQLite RDBMS को लागू करता है। हर दिन नए उपकरणों के विकास के साथ, पुराने उपकरणों को समायोजित करने के लिए इसके फ़ाइल प्रारूप को पीछे की ओर संगत रखा गया है। SQLite फ़ाइल स्वरूप को डेटा के लिए दीर्घकालिक अभिलेखीय स्वरूप के रूप में देखा जाता है।
डेटाबेस फ़ाइल
एक SQLite डेटाबेस पूरी तरह से दो फाइलों के माध्यम से बनाए रखा जाता है।
- मुख्य डेटाबेस फ़ाइल - SQLite डेटाबेस की पूरी स्थिति शामिल है
- रोलबैक जर्नल - दूसरी फ़ाइल में अतिरिक्त जानकारी संग्रहीत करता है और लेनदेन करने के दौरान उपयोग किया जाता है। यदि SQLite WAL मोड में है, तो एक राइट-हेड लॉग फ़ाइल को बनाए रखा जाता है।
जर्नल फ़ाइल
इस फ़ाइल का उद्देश्य कंप्यूटर क्रैश जैसे मामलों में अंतिम लेन-देन पूरा नहीं होने की स्थिति में सभी सूचनाओं को बनाए रखना है। इस फ़ाइल का उपयोग डेटाबेस फ़ाइल को एक सुसंगत स्थिति में पुनर्स्थापित करने के लिए किया जाता है।
पेज
मुख्य SQLite डेटाबेस फ़ाइल में एक या अधिक पृष्ठ होते हैं। किसी भी समय, मुख्य डेटाबेस के प्रत्येक पृष्ठ का एक ही उपयोग होता है जो निम्न में से एक है:
- लॉक-बाइट पेज
- एक फ्रीलिस्ट पेज
- एक फ्रीलिस्ट ट्रंक पेज
- एक फ्रीलिस्ट लीफ पेज
- एक बी-पेड़ पृष्ठ
- एक टेबल बी-ट्री इंटीरियर पेज
- एक टेबल बी-ट्री लीफ पेज
- एक इंडेक्स बी-ट्री इंटीरियर पेज
- एक इंडेक्स बी-ट्री लीफ पेज
- एक पेलोड ओवरफ्लो पेज
- एक सूचक मानचित्र पृष्ठ
SQLite डेटाबेस फ़ाइलों का आकार कुछ किलोबाइट से लेकर कुछ गीगाबाइट तक हो सकता है।
SQLite हैडर
SQLite डेटाबेस हेडर डेटाबेस फ़ाइल के पहले 100 बाइट्स में स्थित होता है। प्रत्येक मान्य SQLite डेटाबेस फ़ाइल 16 बाइट्स (हेक्स में) से शुरू होती है: 53 51 4c 69 74 65 20 66 6f 72 6d 61 74 20 33 00। हेडर फ़ील्ड का विवरण निम्न तालिका में है।
ऑफ़सेट | आकार | विवरण |
---|---|---|
0 | 16 | हेडर स्ट्रिंग: “SQLite फ़ॉर्मैट 3\000” |
16 | 2 | डेटाबेस पृष्ठ का आकार बाइट्स में। 512 और 32768 के बीच दो की शक्ति होनी चाहिए, या 65536 के पृष्ठ आकार का प्रतिनिधित्व करने वाला मान 1 होना चाहिए। |
18 | 1 | फाइल फॉर्मेट राइट वर्जन। 1 विरासत के लिए; 2 वाल के लिए |
19 | 1 | फ़ाइल स्वरूप पठित संस्करण। 1 विरासत के लिए; 2 वाल के लिए |
20 | 1 | प्रत्येक पृष्ठ के अंत में अप्रयुक्त “आरक्षित” स्थान के बाइट्स। आमतौर पर 0. |
21 | 1 | अधिकतम एम्बेडेड पेलोड अंश। 64. |
22 | 1 | न्यूनतम एम्बेडेड पेलोड अंश। 32. |
23 | 1 | पत्ती पेलोड अंश। 32. |
24 | 4 | फाइल चेंज काउंटर। |
28 | 4 | पृष्ठों में डेटाबेस फ़ाइल का आकार। “इन-हेडर डेटाबेस आकार”। |
32 | 4 | पहले फ्रीलिस्ट ट्रंक पेज का पेज नंबर। |
36 | 4 | फ्रीलिस्ट पृष्ठों की कुल संख्या। |
40 | 4 | स्कीमा कुकी। |
44 | 4 | स्कीमा प्रारूप संख्या। समर्थित स्कीमा प्रारूप 1, 2, 3, और 4. |
48 | 4 | डिफ़ॉल्ट पृष्ठ कैश आकार। |
52 | 4 | ऑटो-वैक्यूम या इंक्रीमेंटल-वैक्यूम मोड में होने पर सबसे बड़े रूट बी-ट्री पेज की पेज संख्या, या अन्यथा शून्य। |
56 | 4 | डेटाबेस टेक्स्ट एन्कोडिंग। 1 का मान UTF-8 है। 2 के मान का अर्थ है UTF-16le। 3 के मान का अर्थ है UTF-16be. |
60 | 4 | यूजर_वर्जन प्राग्मा द्वारा पढ़ा और सेट किया गया “यूजर वर्जन” |
64 | 4 | वृद्धिशील-वैक्यूम मोड के लिए सही (गैर-शून्य)। असत्य (शून्य) अन्यथा। |
68 | 4 | PRAGMA application_id द्वारा निर्धारित “एप्लिकेशन आईडी” |
72 | 20 | विस्तार के लिए आरक्षित। शून्य होना चाहिए। |
92 | 4 | संस्करण-वैध-संख्या के लिए। |
96 | 4 | SQLITE_VERSION_NUMBER |