যদি অ্যাপ্লিকেশনটি কেবল স্থানীয়ভাবে কাজ করে তবে কি ডেটাবেস সার্ভার ব্যবহার করে বোঝা যায়?


41

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

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

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


4
একটি ডাটাবেস থাকা খুব গুরুত্বপূর্ণ হতে পারে। একটি প্রক্রিয়াধীন ডাটাবেস বা একটি পৃথক-প্রক্রিয়া ডাটাবেস থাকা একটি বাস্তবায়ন পছন্দ / বিশদ।
9000

2
আমি বুঝতে পারি যে. স্থানীয় অ্যাপ্লিকেশনগুলির জন্য আপনি কেন একটি প্রক্রিয়া ডাটাবেসের (এসকিউএলাইটের মতো) পৃথক প্রক্রিয়া ডাটাবেস (যেমন এসকিউএল সার্ভার) বেছে নেবেন সে সম্পর্কে আরও প্রশ্ন।
9a3eedi

উত্তর:


29

এসকিউএলাইট কখন বনাম বিকল্পগুলি ব্যবহার করবে না তা ব্যবহারের একটি দুর্দান্ত উত্তম অফার সরবরাহ করে:

https://www.sqlite.org/whentouse.html

এই সংক্ষিপ্তসার লাইনটি আমার অভিজ্ঞতায় এসকিউএলাইট ব্যবহার-কেসটিকে খুব ভালভাবে ক্যাপচার করে:

এসকিউএলাইট ক্লায়েন্ট / সার্ভার ডেটাবেসগুলির সাথে প্রতিযোগিতা করে না। এসকিউএলাইট ফপেন () এর সাথে প্রতিযোগিতা করে।

এই নিবন্ধটি দৈর্ঘ্যে প্রসারিত হয়। এটিতে "পরিস্থিতি যেখানে একটি ক্লায়েন্ট / সার্ভার আরডিবিএমএস মে আরও ভাল কাজ করতে পারে" শীর্ষক একটি বিভাগ রয়েছে। সংক্ষেপে, তারা হ'ল:

  • ক্লায়েন্ট / সার্ভার অ্যাপ্লিকেশন : নেটওয়ার্কের একাধিক ব্যবহারকারী।
  • উচ্চ-ভলিউম ওয়েবসাইটগুলি : হয় নিবিড় লিখুন বা শার্পিং প্রয়োজনের জন্য যথেষ্ট নিবিড় পড়া read
  • খুব বড় ডেটাসেট : এর চেয়ে বড় কোনও ডিস্কে যুক্তিসঙ্গতভাবে সংরক্ষণ করা যেতে পারে।
  • উচ্চ সংক্ষিপ্তকরণ : বিশেষ একযোগে লিখেছে।

@ ৯ এএইডি: বাস্তবে, এই চারটি পয়েন্টের মধ্যে এমন কোনও কিছুই নেই যা স্থানীয় স্টোরেজের সাথে একত্রে পুরো ডাটাবেস সার্ভারের সাথে একটি দৃশ্যের বর্ণনা দেয় (বিশেষত প্রথম দুটি এটির ঠিক বিপরীত) - সুতরাং আপনি কেন এটিকে বেছে নিয়েছেন তা আলোকিত করতে আপনি কি আপত্তি করবেন? উত্তর, যদিও এটি আপনার মূল প্রশ্নের সাথে খাপ খায় না? যাইহোক, আমি ঠিক এই কারণে এই উত্তরটি একটি ডাউনভোট দিয়েছি।
ডক ব্রাউন

@ ডকব্রাউন: নির্দিষ্ট ক্ষেত্রে যেখানে আপনার ক্লায়েন্ট / সার্ভার আরডিবিএমএস ব্যবহার করা উচিত সেগুলি হল [উত্তর দেখুন]; অন্য সব কিছুর জন্য এসকিউএলাইট ঠিকঠাক কাজ করে। আমি নিশ্চিত না যে এখানে কী অস্পষ্ট, তাই আপনি যদি বিশ্বাস করেন যে এটির প্রয়োজন হয় তবে উত্তরটি সম্পাদনা করতে দ্বিধা বোধ করবেন।
ডেনিস ডি বার্নার্ডি

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

@ ডকব্রাউন - এবং সংক্ষিপ্ত উত্তরটি: আপনি বহির্মুখী ডেটা সেটগুলির সাথে কাজ করছেন বা সমকালীন লেখার প্রয়োজন না থাকলে এটির কোনও অর্থ হবে না। (বা সুস্পষ্ট কারণে এসকিউএলাইট প্রস্তাব না দেয় এমন কোনও কিছুর প্রয়োজনে)) আবার, উত্তরটি যদি বিন্দুটি আপনার কাছে অস্পষ্ট থাকে তবে নির্দ্বিধায় যোগাযোগ করুন।
ডেনিস ডি বার্নার্ডি

