একাধিক প্রজাস্বত্ব - একক ডাটাবেস বনাম একাধিক ডাটাবেস


20

আমাদের বেশ কয়েকটি ক্লায়েন্ট রয়েছে, যার সিস্টেমে কিছু কার্যকারিতা ভাগ করে নেয় তবে বেশ কিছুটা বৈচিত্র্যও রয়েছে। ক্লায়েন্ট সংখ্যা ক্রমবর্ধমান - সবসময় একটি স্বাস্থ্যকর জিনিস! - এবং তাদের ব্যবসায়ের মধ্যে বৈচিত্রও বাড়ছে।

বর্তমানে এখানে একটি একক এএসপি.নেট (ওয়েব ফর্ম) ওয়েব সাইট রয়েছে (ওয়েব প্রকল্পের বিপরীতে), যার ভাড়াটিয়ার অ-মানক পৃষ্ঠাগুলি সহ প্রতিটি ভাড়াটে উপ-ফোল্ডার রয়েছে। একটি পৃথক মডেল প্রকল্প রয়েছে, যা ডাটাবেস অ্যাক্সেস এবং ব্যবসায়িক যুক্তি নিয়ে কাজ করে।

যা সবচেয়ে ভাল - এবং সর্বোপরি, কেন - (ক্লায়েন্ট) প্রতি (ক) 1 ডাটাবেস থাকা এবং সেই ক্লায়েন্টের সাথে সম্পর্কিত বৈশিষ্ট্যগুলি সহ কেন; বা (খ) সমস্ত ক্লায়েন্টদের দ্বারা ভাগ করা একটি একক ডাটাবেস, যেখানে কেবলমাত্র কোনও ক্লায়েন্ট দ্বারা টেবিলের একটি উপসেট ব্যবহার করা হয়।

ব্যবসায়ের মধ্যে প্রধান উদ্বেগ শেষ:

  • একাধিক সম্পদের রক্ষণাবেক্ষণ - ব্যাকআপ, সংস্করণ নিয়ন্ত্রণ এবং এর মতো
  • যথাসম্ভব পুনরায় ব্যবহারের প্রচার করা

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


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

জিজ্ঞাসা করার জন্য ধন্যবাদ. আমি অনুরূপ জিনিস ভাবছি, কিন্তু আপনার মত দক্ষতার সাথে প্রশ্ন বিন্যাসে রাখতে সক্ষম হইনি।
ম্যাথএট্যাক

আপনার আয়েন্ডের বহু-ভাড়াটে ব্লগ সিরিজটি পড়া উচিত। তিনি মাল্টি বনাম একক ডাটাবেস সম্পর্কে খুব ভাল পয়েন্ট তৈরি করেন।
সেবাজ্জজ

উত্তর:


12

অন্যান্য উত্সগুলি থেকে গবেষণার হাইলাইটগুলি এখানে (মূলত প্রশ্নের পুনর্বিবেচনা 2 থেকে ):


10

আপনি যদি এসকিউএল সার্ভার ব্যবহার করেন তবে একটি ডাটাবেস ব্যবহার করুন তবে স্কিমা ব্যবহার করুন। সমস্ত ক্লায়েন্টের জন্য সাধারণ যে স্টাফের জন্য ডিবিও ব্যবহার করুন এবং প্রতিটি ক্লায়েন্টের জন্য একটি স্কিমা তৈরি করুন এবং সেই ক্লায়েন্টের ব্যবহারকারীদের জন্য ডিফল্ট স্কিমা তৈরি করুন। এখন আপনার ডিবিও স্কিমাতে একটি সাধারণ অবজেক্ট (একটি getBudget proc বলতে পারেন) এবং একই নামের সাথে তাদের স্কিমাতে ক্লায়েন্টের জন্য একটি কাস্টমাইজড থাকতে পারে।


+1 এটি আপনাকে এমএসডিটিসি কনফিগার করতে এবং সম্পর্কিত ওভারহেড (দুই ধাপের কমিট) গ্রহণ করা এড়াতে অনুমতি দেবে
ব্রায়ান

এবং আশা করি আপনি কাস্টমফিল্ড 30 এর মাধ্যমে কাস্টমফিল্ড 1 এর মতো কলামগুলি এবং / বা বাজেট, বাজেটেক্স, বাজেটকাস্টম, বাজেটকাস্টমার নাম, বাজেটঅনোথর কাস্টমার নাম, ইত্যাদি সারণী থাকার জালটি এড়াতে পারবেন
jfrankcarr

