- यह SQLite डेटाबेस को कंप्यूटरों के बीच अधिक तेज़ी से कॉपी करने के तरीके की व्याख्या करता है
- डेटाबेस के इंडेक्स कॉपी की गति धीमी होने का मुख्य कारण हैं
- SQLite के
.dump कमांड का उपयोग करके डेटाबेस को एक टेक्स्ट फ़ाइल में डंप किया जा सकता है
- टेक्स्ट फ़ाइल मूल डेटाबेस से छोटी होती है, और compress करने पर और भी छोटी हो जाती है
- यह तरीका बड़े डेटाबेस को अधिक तेज़ी और विश्वसनीयता के साथ कॉपी करने में मदद करता है
कंप्यूटरों के बीच SQLite डेटाबेस को तेज़ी से कॉपी करने का तरीका
- यह remote server पर संग्रहीत SQLite डेटाबेस को local computer पर कॉपी करने के तरीके की व्याख्या करता है
- शुरुआती प्रोजेक्ट में
rsync कमांड का उपयोग करके इसे आसानी से कॉपी किया जा सकता है
- जैसे-जैसे डेटाबेस बड़ा होता है, कॉपी की गति धीमी होती जाती है और विश्वसनीयता घटती है
डेटाबेस डंप को टेक्स्ट फ़ाइल में बनाना
- SQLite,
.dump कमांड का उपयोग करके डेटाबेस को टेक्स्ट फ़ाइल में डंप कर सकता है
- यह टेक्स्ट फ़ाइल SQL statements से बनी होती है और मूल डेटाबेस से छोटी हो सकती है
- टेक्स्ट फ़ाइल में इंडेक्स एक single line में सिमट जाते हैं, जिससे स्टोरेज स्पेस बच सकता है
compression से स्टोरेज स्पेस बचाना
- टेक्स्ट फ़ाइल को compress करने पर उसका आकार और छोटा हो जाता है
- उदाहरण के लिए, अगर मूल SQLite डेटाबेस 3.4GB है, तो gzip से compress की गई टेक्स्ट फ़ाइल 240MB तक घट सकती है
- compress की गई टेक्स्ट फ़ाइल डाउनलोड करने पर डेटाबेस की कॉपी काफ़ी तेज़ हो जाती है
नया ssh+rsync कमांड
- सर्वर पर gzip से compress की गई टेक्स्ट फ़ाइल बनाई जाती है, उसे local computer पर कॉपी किया जाता है, और फिर डेटाबेस को दोबारा बनाया जाता है
- सर्वर पर compress की गई टेक्स्ट फ़ाइल बनाना:
ssh username@server "sqlite3 my_remote_database.db .dump | gzip -c > my_remote_database.db.txt.gz"
- फ़ाइल को local computer पर कॉपी करना:
rsync --progress username@server:my_remote_database.db.txt.gz my_local_database.db.txt.gz
- decompress करके डेटाबेस को फिर से बनाना और उसके बाद local फ़ाइल हटा देना
डेटाबेस डंप एक विश्वसनीय कॉपी source है
- अगर डेटाबेस कॉपी करते समय उसमें update होता है, तो
rsync एक गलत डेटाबेस फ़ाइल बना सकता है
- टेक्स्ट डंप बनाकर एक स्थिर कॉपी source देने से यह समस्या हल की जा सकती है
- बड़े डेटाबेस के साथ काम करते समय यह तरीका समय बचाता है और डाउनलोड को अधिक तेज़ और विश्वसनीय बनाता है
1 टिप्पणियां
Hacker News राय
--rsyncableoption का उपयोग करके optimization किया जा सकता है। इससे compression थोड़ा कम हो जाता है, लेकिन differences localized रहते हैं और पूरे compressed output को प्रभावित नहीं करते