এসকিউএল কেন বড় ডেস্কটপ অ্যাপ্লিকেশনগুলিতে এত ব্যাপক নয়?


28

একটি সফ্টওয়্যার বিকাশকারী হিসাবে, আমি ক্ষুদ্র গৃহ-নির্মিত অ্যাপ্লিকেশন থেকে মাঝারি আকারের এন্টারপ্রাইজ অ্যাপ্লিকেশন পর্যন্ত প্রকল্পগুলিতে কাজ করেছি। প্রায় প্রতিটি প্রকল্পে আমি একটি ডাটাবেস ব্যবহার করেছি বা শুরু থেকে এটি ব্যবহার না করার জন্য অনুশোচনা করেছি।

এখন, আমি সাধারণ অ্যাপ্লিকেশনগুলিতে ডেটাবেস এবং তাদের ব্যবহার সম্পর্কে কয়েকটি বিষয় অবাক করে দিচ্ছি:

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

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

এছাড়াও, মাইক্রোসফ্ট অফিস বা মাইক্রোসফ্ট এক্সপ্রেশনের মতো কোনও অ্যাপ্লিকেশন সেট করে না যে কোনও ইউনিফাইড এসকিউএল ডাটাবেস থাকার ফলে, অ্যাপ্লিকেশনগুলি মোতায়েন করা, ডেটা আপডেট / আপগ্রেড করা, সেই অ্যাপ্লিকেশনগুলির মধ্যে ডেটা ভাগ করা, ব্যাকআপ তৈরি করা সহজ করে তোলে , ইত্যাদি?


4
আপনার নিজের প্ল্যাটফর্মের জন্য কথা বলুন। ;) অনেক ম্যাক / আইফোন অ্যাপ্লিকেশন কোরডেটা ব্যবহার করেন যা সাধারণত স্টোরেজের জন্য এসকিউএলাইট ডাটাবেস ব্যবহার করে।
মিপাদি

8
ডাটাবেসগুলিও কেবল "একটি গুচ্ছ ফাইল"। আমি যুক্তি দিয়েছি যে আপনি যে সমস্ত উদাহরণ উপস্থাপন করেছেন তা হ'ল এসকিউএল-ক্যোয়ারেবল রিলেশনাল ডেটাবেস নয়, সত্যিকারের ডাটাবেসগুলিতে।
অ্যালন গুরালেনেক

8
ডাটাবেস বলতে তার অর্থ রিলেশনাল ডাটাবেস।
অলিভিয়ার জ্যাকট-ডেসকোম্বেস

উত্তর:


20

1) সাধারণত একটি সম্পূর্ণ আরডিবিএমএস চালনার ওভারহেড কথা বলা খুব দুর্দান্ত এবং এটি সিস্টেম এবং জটিলতায় অযথা বোঝা যুক্ত করবে।

একটি ইনস্টল করা আপনার বিকাশকারী হিসাবে সহজতর করে তবে মেশিনের মালিকের জীবন খারাপ করে দেয় কারণ তাদের মেশিনটি ধীরতর হতে পারে এবং আরও সমস্যা রয়েছে। বিকাশকারী বনাম ব্যবহারকারীর সংঘর্ষে ব্যবহারকারীর প্রায় সবসময়ই জিততে হবে।

2) অনেক ডেটা স্টোরের নির্দিষ্ট চাহিদা থাকে যা এসকিউএল সার্ভার এক্সপ্রেসের মতো কোনও কিছু দ্বারা পূরণ হয় না।

উদাহরণস্বরূপ, ত্রুটি লগগুলি সহজ সম্ভাব্য জিনিসটিতে লিখতে হবে যাতে লেখার সম্ভাবনা থাকে এবং ডেটা উপলব্ধ হয় max এসকিউএল সার্ভার কখনই এত সহজ হতে পারে না।

আরও জটিল অ্যাপ্লিকেশনগুলির জন্য যুক্তিটি খুব নির্দিষ্ট ব্যবহারকারীর ক্ষেত্রে অনুকূল হওয়ার আশেপাশে থাকে - ফ্ল্যাট ফাইলগুলি দ্রুত বজ্রপাত হতে পারে।


5
আমি মনে করি না যে তিনি এমন একটি ডাটাবেস বোঝাতে চেয়েছিলেন যেখানে আপনাকে একটি সম্পূর্ণ সার্ভার ইনস্টল করতে হবে। এসকিউএলাইট কোনও সার্ভার ছাড়াই কাজ করে এবং ওপেন সোর্স অ্যাপ্লিকেশনগুলিতে বিস্তৃত।
লরেন্ট

@ লরেন্ট - যদি তিনি না করেন তবে নীচের এসকিউএল লাইট উত্তরটি গ্রহণ করতে পারলে তিনি কেন এটি গ্রহণযোগ্য উত্তর হিসাবে চিহ্নিত করলেন?
জন হপকিন্স

