এসকিএল-সার্ভারে প্রতিশ্রুতিবদ্ধ স্ন্যাপশটটি সক্ষম করা হলে সেখানে কী কী ঝুঁকি রয়েছে?


70

আমি এখানে পড়েছি যে সারি প্রতি কিছু অতিরিক্ত ডেটা সংরক্ষণ করা হবে যাতে আমরা পারফরম্যান্সের অবনতি দেখতে পারি তবে সেখানে কী কী ঝুঁকি রয়েছে?

যেমন। এটি ডাটাবেস পুনরুদ্ধার প্রভাবিত করবে? এর সুবিধা নিতে আমাদের আরও কিছু করার দরকার আছে?

আমি এই আদেশগুলি কার্যকর করার পরিকল্পনা করছি:

ALTER DATABASE DatabaseName SET READ_COMMITTED_SNAPSHOT ON
ALTER DATABASE DatabaseName SET ALLOW_SNAPSHOT_ISOLATION ON

আমি বিশ্বাস করি এটি আমাদেরকে ওরাকলকে আরও কাছাকাছি এনে দেবে যেখানে যদি কোনও লেনদেন অন্য লেনদেনগুলি আপডেট করে তবে এখনও পুরানো ডেটা পড়তে পারে। এটা কি সঠিক?

আমি এটি সন্ধান করছি কারণ আমি এসকিউএল সার্ভার ২০০ 2005-এ লকিংয়ের সমস্যায় অসুস্থ I ভয়.

উত্তর:


48

সারাংশ

  1. যদি আপনার লক করার সমস্যা থাকে তবে আপনার কোড নিয়ে আপনার সমস্যা আছে: এটি ডাটাবেস ইঞ্জিন নয়
  2. এটি কোনও ম্যাজিক বুলেট নয়
  3. আপনি আরও সমস্যা যুক্ত করতে পারেন

ভার

এটি আপনার টেম্পডিবি এবং সিপিইউতেও লোড বাড়িয়ে তুলবে । আরও দেখুন:

নিরাপত্তা

সর্বাধিক গুরুত্বপূর্ণ, স্নাপশট বিচ্ছিন্নতা ডিফল্টরূপে অনেক ক্ষেত্রে নিরাপদ নয় । রাইটিং-স্কিউ অসঙ্গতি সম্পর্কে আরও জানতে "স্ন্যাপশট বিচ্ছিন্নতা" (উইকিপিডিয়া) পড়ুন । এর পরবর্তী অংশটি হ'ল "স্ন্যাপশট বিচ্ছিন্নকরণ সিরিয়ালাইজেবল তৈরি করা" এটি ঘিরে around

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

আরও দেখুন:


35

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

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

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


26

অন্যান্য উত্তর যোগ করতে অতিরিক্ত পয়েন্ট কয়েক:

SET ALLOW_SNAPSHOT_ISOLATION ONশুধুমাত্র একটি ডাটাবেসে স্ন্যাপশট বিচ্ছিন্নকরণ সক্ষম করে। এর সুবিধা নিতে আপনাকে পুনরায় সংশোধন SET TRANSACTION ISOLATION LEVEL SNAPSHOTকরতে হবে এবং লেনদেনের জন্য আপনি এটি প্রয়োগ করতে চান। আপডেট সংঘাতের ত্রুটিগুলি পরিচালনা করতে কলিং কোডটি পরিবর্তন করা দরকার।

এরপরে SET READ_COMMITTED_SNAPSHOT ON, পড়ার বিবৃতিগুলি সারি-সংস্করণ ব্যবহারের প্রতিশ্রুতিবদ্ধ। মনে রাখবেন, এই হল বিবৃতি স্তর সারি-সংস্করণ জন্য শুধুমাত্র সার্চ । আপডেটের জন্য, "আসল" সারিটি পুনরুদ্ধার করা হবে এবং লকগুলি আপডেট করা হবে। সারি-সংস্করণ ভিত্তিক বিচ্ছিন্নতা স্তরগুলি বোঝার আচরণের সংক্ষিপ্তসারটি দেখুন

যে কোনও রুট, সম্পূর্ণ পরীক্ষার ছাড়াই আপনি সিস্টেমে সমস্যার সম্পূর্ণ সেট সেট করতে পারেন to


19

আমি বিশ্বাস করি এটি আমাদেরকে ওরাকলকে আরও কাছাকাছি এনে দেবে যেখানে যদি কোনও লেনদেন অন্য লেনদেনগুলি আপডেট করে তবে এখনও পুরানো ডেটা পড়তে পারে। এটা কি সঠিক?

হ্যাঁ, এটি সঠিক

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


9

আমরা আমাদের সকল প্রকল্পে এসএনএপিএসশট বিচ্ছিন্নতা ব্যবহার করছি যা এসকিউএল সার্ভার ডিবি ব্যবহার করে। আর 1205 এসকিউএল ত্রুটিগুলি নেই যা ভুল অ্যাপ্লিকেশন কোডের কারণে নয়, কিন্তু ডিফল্ট পৃষ্ঠা লকিং এবং সারি লকিং আচরণের কারণে ঘটে।

পারফরম্যান্সের প্রভাবটি সর্বনিম্ন এবং এখনও অবধি years বছর কেটে গেছে, এসএনএপশট বিচ্ছিন্নকরণ সংক্রান্ত কোনও সমস্যা না করেই কয়েক মিলিয়ন অপারেশন বিভিন্ন সিস্টেমে প্রক্রিয়াজাত করা হয়েছে।

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

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


-2

আমাদের এটি সক্রিয় ছিল এবং একটি অদ্ভুত সিলেক্ট এসকিএল স্টেটমেন্ট 4 চলমান ছিল কখনও কখনও পুরো ডিবিকে অবরুদ্ধ করে দেয় যতই না কোনও কোর এবং সমস্ত বিষয়। আরসিএসআই অফ করা সেট স্থির করে। আপনি একবার ডিফল্টরূপে নয়, অন্যান্য অচলাবস্থার মুখোমুখি হয়ে এটি চালু করব।

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