একটি সফ্টওয়্যার বিকাশকারী হিসাবে, আমি ক্ষুদ্র গৃহ-নির্মিত অ্যাপ্লিকেশন থেকে মাঝারি আকারের এন্টারপ্রাইজ অ্যাপ্লিকেশন পর্যন্ত প্রকল্পগুলিতে কাজ করেছি। প্রায় প্রতিটি প্রকল্পে আমি একটি ডাটাবেস ব্যবহার করেছি বা শুরু থেকে এটি ব্যবহার না করার জন্য অনুশোচনা করেছি।
এখন, আমি সাধারণ অ্যাপ্লিকেশনগুলিতে ডেটাবেস এবং তাদের ব্যবহার সম্পর্কে কয়েকটি বিষয় অবাক করে দিচ্ছি:
- কেন উইন্ডোজ নিজেই কোনও "কেন্দ্রীয়" এসকিউএল ডাটাবেস ব্যবহার করে না? উদাহরণ স্বরূপ:
- ত্রুটিগুলি রিপোর্টিং ডেটা একগুচ্ছ ফাইলগুলিতে সংরক্ষণ করা হয়,
- উইন্ডোজ আপডেট ফ্ল্যাট ফাইলগুলিতে সমস্ত কিছু সঞ্চয় করে,
- আইকনস ক্যাশে খুব অদ্ভুত একক ফাইলে সংরক্ষণ করা হয় যা এসকিউএল ইত্যাদির মাধ্যমে অ্যাক্সেস করা যায় না বলে মনে হয় etc.
- এত বড় অ্যাপ্লিকেশন কেন ডেটাবেস ব্যবহার করা এড়ায়? উদাহরণস্বরূপ, মাইক্রোসফ্ট আউটলুক .pst ফাইলগুলির নিজস্ব ফর্ম্যাট রেখে এবং রেজিস্ট্রিতে কিছু ডেটা সংরক্ষণ করে চাকাটিকে পুনরায় উদ্ভাবন করার পরিবর্তে প্রকৃত ডাটাবেস ব্যবহার করে লাভ করবে না?
যদি ডাটাবেস সামগ্রিক জটিলতার একটি অতিরিক্ত স্তর এবং একটি ক্ষুদ্র কার্যকারিতা হ্রাস যুক্ত করে, বেশিরভাগ পরিস্থিতিতে কোডটি সহজ করে তোলার জন্য এটি একটি বিশাল সুবিধার দাম, বিশেষত যখন বড় বাইনারিগুলির পরিবর্তে ছোট ছোট সংগঠিত উপায়ে স্টোরেজ করার বিষয়টি আসে স্রোত বইবে। তাহলে কেন এত কম পণ্যই ডাটাবেস ব্যবহার করছে? সম্ভবত আমি কেবলমাত্র অ্যাপ্লিকেশনটি জানি যা আসলে স্ক্লাইট ডাটাবেস ব্যবহার করে তা হ'ল ফায়ারফক্স এবং সম্ভবত মাইক্রোসফ্ট এক্সচেঞ্জ (তবে শেষটি কোনও ডেস্কটপ অ্যাপ্লিকেশন নয়)?
এছাড়াও, মাইক্রোসফ্ট অফিস বা মাইক্রোসফ্ট এক্সপ্রেশনের মতো কোনও অ্যাপ্লিকেশন সেট করে না যে কোনও ইউনিফাইড এসকিউএল ডাটাবেস থাকার ফলে, অ্যাপ্লিকেশনগুলি মোতায়েন করা, ডেটা আপডেট / আপগ্রেড করা, সেই অ্যাপ্লিকেশনগুলির মধ্যে ডেটা ভাগ করা, ব্যাকআপ তৈরি করা সহজ করে তোলে , ইত্যাদি?