30

অনেক অ্যাপ্লিকেশন এসকিউএলাইট এম্বেড করে । তাদের ওয়েবসাইট থেকে উদ্ধৃতি:

এসকিউএলাইট একটি সফ্টওয়্যার লাইব্রেরি যা একটি স্ব-অন্তর্ভুক্ত, সার্ভারলেস, শূন্য-কনফিগারেশন, লেনদেনের এসকিউএল ডাটাবেস ইঞ্জিন প্রয়োগ করে। এসকিউএলাইট হ'ল বিশ্বের সর্বাধিক বিস্তৃত এসকিউএল ডাটাবেস ইঞ্জিন। এসকিউএলাইটের উত্স কোডটি পাবলিক ডোমেনে।

আপনি কেবল উপলভ্য এপিআইগুলির মধ্যে একটি ব্যবহার করুন, একটি ডাটাবেস, টেবিল ইত্যাদি তৈরি করুন এবং এসকিউএল ইঞ্জিন বাইনারি ফাইলে এমন সমস্ত কিছু সংরক্ষণ করবে যা আপনি ব্যবহারকারীর ফাইল সিস্টেমের মধ্যে যে কোনও জায়গায় রাখতে পারেন। সর্বোপরি, এটি FLOSS।


23

উইন্ডোজ জাহাজগুলি বহন করে এবং এক্সটেনসিবল স্টোরেজ ইঞ্জিন (ইএসই) নামে একটি ডাটাবেস ইঞ্জিন ব্যবহার করে ।

ইএসই অন্যান্য অনেক উইন্ডোজ পরিষেবা এবং অ্যাপ্লিকেশনগুলির মধ্যে অ্যাক্টিভ ডিরেক্টরি, এক্সচেঞ্জ সার্ভার, উইন্ডোজ মেল এবং ডেস্কটপ অনুসন্ধান দ্বারা ব্যবহৃত হয়।

বিকাশের জন্য, ওপেন সোর্স ইএসই র‍্যাপারগুলি বিদ্যমান:

উইন্ডোজের প্রতিটি আধুনিক সংস্করণ সহ ইএসই শিপিংয়ের সাথে আপনার কোনও ডাটাবেস স্থাপনের উদ্বেগ নেই। আর্কিটেকচার্যালি ইএসই এসকিউএলাইটের মতো এম্বেড করা ডাটাবেসে একই রকম ভূমিকা রাখে।


এই বৈশিষ্ট্য প্রচার করতে ব্যর্থতার কারণে হতে পারে !! ?? এটি কীভাবে হতে পারে যে আমি 90 এর দশক থেকে মাইক্রোসফ্ট প্রযুক্তিগুলির সাথে প্রায় একচেটিয়াভাবে বিকাশ করছি এবং আমি এর আগে কখনও শুনিনি? ভাল ফ্রন্ট-এন্ডের অভাব অন্য কারণ হতে পারে। উইকিপিডিয়া থেকে: "বছরের পর বছর ধরে, এটি শুধুমাত্র মাইক্রোসফ্ট দ্বারা ব্যবহৃত একটি ব্যক্তিগত এপিআই ছিল, তবে তখন থেকে এটি একটি প্রকাশিত এপিআই হয়ে গেছে যা যে কেউ ব্যবহার করতে পারে।" এছাড়াও: "উইন্ডো এবং এর বাইরে উভয় ক্ষেত্রেই ক্রমবর্ধমান অ্যাপ্লিকেশন এবং পরিষেবাদি দ্বারা ব্যবহারের সুবিধার্থে জেইটি ব্লু এপিআই প্রকাশিত হয়েছিল।"
মাইক

8

রিলেশনাল ডেটাবেসগুলি প্রতিটি ডোমেনের জন্য সবচেয়ে কার্যকর ডেটা কাঠামো নয়। প্রচুর ডেস্কটপ অ্যাপ্লিকেশন এম্বেডড ডাটাবেস ব্যবহার করে, আপনি কেবলমাত্র যে সমস্ত ডেটা ফাইল দেখেন সেগুলি আপনি তা সহজেই বলতে পারবেন না।


মূল বিষয়: মাইক্রোসফ্ট এসকিউএল সার্ভার (এক্সপ্রেস? বা প্রতিটি উইন্ডোজ প্ল্যাটফর্মে একক লোকালহোস্ট এসকিউএল সার্ভারের জন্য একটি বিশেষ লাইসেন্স আগে থেকেই ইনস্টল করা?) ব্যবহারের পরিবর্তে এম্বেড (এসকিউএল নয়?) ডাটাবেস বা মাইক্রোসফ্ট আউটলুকের মতো নিজস্ব বহির্মুখী বাইনারি ফর্ম্যাট ব্যবহার করে কেন? ?
আর্সেনি মরজেনকো

