প্লেইন ইংরাজীতে ইভেন্টের ধারাবাহিকতা


130

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

যে কোনও সাধারণ তথ্য দিতে পারে যা কোনও কংক্রিটের ডাটা স্টোরেজের সাথে সম্পর্কিত নয়, সাধারণ শর্তায় কী কী একটি সহজ ব্যাখ্যা দিতে পারে?


1
যেমন উইকিপিডিয়া সাহায্য করেনি? en.wikedia.org/wiki/Eventual_consistency
অলিভার চার্লসওয়ার্থ

21
@ অলিচার্লসওয়ার্থ: না সম্ভবত এটি কেবল আমি তবে দু'বার পড়ার পরেও একেবারে অস্পষ্ট।
রোমান

উত্তর:


228

চূড়ান্ত ঐক্য:

  1. আমি আবহাওয়ার প্রতিবেদনটি দেখেছি এবং শিখছি যে এটি আগামীকাল বৃষ্টি হতে চলেছে।
  2. আমি আপনাকে বলি যে আগামীকাল বৃষ্টি হচ্ছে।
  3. আপনার প্রতিবেশী তার স্ত্রীকে বলেছে যে আগামীকাল রোদ হতে চলেছে।
  4. তুমি তোমার প্রতিবেশীকে বল যে আগামীকাল বৃষ্টি হতে চলেছে।

অবশেষে, সমস্ত সার্ভারগুলি (আপনি, আমি, আপনার প্রতিবেশী) সত্যটি জানি (এটি আগামীকাল বৃষ্টি হতে চলেছে), কিন্তু এর মধ্যে ক্লায়েন্ট (তার স্ত্রী) ভেবে ভেবে দূরে চলে গেলেন, ভেবেছিলেন যদিও সে জিজ্ঞাসা করেছে এক বা একাধিক সার্ভারের পরে (আপনি এবং আমি) আরও বেশি আপ টু ডেট মান রেখেছি had

কঠোর ধারাবাহিকতা / এসিডি সম্মতির বিপরীতে:

  1. আপনার ব্যাঙ্কের ভারসাম্য 50 ডলার।
  2. আপনি 100 ডলার জমা দিন।
  3. আপনার ব্যাঙ্কের ভারসাম্য, যে কোনও এটিএম থেকে কোথাও জিজ্ঞাসিত, 150 ডলার।
  4. আপনার মেয়ে আপনার এটিএম কার্ড দিয়ে 40 ডলার প্রত্যাহার করে।
  5. আপনার ব্যাঙ্কের ভারসাম্য, যে কোনও এটিএম থেকে কোথাও জিজ্ঞাসিত, 110 ডলার।

আপনার ভারসাম্য যে কোনও মুহুর্তে আপনার অ্যাকাউন্টে করা সমস্ত লেনদেনের আসল যোগ ব্যতীত অন্য কোনও কিছুর প্রতিফলন ঘটতে পারে না।

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


আমি বুঝতে পারছি না. বৃদ্ধি কি রৈখিক বা ঘনিষ্ঠ হয়?
ম্যাকিক ক্রেফ্ট

4
কঠোরভাবে সামঞ্জস্যপূর্ণ নোডের ব্যবস্থার যোগাযোগের ওভারহেডের বৃদ্ধি সাধারণত বোঝা যায় যে সুপার-লিনিয়ার (এটি লিনিয়ারের চেয়ে বেশি)। ঘৃণ্য হতে পারে, কিউবিক হতে পারে ... যোগাযোগ প্রোটোকল ইত্যাদির উপর নির্ভর করে
ক্রিস শাইন

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

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

আসলে, বেশিরভাগ ব্যাংকিং সিস্টেম অবশেষে সামঞ্জস্যপূর্ণ।
বিশৃঙ্খলা

106

চূড়ান্ত ঐক্য:

  1. আপনার ডেটা একাধিক সার্ভারে প্রতিলিপি করা হয়
  2. আপনার ক্লায়েন্টরা ডেটা পুনরুদ্ধার করতে যে কোনও সার্ভার অ্যাক্সেস করতে পারে
  3. কেউ একটি সার্ভারে ডেটা টুকরো লিখেছেন, তবে এটি এখনও বাকীটিতে অনুলিপি করা হয়নি
  4. একটি ক্লায়েন্ট ডেটা সহ সার্ভারটি অ্যাক্সেস করে এবং সর্বাধিক আপ-টু-ডেট কপি পায়
  5. একটি ভিন্ন ক্লায়েন্ট (বা এমনকি একই ক্লায়েন্ট) একটি আলাদা সার্ভার অ্যাক্সেস করে (এমন একটি যা এখনও নতুন অনুলিপিটি পায় নি) এবং পুরানো অনুলিপিটি পেয়ে যায়

