एक सॉफ्टवेयर डेवलपर के रूप में, मैंने छोटे घरेलू एप से लेकर मध्यम आकार के उद्यम अनुप्रयोगों तक की परियोजनाओं पर काम किया है। लगभग हर प्रोजेक्ट में मैंने एक डेटाबेस का इस्तेमाल किया या पछतावा किया कि शुरुआत से ही इसका इस्तेमाल न करें।
अब, मैं डेटाबेस और सामान्य अनुप्रयोगों में उनके उपयोग के बारे में कुछ बातें सोच रहा हूँ:
- क्यों Windows स्वयं किसी भी "केंद्रीय" SQL डेटाबेस का उपयोग नहीं करता है? उदाहरण के लिए:
- त्रुटियों की रिपोर्ट करने वाले डेटा को फ़ाइलों के एक समूह में संग्रहीत किया जाता है,
- Windows अद्यतन फ्लैट फ़ाइलों में सब कुछ संग्रहीत करता है,
- प्रतीक कैश को बहुत ही अजीब सिंगल फाइल में संग्रहित किया जाता है, जो एसक्यूएल आदि के माध्यम से एक्सेस नहीं होता है।
- क्यों कई बड़े अनुप्रयोग डेटाबेस का उपयोग करने से बचते हैं? उदाहरण के लिए, .pst फ़ाइलों के लिए अपने स्वयं के प्रारूप होने और रजिस्ट्री में कुछ डेटा संग्रहीत करने के बजाय Microsoft एक वास्तविक डेटाबेस का उपयोग करके Microsoft आउटलुक को हासिल नहीं करेगा?
यदि डेटाबेस समग्र जटिलता की एक अतिरिक्त परत और एक छोटे प्रदर्शन हानि जोड़ता है, तो यह अधिकांश परिस्थितियों में कोड को सरल बनाने का एक बड़ा लाभ की कीमत है, खासकर जब यह बड़े बाइनरी के बजाय डेटा के छोटे संगठित विखंडन के भंडारण की बात आती है। धाराओं। तो क्यों कुछ उत्पादों वास्तव में डेटाबेस का उपयोग कर रहे हैं? संभवत: एकमात्र आवेदन मुझे पता है कि वास्तव में Sqlite डेटाबेस का उपयोग करने वाला फ़ायरफ़ॉक्स है, और शायद Microsoft एक्सचेंज (लेकिन अंतिम एक डेस्कटॉप डिवाइस नहीं है)?
इसके अलावा, Microsoft Office या Microsoft अभिव्यक्ति जैसे अनुप्रयोगों का एक सेट नहीं होगा, एकीकृत SQL डेटाबेस होने से लाभ , एप्लिकेशन को लागू करना, डेटा को अपडेट / अपग्रेड करना, उन अनुप्रयोगों के बीच डेटा साझा करना, बैकअप बनाना आसान बनाता है। , आदि।?