একটি SQLite ফাইল কি?
.sqlite এক্সটেনশন সহ একটি ফাইল হল একটি লাইটওয়েট SQL ডাটাবেস ফাইল যা SQLite সফ্টওয়্যার দিয়ে তৈরি করা হয়েছে৷ এটি একটি ফাইলের মধ্যে একটি ডাটাবেস এবং একটি স্বয়ংসম্পূর্ণ, সম্পূর্ণ বৈশিষ্ট্যযুক্ত, অত্যন্ত নির্ভরযোগ্য SQL ডাটাবেস ইঞ্জিন প্রয়োগ করে৷ SQLite ডাটাবেস ফাইলগুলি নেটওয়ার্কের মাধ্যমে এই ফাইলগুলিকে সহজে বিনিময় করে সিস্টেমগুলির মধ্যে সমৃদ্ধ বিষয়বস্তু ভাগ করে নেওয়ার জন্য ব্যবহার করা যেতে পারে। প্রায় সমস্ত মোবাইল এবং কম্পিউটার ডেটা সংরক্ষণ এবং ভাগ করার জন্য SQLite ব্যবহার করে এবং ক্রস-প্ল্যাটফর্ম অ্যাপ্লিকেশনগুলির জন্য ফাইল বিন্যাসের পছন্দ। এর কমপ্যাক্ট ব্যবহার এবং সহজ ব্যবহারযোগ্যতার কারণে, এটি অন্যান্য অ্যাপ্লিকেশনের মধ্যে বান্ডিল করে আসে। সি, C#, C++, Java, PHP এবং আরও অনেকের মতো প্রোগ্রামিং ভাষার জন্য SQLite বাইন্ডিং বিদ্যমান।
SQLite ফাইল ফরম্যাট
বাস্তবে SQLite হল একটি C-Language লাইব্রেরি যা SQLite ফাইল ফরম্যাট ব্যবহার করে SQLite RDBMS প্রয়োগ করে। প্রতি একক দিন নতুন ডিভাইসের বিবর্তনের সাথে, এর ফাইল বিন্যাসটি পুরানো ডিভাইসগুলিকে সামঞ্জস্য করার জন্য পিছনের দিকে সামঞ্জস্যপূর্ণ রাখা হয়েছে। SQLite ফাইল বিন্যাস ডেটার জন্য দীর্ঘমেয়াদী সংরক্ষণাগার বিন্যাস হিসাবে দেখা হয়।
ডাটাবেস ফাইল
একটি SQLite ডাটাবেস সম্পূর্ণরূপে দুটি ফাইলের মাধ্যমে রক্ষণাবেক্ষণ করা হয়।
- প্রধান ডাটাবেস ফাইল - SQLite ডাটাবেসের সম্পূর্ণ অবস্থা ধারণ করে
- রোলব্যাক জার্নাল - একটি দ্বিতীয় ফাইলে অতিরিক্ত তথ্য সঞ্চয় করে এবং লেনদেন করার সময় ব্যবহার করা হয়। SQLite WAL মোডে থাকলে, একটি রাইট-হেড লগ ফাইল রক্ষণাবেক্ষণ করা হয়।
জার্নাল ফাইল
এই ফাইলটি কম্পিউটার ক্র্যাশের মতো ক্ষেত্রে শেষ লেনদেনটি সম্পূর্ণ না হওয়ার ক্ষেত্রে সমস্ত তথ্য রক্ষণাবেক্ষণ করার উদ্দেশ্যে করা হয়েছে৷ এই ফাইলটি ডাটাবেস ফাইলটিকে সামঞ্জস্যপূর্ণ অবস্থায় পুনরুদ্ধার করতে ব্যবহৃত হয়।
পৃষ্ঠা
প্রধান SQLite ডাটাবেস ফাইল এক বা একাধিক পৃষ্ঠা নিয়ে গঠিত। যেকোনো সময়ে, মূল ডাটাবেসের প্রতিটি পৃষ্ঠার একটি একক ব্যবহার থাকে যা নিম্নলিখিতগুলির মধ্যে একটি:
- লক-বাইট পৃষ্ঠা
- একটি ফ্রিলিস্ট পেজ
- একটি ফ্রিলিস্ট ট্রাঙ্ক পৃষ্ঠা
- একটি ফ্রিলিস্ট পাতার পাতা
- একটি খ-বৃক্ষ পাতা
- একটি টেবিল বি-ট্রি অভ্যন্তরীণ পৃষ্ঠা
- একটি টেবিল বি-গাছের পাতার পাতা
- একটি সূচক বি-বৃক্ষের অভ্যন্তরীণ পৃষ্ঠা
- একটি সূচক বি-গাছের পাতার পাতা
- একটি পেলোড ওভারফ্লো পৃষ্ঠা
- একটি পয়েন্টার মানচিত্র পৃষ্ঠা
SQLite ডাটাবেস ফাইলের আকার কয়েক কিলোবাইট থেকে কয়েক গিগাবাইট পর্যন্ত হতে পারে।
SQLite হেডার
The SQLite database header is located in the first 100 bytes of the database file. Every valid SQLite database file starts with 16 bytes (in hex):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 এর মধ্যে দুটির একটি পাওয়ার হতে হবে, অথবা 1 মান 65536 এর একটি পৃষ্ঠার আকার উপস্থাপন করে। |
18 | 1 | ফাইল ফরম্যাট লেখা সংস্করণ। উত্তরাধিকারের জন্য 1; WAL এর জন্য 2. |
19 | 1 | ফাইল ফরম্যাট রিড সংস্করণ। উত্তরাধিকারের জন্য 1; WAL এর জন্য 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 | The database text encoding. A value of 1 means UTF-8. 2 এর মান মানে UTF-16le। 3 এর মান মানে UTF-16be. |
60 | 4 | ব্যবহারকারী সংস্করণ প্রাগমা দ্বারা পঠিত এবং সেট করা ব্যবহারকারী সংস্করণ। |
64 | 4 | ইনক্রিমেন্টাল-ভ্যাকুয়াম মোডের জন্য সত্য (অ-শূন্য)। মিথ্যা (শূন্য) অন্যথায়। |
68 | 4 | প্রগমা অ্যাপ্লিকেশন_আইডি দ্বারা সেট করা অ্যাপ্লিকেশন আইডি |
72 | 20 | সম্প্রসারণের জন্য সংরক্ষিত। শূন্য হতে হবে। |
92 | 4 | সংখ্যার জন্য বৈধ-সংস্করণ |
96 | 4 | SQLITE_VERSION_NUMBER |