মূলত, একাধিক সার্ভার জুড়ে তথ্য প্রতিলিপি করতে সময় লাগে বলে তথ্য পড়ার অনুরোধগুলি একটি নতুন অনুলিপি সহ একটি সার্ভারে যেতে পারে এবং তারপরে একটি পুরানো অনুলিপি সহ একটি সার্ভারে যেতে পারে। "ইভেন্টুয়াল" শব্দের অর্থ হ'ল শেষ পর্যন্ত ডেটাটি সমস্ত সার্ভারে প্রতিলিপি করা হবে এবং এইভাবে তাদের সকলের আপ-টু-ডেট কপি থাকবে।

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


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

1
আপনার ব্লগে ভাল ব্যাখ্যা করা হয়েছে। ভাগ করে নেওয়ার জন্য ধন্যবাদ.
আতাউর রহমান মুন্না

12

আপনার কাছে একটি অ্যাপ্লিকেশন এবং এর প্রতিলিপি রয়েছে বলে মনে করুন। তারপরে আপনাকে অ্যাপ্লিকেশনটিতে নতুন ডেটা আইটেম যুক্ত করতে হবে।

এখানে চিত্র বর্ণনা লিখুন

তারপরে অ্যাপ্লিকেশনটি নীচে অন্য প্রতিরূপ শোতে ডেটা সিঙ্ক্রোনাইজ করে

এখানে চিত্র বর্ণনা লিখুন

ইতিমধ্যে নতুন ক্লায়েন্ট একটি প্রতিরূপ থেকে ডেটা পেতে যাচ্ছে যা এখনও আপডেট হয় না। সেক্ষেত্রে সে সঠিক তারিখের ডেটা পেতে পারে না। কারণ সিঙ্ক্রোনাইজেশন কিছুটা সময় পায়। সেক্ষেত্রে এটি শেষ পর্যন্ত ধারাবাহিকতা রাখেনি

সমস্যা হল কীভাবে আমরা শেষ পর্যন্ত ধারাবাহিকতা বজায় রাখতে পারি ?

এর জন্য আমরা ডেটা আপডেট / তৈরি / মোছার জন্য মধ্যস্থতাকারী অ্যাপ্লিকেশন ব্যবহার করি এবং ডেটা পড়ার জন্য সরাসরি অনুসন্ধান জিজ্ঞাসা করি। যা শেষ পর্যন্ত ধারাবাহিকতা তৈরি করতে সহায়তা করে

এখানে চিত্র বর্ণনা লিখুন এখানে চিত্র বর্ণনা লিখুন


3

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

উত্স: http://www.oracle.com/technetwork/products/nosqldb/docamentation/consistency- বর্ণিত-1659908.pdf


1

সহজ ইংরেজী ভাষায়, আমরা বলতে পারি: যদিও আপনার সিস্টেমটি অসঙ্গতিপূর্ণ অবস্থায় থাকতে পারে, তবে লক্ষ্যটি সর্বদা ডেটা প্রতিটি টুকরো জন্য কিছু না কিছু সময়ে ধারাবাহিকতায় পৌঁছানো।


1

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

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

সমস্ত নথি স্টোর সমান তৈরি হয় না। আজকাল কিছু কিছু (মঙ্গোডিবি) কোনও সাজানোর লেনদেনকে সমর্থন করে তবে ডেটাস্টোরগুলি স্থানান্তরিত পুনরায় বাস্তবায়নের ব্যয়ের সাথে তুলনীয় সম্ভবত likely

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


0

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

আমার মতে ঘটনাগত ধারাবাহিকতা হ'ল প্রতিটি সময় আপনি যখন কোনও ডেটা স্টোর থেকে পড়েন তখন এলোমেলোভাবে ক্রমযুক্ত র্যান্ডম ডেটাতে সহনশীলতা। এর থেকে আরও ভাল কিছু হ'ল একটি দৃ stronger় ধারাবাহিকতা মডেল। উদাহরণস্বরূপ, একটি স্ন্যাপশটে বাসি ডেটা রয়েছে তবে এটি আবার অনুমানযোগ্য বলে পুনরায় পড়লে একই ডেটা ফিরবে। কখনও কখনও অ্যাপ্লিকেশন ডেটা সহ্য করতে পারে যা নির্ধারিত সময়ের চেয়ে বেশি সময় ধরে সিঁড়িযুক্ত ডেটা দাবি করে st

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

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