এডাব্লুএস মাইএসকিউএল আরডিএস বনাম এডাব্লুএস ডায়নামোডিবি [বন্ধ]


109

আমি এখন মেলার জন্য মাইএসকিউএল ব্যবহার করছি এবং আমি এর কাঠামো এবং এসকিউএল কোয়েরি ইত্যাদিতে স্বাচ্ছন্দ্য বোধ করছি

বর্তমানে এডাব্লুএসে একটি নতুন সিস্টেম তৈরি করছে এবং আমি ডায়নামোডিবি'র দিকে তাকিয়ে আছি। বর্তমানে আমি এটি সম্পর্কে কেবল কিছুটা জানি।

একজনের কি অন্যরকম ভাল?

ডায়নামোডিবি এর সুবিধা কী?

এই ফ্ল্যাট স্টাইলের ডিবিতে মাইএসকিউএল কোয়েরি ইত্যাদির মতো রূপান্তর কী?

উত্তর:


66

আপনি এটি সম্পর্কে AWS ব্যাখ্যা এখানে পড়তে পারেন read

সংক্ষেপে বলতে গেলে, আপনি যদি প্রধানত আছে লুকআপ প্রশ্নের (এবং প্রশ্নের যোগদান নয়), DynamoDB (এবং অন্যান্য NoSQL ডিবি) উত্তম। আপনার যদি দরকার হয় প্রচুর ডেটা পরিচালনা করতে করতে হয় তবে মাইএসকিউএল (এবং অন্যান্য আরডিবিএমএস) ব্যবহার করার সময় আপনি সীমাবদ্ধ থাকবেন।

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


262

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

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

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

ননসকিউএল স্টোর হিসাবে ডায়নামোডিবি ব্যবহারের প্রধান সুবিধা হ'ল ক্লাস্টারযুক্ত ডেটা স্টোর পরিচালনা করার বিষয়ে চিন্তা না করে আপনি যে স্তরে প্রয়োজন তা পড়ার / লেখার মাধ্যমে আপনি গ্যারান্টিযুক্ত হন। সুতরাং যদি আপনার অ্যাপ্লিকেশনটির জন্য প্রতি সেকেন্ডে 1000 টি পড়ার / লেখার প্রয়োজন হয় তবে আপনি কেবলমাত্র আপনার ডায়নামোডিবি টেবিলটি সেই স্তরের থ্রুটপুটের জন্য সরবরাহ করতে পারেন এবং অন্তর্নিহিত অবকাঠামো সম্পর্কে সত্যই চিন্তা করতে হবে না।

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

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


10
আমি যদি আপনার উত্তরটি 100 দ্বারা উন্নত করতে পারি তবে আমি চাই।
সলিল

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

150

আমরা সবেমাত্র আমাদের সমস্ত ডায়নামোডিবি সারণী আরডিএস মাইএসকিউএলে স্থানান্তরিত করেছি।

নির্দিষ্ট কাজের জন্য ডায়নামোডিবি ব্যবহার করার সময় এটি বোধগম্য হতে পারে, ডায়নামোডিবি-র শীর্ষে একটি নতুন সিস্টেম তৈরি করা সত্যিই খুব খারাপ ধারণা। সেরা পরিকল্পনাগুলি ইত্যাদি, আপনার ডিবি থেকে আপনার সর্বদা বাড়তি নমনীয়তা দরকার।

আমরা ডায়নামোডিবি থেকে সরে এসেছি আমাদের কারণগুলি এখানে:

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

আমরা এখন কয়েকটি সিস্টেমের ব্যাকআপ হিসাবে ডায়নামোডিবি ব্যবহার করি এবং আমি নিশ্চিত যে আমরা ভবিষ্যতে এটি নির্দিষ্ট, সঠিকভাবে সংজ্ঞায়িত কাজের জন্য ব্যবহার করব। এটি কোনও খারাপ ডিবি নয়, আপনার মূল সিস্টেমের 100% পরিবেশন করা কেবল ডিবি নয়।

সুবিধাগুলি যতদূর যায়, আমি স্কেলাবিলিটি এবং স্থায়িত্ব বলতে চাই say এটি অবিশ্বাস্যরূপে এবং স্বচ্ছভাবে স্কেল করে এবং এটি (সাজানো) সর্বদা আপ। এগুলি সত্যিই দুর্দান্ত বৈশিষ্ট্য, তবে তারা নেতিবাচক দিকগুলির জন্য কোনওভাবে ক্ষতিপূরণ দেয় না।


11
খুব নির্দিষ্ট উপকারিতা দুর্দান্ত উত্তর
স্টিভেন্ডেসু

10
এর মধ্যে কিছু পুরানো। উদাহরণস্বরূপ, 1 আর সত্য নয়।
এমব্রোশি

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

1
ডায়নামো এখনও কোয়েরি করার সময় নমনীয়তার অভাব রয়েছে। যদিও জিএসআই একটি বিশাল সহায়তা তবে তবুও আমরা আরডিবিএমএস স্কিমা দিয়ে আমাদের ডেটা আরও ভালভাবে মডেল করতে পারি।
Pavan

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

12

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

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