লেনদেন / রিড-রাইটিং লকগুলি সমাধান করার বিষয়ে আপনি কোন অ্যালগরিদম / পঠনের বিষয়টি সুপারিশ করবেন?


10

একটি সরলীকৃত শাস্ত্রীয় ডাটাবেস লেনদেন হিসাবে দেখা যেতে পারে:

  • এম আইটেম পড়া
  • যারা পড়া উপর ভিত্তি করে কিছু গণনা সম্পাদন
  • এই গণনার উপর ভিত্তি করে কিছু এন ফলাফল লেখার ক্ষেত্রে মূলত পড়া উপাদানগুলি অন্তর্ভুক্ত থাকতে পারে।

এই লেনদেনগুলি সম্পাদন করার সময় (একই সাথে) এসিডি বৈশিষ্ট্যগুলি বজায় রাখা দরকার।

অন্যান্য অ-ডিবিএমএস সমকালীন সিস্টেমে ঠিক একই প্রয়োজনীয়তাগুলি (এম এর উপর ভিত্তি করে এন আপডেটগুলি লেনদেনের ভিত্তিতে পড়ে) বিদ্যমান।

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

ব্যাখ্যা:

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


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

আপনি কি ভাবেন যে এটি পুনরায় কাজ করা উচিত তাই এটি ঠিক ডাটাবেস প্রশ্ন? IE এর মতো কিছু "আমার কাছে একটি ডাটাবেস রয়েছে যা পড়তে এবং লিখতে পারা যায় এবং আমি এসিডি বৈশিষ্ট্যগুলির সাথে লেনদেনের সাথে পড়তে এবং লিখতে সক্ষম হতে চাই these এই বৈশিষ্ট্যগুলি নিশ্চিত করার জন্য কি অ্যালগরিদম রয়েছে"
নিক ফোরটস্কিউ

প্রশ্নটি পুনরায় প্রকাশের ফলে আপনি যা খুঁজছেন তার কাছাকাছি উত্তরগুলি যেমন: আপনি যে সমস্যার সমাধান করতে চাইছেন তার আরও বিশদ প্রদান; বর্তমানে আপনি কেবল ইঙ্গিত দিন। যাই হোক না কেন, মনে হচ্ছে আপনি ক্লাসিকাল ডাটাবেস লেনদেনের অ্যালগরিদমের জন্য জিজ্ঞাসা করছেন।
ডেভ ক্লার্ক

@ ডেভ - ধন্যবাদ, আমি সম্পাদনা করেছি উত্তম?
নিক ফরটস্কিউ

1
আপনি কি রামকৃষ্ণান ও গহরেকের মতো ডিবিএমএস পাঠ্যপুস্তকের সাথে ইতিমধ্যে পরিচিত? এবং যদি আপনি কোনও ডিবিএমএসের ইন্টার্নালগুলি সম্পর্কে জিজ্ঞাসা না করে থাকেন তবে আপনি কী কোনও ডিবিএমএস এবং আপনার আগ্রহী?
ম্যাভেরিক উ

উত্তর:


10

ওয়েইকুম এবং ভোসেনের ট্রানজেকশনাল ইনফরমেশন সিস্টেম বইটি কেবলমাত্র লেনদেন নয়, বিভিন্ন তাত্ত্বিক এবং ব্যবহারিক দিক থেকে অনেক অঞ্চল জুড়ে রয়েছে covers এটি প্রায় 1000 পৃষ্ঠাগুলি দীর্ঘ, তাই আপনাকে সপ্তাহান্তে বা দু'দিন ব্যস্ত রাখবে। অন্যদিকে, এটি প্রায় 10 বছর পুরনো, সুতরাং আরও কিছু আপ-টু-ডেট উপলভ্য থাকতে পারে। অন্যান্য বই লাইন অন্তর্ভুক্ত ডাটাবেস সিস্টেম মধ্যে concurrency নিয়ন্ত্রণ ও রিকভারি বার্নস্টেন পি, Hadzilacos, ভি, এবং গুডম্যান, এন, অ্যাডিসন ওয়েসলে, 1987 দ্বারা, লেনদেন প্রক্রিয়াকরণ: ধারণা এবং কৌশল জিম গ্রে এবং আন্দ্রিয়াস রয়টারের, এবং মূলনীতি লেনদেন প্রক্রিয়াজাতকরণেরফিলিপ এ বার্নস্টেইন এবং এরিক নিউকামার, ২০০৯ লিখেছেন। আমি দ্বিতীয়টি দেখিনি, তবে সর্বাধিক সাম্প্রতিক হওয়ায় এটি শুরু করার জন্য ভাল জায়গা হতে পারে, যদিও আপনার সমাধানটি পুরানো লেখায় পাওয়া যেতে পারে found গ্রন্থাগারে একটি ট্রিপ সার্থক হতে পারে।

এই অঞ্চলে একটি স্মরণীয় পাঠ্য হ'ল ন্যান্সি লিঞ্চ এট-আল-র পারমাণবিক লেনদেন । এটি আপনার আগ্রহী বিভিন্ন ধরণের অ্যালগোরিদমের একটি আনুষ্ঠানিক অ্যাকাউন্ট এবং প্রমাণ উপস্থাপন করে It's এটি বরং আনুষ্ঠানিক এবং ক্লান্তিকর, তাই আপনার পছন্দ মতো নাও হতে পারে।

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


1
ধন্যবাদ ডেভ, বিশেষত "সফ্টওয়্যার ট্রানজেকশনাল মেমরি" এই বাক্যাংশের জন্য, আমি এই নামটি পেলাম না
নিক ফরটস্কিউ

1
এসটিএম আজকাল প্রোগ্রামিং ভাষাগুলির গবেষণার একটি সত্যই আলোচিত বিষয়। এসটিএম বা অভিনেতা-ভিত্তিক প্রোগ্রামিং মডেলগুলি ভবিষ্যতের সমকালীন (= সমস্ত) প্রোগ্রামিং ভাষার ভিত্তি হবে কিনা তা দেখার প্রতিযোগিতা রয়েছে।
ডেভ ক্লার্ক

1
এসটিএম ছাড়াও এই রেফারেন্সগুলির মধ্যে সন্ধানের জন্য একটি বিশেষ কীওয়ার্ড হ'ল এমভিসিসি। : এটা অধিকাংশ আধুনিক DBMSs ব্যবহৃত en.wikipedia.org/wiki/Multiversion_concurrency_control
ম্যাভেরিক উ

@ সুপারকোলডেভ আমি নিশ্চিত নই যে এটি একটি জাতি: আমি মনে করি ভবিষ্যতের ভাষাগুলিকে কিছুটা না কিছু ডিগ্রীই কিছুটা সমর্থন করতে হবে।
মার্ক হামান

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