মেমোরি অপ্টিমাইজড টেবিল - এগুলি বজায় রাখা কি সত্যিই কঠিন হতে পারে?


18

আমি এমএস এসকিউএল ২০১২ থেকে ২০১৪-তে আপগ্রেড করার সুবিধাগুলি তদন্ত করছি S এসকিউএল ২০১৪ এর অন্যতম বড় বিক্রয় পয়েন্ট মেমরি অপটিমাইজড টেবিল যা স্পষ্টতই প্রশ্নগুলিকে অতি দ্রুত তৈরি করে।

আমি খুঁজে পেয়েছি যে মেমরি অপটিমাইজড টেবিলগুলির কয়েকটি সীমাবদ্ধতা রয়েছে যেমন:

  • কোন (max)আকারের ক্ষেত্র
  • সারি প্রতি সর্বাধিক 1KB
  • কোন timestampক্ষেত্র নেই
  • কোনও গণিত কলাম নেই
  • কোনও UNIQUEবাধা নেই

এগুলি সমস্ত উপদ্রব হিসাবে যোগ্য, তবে যদি আমি সত্যিই পারফরম্যান্স সুবিধা পেতে তাদের চারপাশে কাজ করতে চান তবে আমি একটি পরিকল্পনা করতে পারি।

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

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

তো, আমি কী ভুল বুঝেছি? আপনি এমও টেবিল ব্যবহার করেছেন? এমন কোনও গোপন স্যুইচ বা প্রক্রিয়া রয়েছে যা তাদের ব্যবহার এবং রক্ষণাবেক্ষণের জন্য ব্যবহারিক করে তোলে?

উত্তর:


18

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

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


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


14

নতুন প্রযুক্তির সমস্যাগুলির মধ্যে একটি - বিশেষত একটি ভি 1 রিলিজ যা বৈশিষ্ট্য-সম্পূর্ণ না বলে পুরোপুরি উচ্চস্বরে প্রকাশিত হয়েছে - তা হ'ল প্রত্যেকে ব্যান্ডওয়াগনে ঝাঁপিয়ে পড়ে এবং ধরে নেয় যে এটি প্রতিটি কাজের চাপের জন্য উপযুক্ত fit এটা না। হেকাটনের মিষ্টি স্পট 2-6 সকেটে প্রচুর পয়েন্ট লুকআপ সহ 256 গিগাবাইটের নীচে ওলটিপি ওয়ার্কলোড। এটি কি আপনার কাজের চাপের সাথে মেলে?

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

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

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

এসকিউএল সার্ভার 2016

আপনি যদি এসকিউএল সার্ভার 2016 এর দিকে এগিয়ে চলেছেন তবে আপনি ইন-মেমোরি ওয়ালটিপিতে যে বর্ধনগুলি দেখতে পাবে সেই সাথে কিছু সীমাবদ্ধতা দূর করার বিষয়ে আমি ব্লগ করেছি । এর মধ্যে উল্লেখযোগ্য হল:

  • সর্বাধিক টেকসই টেবিলের আকার বৃদ্ধি: 256 গিগাবাইট => 2 টিবি
  • এলওবি / ম্যাক্স কলাম, নালামযোগ্য কলামগুলিতে সূচীকরণ, বিআইএন 2 কোলেশন প্রয়োজনীয়তা অপসারণ
  • পদ্ধতির পরিবর্তন ও পুনরায় কম্পাইল করুন
  • অল্টার টেবিলের জন্য কিছু সমর্থন - এটি অফলাইন হবে তবে আপনার পরিবর্তন করতে এবং / বা সূচিগুলি ফেলে / পুনরায় তৈরি করতে সক্ষম হওয়া উচিত (এটি বর্তমান সিটিপি বিল্ডগুলিতে সমর্থিত বলে মনে হয় না, তবে এটি গ্যারান্টি হিসাবে গ্রহণ করবেন না)
  • ডিএমএল ট্রিগার, এফকে / চেক সীমাবদ্ধতা, মার্স
  • বা, না, উপস্থিত, নির্ধারণ, ইউনিয়ন, বাহিরে যোগদান করুন
  • উপমা

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

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

হারুন, EAV কি?
শওল বেহর


2

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

পরিবর্তে, আপনি টেবিলের ডানদিকে ক্লিক করতে পারেন, এবং একটি নতুন ক্যোয়ারী উইন্ডোতে একটি কমান্ড তৈরি করতে পারেন out এই তৈরি কমান্ডটি কোনও নতুন কলাম যুক্ত করে সংশোধন করা যেতে পারে।

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

তবে, আপনি যদি সমাধানের চেষ্টা করছেন এমন কোনও পারফরম্যান্স সমস্যা না থেকে থাকে তবে মেমোরি অপ্টিমাইজড টেবিলগুলি নিয়ে বিরক্ত করার কোনও কারণ আপনার নেই।

তারপরে, আপনার ব্যবহারের ক্ষেত্রে সীমাবদ্ধতা এবং কাজের ক্ষেত্রগুলি যদি উপযুক্ত হয় তবে আপনাকে ওজন করতে হবে। আপনার কি পারফরম্যান্স সমস্যা আছে? আপনি কি অন্য সব চেষ্টা করেছেন? এটি কি আপনার কর্মক্ষমতা 10-100x দ্বারা উন্নত করবে? এটি ব্যবহার করা বা এটি ব্যবহার না করা সম্ভবত কোনওভাবেই কোনও মস্তিষ্কের কিছুটা হলেও শেষ হয়ে যাবে।


-2

আপনি কোনও বড় সমস্যা ছাড়াই অপারেশনাল সার্ভারগুলিতে ইন-মেমরি ওয়ালটিপি ব্যবহার করতে পারেন। আমরা এই প্রযুক্তিটি একটি ব্যাংকিং এবং পেমেন্ট সংস্থায় ব্যবহার করেছি,

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

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

আপনি এই ইবুকগুলি ব্যবহার করতে পারেন এবং এই প্রযুক্তিটি কীভাবে ব্যবহার করবেন তা শিখতে পারেন:

ক্যালেন ডিল্যানি: https://www.red-gate.com/library/sql-server-internals-in- স্মৃতি- খোল্টাপ

দিমিত্রি করোটকেভিচ: https://www.apress.com/gp/book/9781484227718

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