একটি বিদ্যমান ডেটা অ্যাক্সেস স্তর রয়েছে যা প্রচুর পরিমাণে সঞ্চিত পদ্ধতি ব্যবহার করে - 190 টেবিল, 5 প্রতি টেবিলে কোড-উত্পাদিত পদ্ধতি, এবং কিছু কাস্টমসও - যখন মাঝারি মেয়াদী লক্ষ্য সত্তা ফ্রেমওয়ার্ক প্রবর্তন করা হয়, সেখানে কি সঞ্চিত প্রতিলিপি তৈরি করার প্রয়োজন হবে? প্রতিটি স্কিমা জন্য পদ্ধতি?
রিচার্ডডব্লিউ 1001

@ রিচার্ডডব্লিউ 1001: নির্ভর করে। এটিকে জেনেরিক করার জন্য আপনি এসপিতে গতিশীল এসকিউএল করতে পারেন তবে অবশ্যই এটি নির্ভর করে অন্তত কিছুটা অনুরূপ কাঠামো থাকার কারণে। গতিশীল SQL এর একটি সম্ভাব্য বিকল্প হবে প্রতিশব্দ , দুর্ভাগ্যবশত, আমি তাদের বুঝতে, তারা সিস্টেম জুড়ে এবং একটি লেনদেন মধ্যে অন্তর্ভুক্ত করা হয়, বিভিন্ন মান সমবর্তী ব্যবহারের জন্য তাই উপযুক্ত নাও।
jmoreno

আমরা যদি একাধিক স্কিমা ব্যবহার করি, EF কোড প্রথমটি ব্যবহার করে সিস্টেমটি লাইভ হওয়ার পরে সমস্ত স্কিমাকে সর্বশেষ সংস্করণে স্থানান্তরিত করা সম্ভব হবে?
যশভিট

4

যেহেতু ক্লায়েন্টের ডেটাবেস এবং কার্যকারিতা ডাইভারিং হচ্ছে, তারপরে এর অর্থ হ'ল এক পর্যায়ে তারা বিভিন্ন সিস্টেম হিসাবে শেষ হবে, তাই এই ক্ষেত্রে আমি পৃথক সিস্টেমের পরামর্শ দেব কারণ প্রতিটি ক্লায়েন্টের জন্য কাস্টমাইজেশন বজায় রাখার জন্য ব্যয়গুলি এককটির সুবিধাকে ছাড়িয়ে যাবে since ডাটাবেস সিস্টেম।

একক ডাটাবেস সিস্টেমগুলি তখন সেরা যখন বিভিন্ন গ্রাহকের মধ্যে পরিবর্তনগুলি কেবল কনফিগারেশন হয় তবে প্রতিটি ক্লায়েন্টের জন্য অতিরিক্ত বৈশিষ্ট্য নয়।


ন্যূনতম ব্যথা সহ সাধারণ কার্যকারিতা কীভাবে পরিচালনা করবেন আপনার পরামর্শটি কী হবে?
রিচার্ডডব্লিউ 1001

1
আপনার সংস্করণ নিয়ন্ত্রণ সিস্টেমে মূল অ্যাপ্লিকেশনটির জন্য একটি মাথা বজায় রাখুন এবং প্রতিটি গ্রাহকের জন্য একটি নতুন শাখা তৈরি করুন, তাদের নতুন বৈশিষ্ট্যগুলির জন্য সাব-শাখাগুলি বজায় রাখতে হবে। আপডেট করার জন্য ট্রাঙ্ক ইত্যাদি বিকল্প সহ শাখায় গ্রাহক নির্দিষ্ট বৈশিষ্ট্যগুলি বিকাশ আপনি আরাম সঙ্গে তারপর spinup গ্রাহক নির্দিষ্ট পরিবেশের যখনই আপনি তাদের প্রয়োজন
স্টিফেন Senkomago Musoke

3

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

সুতরাং, কেবল এটি ভুলে যাবেন না যে বিশাল আকারের তুলনায় এটি বেশ কয়েকগুণ সস্তা এবং অনেকগুলি পৃথক ডেটাবেস স্কেল করা সহজ)


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

1

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

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