ঠিক আছে, আপনি যদি সত্যিই মনে করেন যে তালিকাটি সম্পূর্ণ হয়েছে (এবং তাই কোনও লুকানো বিবৃতি দিন যে কোনও স্থানীয় দৃশ্যের জন্য সি / এস ডিবি সার্ভারের ব্যবহার কোনও অর্থ দেয় না), তবে আমি দ্বিমত পোষণ করি, এবং আমি মনে করি না যে আমি উন্নতি করতে পারি কিছু স্পষ্টতা যোগ করে আপনার উত্তর।
ডক ব্রাউন

28

এমনকি একটি একক ব্যবহারকারীর সাথে একক সিস্টেমের জন্যও, "সত্যিকারের" ডাটাবেস সার্ভারটি বোঝায়:

  1. এটি একটি পরিচিত ভাষা ( এসকিউএল ) ব্যবহার করে। SQLite ব্যবহার এসকিউএল করে, কিন্তু কিছু এমবেডেড ডাটাবেস (যেমন বস্তুর ডাটাবেসের , NoSQL ) এসকিউএল ব্যবহার করবেন না। এগুলির উচ্চতর শিক্ষার বক্ররেখা থাকে কারণ তারা কম সাধারণ common
  2. এটি রেফারেন্সিয়াল অখণ্ডতা, সীমাবদ্ধতা, ট্রিগার ইত্যাদি সরবরাহ করে যে এসকিউএলাইটের মতো পণ্য সরবরাহ করতে পারে না বা কমপক্ষে পুরোটা না সরবরাহ করে।
  3. সত্যিকারের একাধিক ব্যবহারকারীর, এসিডি অনুবর্তী নেটওয়ার্ক ডাটাবেসকে লক্ষ্য করে, অ্যাপ্লিকেশনটিতে একই কোডবেস ব্যবহার করে একটি একক ব্যবহারকারী / একক ওয়ার্কস্টেশন দৃশ্যে বা মাল্টি-ব্যবহারকারী হিসাবে হোস্ট করা অ্যাপ্লিকেশনটিতে কাজ করার বিকল্প রয়েছে ।
  4. ব্যবহারকারীর স্ট্যান্ডার্ড সরঞ্জাম (যেমন এসকিউএল বিকাশকারী, মাইএসকিউএল ওয়ার্কবেঞ্চ, এসকিউএল সার্ভার ম্যানেজমেন্ট স্টুডিও), সেই সরঞ্জামগুলি ব্যবহার করে লোড বা ব্যাকআপ ডেটা ইত্যাদি ব্যবহার করে অফলাইনে ডেটা পরীক্ষা করার দক্ষতা রয়েছে যখন বিভিন্ন এম্বেড থাকা বিভিন্ন ডাটাবেসের সাহায্যে এটি করা সম্ভব হয় প্রকারভেদ, সি / এস ডাটাবেস বিশ্ব থেকে এই সরঞ্জামগুলির সাথে আরও বেশি পরিচিত লোক।

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


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

3
@ ডকব্রাউন আইআইআরসি এমএস এসকিউএল সার্ভার কমপ্যাক্ট আপনাকে একটি ডেল হিসাবে এনে দেওয়ার জন্য এটি দেয়, যদিও লোকালডিবি সম্ভবত আরও ভাল পছন্দ - এটি অ্যাডমিনের অধিকারের প্রয়োজন হলেও এটি পরিষেবা হিসাবে ইনস্টলেশন প্রয়োজন হয় না।
gbjbaanb

5
অপূর্ণতা বৈধতা আলোচনায় যুক্ত করতে - উত্তরে ইতিমধ্যে উল্লিখিত এসকিউএলাইট বাদে, অনেকগুলি নন-এসকিউএল ডাটাবেস এবং ডাটাবেস-মতো সিস্টেম, যেমন ওরিয়েন্টডিবি, সোলার এবং অন্যান্যদের এম্বেডিং সমর্থন উত্সর্গ করেছে
mikołak

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

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

21

আমি মনে করি এটি জড়তা সঙ্গে করতে হবে।

আমারোক এক্সএমএমএস-এর উপর ভিত্তি করে যা ১৯৯ good সাল থেকে আসে good

এসকিউএলাইটের মতো ভাল স্থানীয় এম্বেডড ডাটাবেসের আসন্ন এবং জনপ্রিয়তা অর্জন মোটামুটি কিছু।