কারণ যেমনটি তিনি বলেছেন এসকিউএল সবকিছুর জন্য অনুকূল নয়। অনেক অ্যাপ্লিকেশন নির্দিষ্ট ডেটা স্টোর একটি কাজের জন্য তিনি অত্যন্ত অনুকূলিত হন এবং ফলস্বরূপ একটি ছোট পায়ের ছাপ সহ এসকিউএল এর চেয়ে দ্রুত হবে।
জন হপকিনস

3
@ মাইনমা: আপনি এখন একটি অতিরিক্ত নির্ভরতা যুক্ত করেছেন: ব্যবহারকারীর এসকিউএল সার্ভার ইনস্টল এবং চলমান থাকতে হবে। এটি তুচ্ছ নয়। যদি একটি বিশেষ লোকালহোস্ট এসকিউএল সার্ভার সমস্ত উইন্ডোজ কম্পিউটারে পূর্বেই ইনস্টল করা থাকে তবে এটি ভিন্ন হতে পারে, তবে এটি ঘটে না।
ডেভিড থর্নলি

এসকিউএল সার্ভার কমপ্যাক্ট ইনস্টল করা সহজ: কেবল কয়েকটি ফাইল অনুলিপি করুন।
মার্কজে

7

কেন উইন্ডোজ নিজেই কোনও "কেন্দ্রীয়" এসকিউএল ডাটাবেস ব্যবহার করে না?

আসলে, এই ধারণাটি কিছু সময়ের জন্য মাইক্রোসফ্টে বিকাশে রয়েছে। একে উইনএফএস বলা হয় । এটি একটি উদ্বেগজনক প্রযুক্তি, এবং এটি এমএসডিএন গ্রাহকদের জন্য উপলব্ধ। কিছু দিন শীঘ্রই, আমি এটি একটি ভিএম এ ইনস্টল করতে যাচ্ছি এবং এটির সাথে খেলব।


2
আমার এখনও মনে আছে উইনএফএস উইন্ডোজের (সেই সময়ে) লংহর্নের "পরের বড় জিনিস" হিসাবে ছিল, যখন তখনও আমি পিসি ব্যবহার করতে জানতাম knew :-)
ডেনিস ডি বার্নার্ডি

6

ডাটাবেসগুলি নমনীয়তা দেয় এবং প্রতিটি বৈশিষ্ট্যের মতো প্রায় অবশ্যই ব্যয় হয়। যদি কোনও ফ্ল্যাট-ফাইল কাজ করে, তবে আপনি ধরে নিতে পারেন যে কোনও ব্যক্তিকে অ্যাডহক প্রতিবেদনের মতো অপ্রত্যাশিত উপায়ে ডেটা জিজ্ঞাসা করতে হবে না।

একাধিক সংযোগ / ইনপুট পরিচালনা করার জন্য ডেটাবেসগুলিও ভাল কাজ করে। আবার, যদি এটি আপনার ডেস্কটপ অ্যাপ্লিকেশনটির প্রয়োজন না হয় তবে অতিরিক্ত জটিলতা কেন যুক্ত করবেন? ইউজার ইন্টারফেস / আউটলুকের প্রকৃত ইনস্টলেশন নিজেই বাদ দিয়ে অন্য কতগুলি অ্যাপ্লিকেশন বা ব্যবহারকারী আপনার কম্পিউটারে আউটলুক ফাইলটিতে লেখার চেষ্টা করছেন?

এটি আরও সহজ হবে যদি "এসকিউএল এর মতো একক ভাষার সাথে আমি যেভাবেই ফিট দেখি সেভাবেই সমস্ত ডেটা জিজ্ঞাসা করতে সক্ষম হতে চাই" তবে সমস্ত অ্যাপ্লিকেশনগুলির সাথে এটি খুব কমই একটি অগ্রাধিকার।

বেশিরভাগ প্রোগ্রামার এ থেকে এটিকে দেখবে:

  • আমি জানি অ্যাপটি করণীয় কি মনে হয়, এটি করার জন্য এটি কেবল তাই

  • আমার অ্যাপ্লিকেশনটি হ'ল একমাত্র এন্টিটি যা এই ডেটাগুলিতে অ্যাক্সেস এবং / অথবা ম্যানিপুলেট করবে

  • আমার নিজের ডিজাইনের একটি সাধারণ ফাইল কাঠামো কাজ করবে

  • কমপক্ষে একটি অ্যাপ্লিকেশনের জন্য আমি অন্য লোকের কোডের উপর নির্ভর করা এড়াতে এবং সম্পূর্ণ নিয়ন্ত্রণ রাখতে চাই।


1
+1 টি। আপনি ঠিক বলেছেন: ডেস্কটপ অ্যাপ্লিকেশনগুলির জন্য একাধিক সংযোগ নেই (বেশিরভাগ ক্ষেত্রে), যা কোনও এসকিউএল ডাটাবেসের সুবিধা হ্রাস করে।
আর্সেনী মরজেনকো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.