আমি যা মনে করি তা থেকে, আমারোক 1 (যা এক্সএমএমএসের উপর নির্ভরশীল হতে পারে) কোনও ডাটাবেস সার্ভারের উপর নির্ভর করে না। এটি ছিল আমারোক 2, যা নির্ভর করে কেডি 4 এর সাথে মুক্তি পেয়েছে এবং নির্ভরতাটি প্রবর্তন করেছিল এবং সেই সময় আমি খুব আশ্চর্যজনকভাবে জানতে পেরেছিলাম যে তারা আমাকে মাইএসকিউএল
ইনস্টল

10

সবচেয়ে গুরুত্বপূর্ণ পক্ষপাতমূলক বৈশিষ্ট্য সম্পাতবিন্দু

আপনার যদি কেবলমাত্র একটি অ্যাপ্লিকেশন থাকে যা ব্যবহারকারীর জন্য এক মুহূর্তে চলতে থাকে তবে এম্বেডড সমাধান (স্ক্লাইট বা কিছু বস্তুর স্টোরেজ কিনা) সাধারণত ঠিক থাকে।

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


5

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

আপনি যদি মনে করেন আপনার অ্যাপটি কোনও ক্লায়েন্ট / সার্ভার অ্যাপে রূপান্তরিত হতে পারে তবে আপনি পরে আর পোর্ট করার পরিবর্তে আরডিবিএমএস ব্যবহার শুরু করতে চাইতে পারেন।

প্রদত্ত উদাহরণটি এর সদ্ব্যবহার করে বা না নেয় সে সম্পর্কে আমার কোনও ধারণা নেই।


2

আপনি কম মেমোরি এবং সিপিইউ সহ এম্বেড থাকা সিস্টেমটি চালনা না করা অবধি পটভূমিতে কোনও সার্ভার চালানো আপনার কোনও ক্ষতি করছে বলে আমি মনে করি না।

স্থানীয়ভাবে একটি ডাটাবেস সার্ভার চালানো ভাল। ডাটাবেসটি ডেটা অ্যাক্সেস এবং ম্যানিপুলেট বোঝাতে হয়। নেটওয়ার্ক অ্যাক্সেস একটি প্লাস, যা প্রয়োজন বা নাও পারে। কিছু ইঞ্জিনিয়ারিং এবং বৈজ্ঞানিক সরঞ্জাম রয়েছে যা এটি করে।

বলুন আপনি কোনও স্থানীয় অ্যাপ্লিকেশনটিতে ডেটা ব্যবহার করছেন। আপনি কেন একটি ডাটাবেস ব্যবহার করবেন না? এর বিরোধিতা কি?


যদি আমি সাধারণ ব্যবহারকারীদের কাছে (আমারোকের মতো সংগীত প্লেয়ার বলি) একটি অ্যাপ্লিকেশন স্থাপন করি তবে আমি মনে করব যে তাদের মাইএসকিউএল সার্ভারটি ইনস্টল করা এবং এটি ব্যাকগ্রাউন্ডে চালানো কোনও সিস্টেমের প্রয়োজনীয়তার চেয়ে অনেক বেশি এবং ব্যবহারকারীদের কিছু হবে মত না. তবে আমার ধারণা এটি প্রয়োগের উপর নির্ভর করে। এটি এসকিউএলাইটের মতো কিছু ব্যবহার করার বিরোধিতা করে।
9a3eedi

2

এটি আপনার ডেটা বিমূর্তি এবং সামগ্রিক প্রয়োগের স্থান, অ্যাক্সেস ম্যানেজমেন্ট প্রয়োজনীয়তা, ডেটা রক্ষণাবেক্ষণের জন্য আপনি যে বিনিয়োগের পরিকল্পনা করছেন, প্রয়োজনীয় প্রোটোটাইপের জরুরীতা, যেখানে আপনি শেখার বক্ররেখার উপর নির্ভর করছেন তা নির্ভর করে depends

আপনি যদি এমন অ্যাপ্লিকেশনটিতে শক্তভাবে সংহত ডেটাবেস নিশ্চিত করতে চান যা এম্বেডড ডাটাবেসের দ্বীপ তৈরি করে অন্যান্য অ্যাপ্লিকেশন থেকে অ্যাক্সেসের প্রয়োজন হয় না। SQLite সহ মোজিলা ফায়ারফক্স ওয়েব স্টোরেজ বাস্তবায়ন উদাহরণ হিসাবে দেওয়া যেতে পারে।

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

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

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

আপনার হাতে যদি একটি নির্দিষ্ট সিস্টেমের সংজ্ঞা থাকে তবে কনস এবং উপকারগুলি ওজন করা সহজ হবে।

ভি / আর, উমুত

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.