কম্পিউটার

ওরাকল ডেটাবেস 12c রিলিজ 12.1.0.0 এর নতুন পারফরম্যান্স-টিউনিং বৈশিষ্ট্য:পার্ট 2

মূলত TriCore দ্বারা প্রকাশিত:এপ্রিল 12, 2017

এই দুই-অংশের ব্লগ পোস্ট সিরিজ Oracle® ডেটাবেসে নতুন কর্মক্ষমতা-টিউনিং বৈশিষ্ট্যগুলিকে কভার করে৷ Part1 আলোচনা করেছে OracleDatabase সংস্করণ 12.1.0.1. এই ফলো-আপ পোস্টটি সংস্করণ 12.1.0.2 কভার করে।

ইন-মেমরি কলাম স্টোরের ভূমিকা

ইন-মেমরি কলাম স্টোর (আইএম কলাম স্টোর) হল সিস্টেমগ্লোবাল এরিয়া (এসজিএ) এর একটি ঐচ্ছিক এলাকা যা দ্রুত স্ক্যানের জন্য অপ্টিমাইজ করা কলামার ফর্ম্যাটে টেবিল, পার্টিশন এবং অন্যান্য ডাটাবেস বস্তুর কপি সংরক্ষণ করে। IM কলাম স্টোর বিশ্লেষণ, ডেটা গুদামজাতকরণ, এবং অনলাইন লেনদেন প্রক্রিয়াকরণ (OLTP) অ্যাপ্লিকেশনগুলির ডাটাবেস কর্মক্ষমতাকে ত্বরান্বিত করে৷

আইএম কলাম স্টোর কিভাবে কাজ করে

IM কলাম স্টোর SGA-তে ডাটাবেস অবজেক্টের কপি সঞ্চয় করে। এটি ডাটাবেস বাফার ক্যাশে প্রতিস্থাপন করে না। উভয় মেমরি এলাকায় একই তথ্য বিভিন্ন বিন্যাসে সংরক্ষণ করতে পারেন. IM কলাম স্টোরে সংরক্ষিত সারিগুলি একটি কলামার বিন্যাসে বৃহৎ মেমরি অঞ্চলে বিভক্ত। একটি কলাম প্রতিটি অঞ্চলের মধ্যে মেমরির সংলগ্ন এলাকায় আলাদাভাবে থাকে৷

আপনি নিম্নলিখিত ডেটাবেস অবজেক্টগুলির জন্য IM কলাম স্টোর সক্রিয় করতে পারেন:

  • টেবিল
  • বস্তুগত দৃষ্টিভঙ্গি
  • পার্টিশন
  • টেবিলস্পেস

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

IM কলাম স্টোর ব্যবহার করার পারফরম্যান্স সুবিধা

ডিস্কের পরিবর্তে মেমরিতে ডাটাবেস অবজেক্ট সংরক্ষণ করা OracleDatabase কে স্ক্যান, ক্যোয়ারী, জয়েন এবং এগ্রিগেট অনেক দ্রুত করতে সক্ষম করে। নিম্নলিখিত কাজগুলি সম্পাদন করার সময় IMcolumn স্টোর কর্মক্ষমতা বাড়াতে পারে:

  • অনেক সংখ্যক সারি স্ক্যান করা এবং ফিল্টার ব্যবহার করা
  • কলামের একটি বৃহৎ সেটের একটি ছোট উপসেট জিজ্ঞাসা করা
  • একটি ছোট টেবিলে একটি বড় টেবিলে যোগদান করা, বিশেষ করে যখন জয়েন কন্ডিশন বেশিরভাগ সারি ফিল্টার করে
  • কোয়েরিতে ডেটা একত্রিত করা

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

ওরাকল ডেটাবেস 12c রিলিজ 12.1.0.0 এর নতুন পারফরম্যান্স-টিউনিং বৈশিষ্ট্য:পার্ট 2

ছবির উৎস :ওরাকল লার্নিং লাইব্রেরি ইউটিউব ভিডিও:ওরাকল ডেটাবেস 12cdemos:ইন-মেমরি কলাম স্টোর আর্কিটেকচার ওভারভিউ

IM কলাম স্টোরের প্রয়োজনীয় আকার অনুমান করা হচ্ছে

IM কলাম স্টোর নিম্নলিখিত কম্প্রেশন পদ্ধতি সমর্থন করে:

কম্প্রেশন পদ্ধতি ইন-মেমরি ডেটার কম্প্রেশনের ক্রম ইন-মেমরি ডেটার কম্প্রেশনের তুলনা
কোনও MEMCOMPRESS নেই1 NIL
DML এর জন্য মেমকম্প্রেস 2 (সর্বনিম্ন কম্প্রেশন) B<সমস্ত
কয়েরি কমের জন্য মেমকম্প্রেস 3 B
উচ্চ প্রশ্নের জন্য মেমকম্প্রেস 4 C
ক্ষমতা কমের জন্য মেমকম্প্রেস 5 D
উচ্চ ক্ষমতার জন্য মেমকম্প্রেস 6 (উচ্চ কম্প্রেশন) সমস্ত


নিম্নলিখিত উদাহরণ দেখায় কিভাবে oe.product_information সক্ষম করতে হয় IM কলাম স্টোরের জন্য টেবিল এবং কম্প্রেশন পদ্ধতি নির্দিষ্ট করে MEMCOMPRESS FOR CAPACITY HIGH :

SQL>ALTER TABLE oe.product_information INMEMORY MEMCOMPRESS FOR CAPACITY HIGH;

IM কলাম স্টোরের আকার করা হচ্ছে

IMcolumn স্টোরে ডাটাবেস অবজেক্ট সংরক্ষণ করার জন্য প্রয়োজনীয় মেমরি নির্ধারণ করার পরে, আপনি INMEMORY_SIZE ব্যবহার করে এর আকার সেট করতে পারেন ইনিশিয়ালাইজেশন প্যারামিটার।

IM কলাম স্টোরের আকার সেট করতে নিম্নলিখিত পদক্ষেপগুলি ব্যবহার করুন:

  1. INMEMORY_SIZE সেট করুন প্রয়োজনীয় আকারে প্রারম্ভিক প্যারামিটার।

    এই প্যারামিটারের ডিফল্ট মান হল 0 , যার মানে হল যে IM কলামস্টোর ব্যবহার করা হয় না। IM কলাম স্টোর সক্ষম করতে, এই পরামিতিটিকে অশূন্য মানতে সেট করুন।

    একটি মাল্টিটেন্যান্ট পরিবেশে, আপনি PDB প্রতি এই প্যারামিটার সেট করে প্রতিটি প্লাগেবল ডাটাবেসের (PDB) জন্য IM কলাম স্টোরের আকার নির্দিষ্ট করতে পারেন। PDB-এর মানগুলির যোগফল কনটেইনার ডাটাবেসের (CDB) মানের সমান হবে না। এবং এর থেকেও বড় হতে পারে।

  2. আপনি IM কলাম স্টোরের আকার সেট করার পরে, আপনাকে আপনার ডাটাবেস ইন্সট্যান্স পুনরায় চালু করতে হবে যাতে এটি ডাটাবেস অবজেক্ট সংরক্ষণ করতে সক্ষম হয়।

    নিম্নলিখিত উদাহরণ দেখায় কিভাবে IM কলাম স্টোরের আকার 100 GB-তে সেট করতে হয়:

     ALTER SYSTEM SET INMEMORY_SIZE = 100G;
    

IM কলাম স্টোরের জন্য পরিচালনাযোগ্যতা সমর্থন

এসকিউএল মনিটর রিপোর্ট, অ্যাক্টিভ সেশন হিস্ট্রি (ASH) রিপোর্ট, এবং অটোমেটিক ওয়ার্কলোড রিপোজিটরি (AWR) রিপোর্ট এখন বিভিন্ন ইন-মেমরি অপারেশনের পরিসংখ্যান দেখায়।

ডেটাবেস ক্যাশিং মোড

দুটি ডাটাবেস ক্যাশিং মোড আছে:

  • ডিফল্ট ডাটাবেস ক্যাশিং মোড যা ওরাকল ডাটাবেস ব্যবহারের পূর্ববর্তী সংস্করণগুলি
  • ফোর্স ফুল ডাটাবেস ক্যাশিং মোড যা Oracle ডেটাবেস 12cRelease 1 (12.1.0.2) এ নতুন

ডিফল্ট ডাটাবেস ক্যাশিং মোড

ডিফল্টরূপে, ওরাকল ডেটাবেস ডিফল্ট ডাটাবেস ক্যাশিং মোড ব্যবহার করে যখন এটি সম্পূর্ণ টেবিল স্ক্যান করে।

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

যদি দৃষ্টান্ত নির্ধারণ করে যে বাফার ক্যাশে সম্পূর্ণ ডাটাবেস ক্যাশে করার জন্য পর্যাপ্ত স্থান নেই, এটি নিম্নলিখিত পদক্ষেপগুলি নেয়:

  • ছোট টেবিল যা বাফার ক্যাশে আকারের দুই শতাংশের কম :এই টেবিলগুলো মেমরিতে লোড করে।
  • মাঝারি আকারের টেবিল :শেষ টেবিলের স্ক্যান এবং বাফার ক্যাশের এজিং টাইমস্ট্যাম্পের মধ্যে ব্যবধান বিশ্লেষণ করে। শেষ টেবিল স্ক্যানে পুনঃব্যবহৃত টেবিলের আকার অবশিষ্ট বাফার ক্যাশের আকারের চেয়ে বড় হলে, টেবিলটি ক্যাশে করে।
  • বড় টেবিল :আপনি স্পষ্টভাবে KEEP-এর জন্য টেবিলটি ঘোষণা না করলে এগুলিকে মেমরিতে লোড করে না বাফার পুল।

ফুল ডাটাবেস ক্যাশিং মোড বল করুন

ফোর্স ফুল ডাটাবেস ক্যাশিং মোড আপনাকে সম্পূর্ণ ডাটাবেস মেমরি ক্যাশে করতে সক্ষম করে, যা সম্পূর্ণ টেবিল স্ক্যান করার সময় বা বড় বস্তু (LOBs) অ্যাক্সেস করার সময় উল্লেখযোগ্য কর্মক্ষমতা উন্নতি প্রদান করতে পারে।

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

ওরাকল ডেটাবেস সমস্ত ডেটা ফাইলগুলিকে পুনরায় অ্যাক্সেস করার সাথে সাথে বাফার ক্যাশে লোড করে, যার মধ্যে রয়েছে NOCACHE LOB এবং LOB যেগুলি ওরাকল ডেটাবেস সিকিউরফাইলস ব্যবহার করে৷

ওরাকল ডেটাবেস 12c রিলিজ 12.1.0.0 এর নতুন পারফরম্যান্স-টিউনিং বৈশিষ্ট্য:পার্ট 2

ছবির উৎস :সম্পূর্ণ ডিবি ইন-মেমরি ক্যাচিং।

কখন ফোর্স ফুল ডাটাবেস ক্যাশিং মোড ব্যবহার করবেন

নিম্নলিখিত পরিস্থিতিতে ফোর্স ফুল ডাটাবেস ক্যাশিং মোড ব্যবহার করার কথা বিবেচনা করুন:

  • ওরাকল রিয়েলঅ্যাপ্লিকেশন ক্লাস্টারস (RAC) পরিবেশে লজিক্যাল ডাটাবেসের আকার (বা প্রকৃত ব্যবহৃত স্থান) প্রতিটি ডাটাবেসের ইনস্ট্যান্সের পৃথক বাফার ক্যাশের চেয়ে ছোট। এই সুপারিশটি টনন-ওরাকল আরএসি ডেটাবেসগুলিতেও প্রযোজ্য৷
  • ওরাকল RAC এনভায়রনমেন্টে ভাল-বিভাজনকৃত ওয়ার্কলোডের (ইনস্ট্যান্স অ্যাক্সেস) জন্য সমস্ত ডাটাবেস ইনস্ট্যান্সের সম্মিলিত বাফার ক্যাশেসাইজের 80% লজিক্যাল ডাটাবেসের আকার ছোট।
  • ডাটাবেস SGA_TARGET ব্যবহার করে অথবা MEMORY_TARGET .
  • NOCACHE LOB গুলি ক্যাশে করা দরকার৷ NOCACHE LOB গুলি কখনই ক্যাশে করা হয় না যদি না জোর করে সম্পূর্ণ ডাটাবেস ক্যাশিং ব্যবহার করা হয়৷

প্রথম তিনটি পরিস্থিতিতে, পারফরম্যান্স সূচকগুলি আপনার প্রত্যাশা পূরণ করে কিনা তা যাচাই করার জন্য আপনাকে পর্যায়ক্রমে সিস্টেমের কর্মক্ষমতা নিরীক্ষণ করতে হবে।

দ্রষ্টব্য :যখন একটি Oracle RAC ডাটাবেস ইনস্ট্যান্স ফোর্স ফুল ডাটাবেস ক্যাচিং মোড ব্যবহার করে, তখন ওরাকল RAC এনভায়রনমেন্টের অন্যান্য ডাটাবেস ইনস্ট্যান্সও এই মোড ব্যবহার করে। একটি মাল্টিটেন্যান্ট পরিবেশে, ফোর্স ফুলডেটাবেস ক্যাশিং মোড পুরো সিডিবিতে প্রযোজ্য, এর সমস্ত পিডিবি সহ৷

ডেটাবেস ক্যাশিং মোড সেট আপ এবং যাচাই করুন

প্রথমে ডাটাবেস এবং মেমরি সাইজ চেক করুন। আপনি SYSAUX বাদ দিতে পারেন টেবিলস্পেস, নিম্নলিখিত উদাহরণে দেখানো হয়েছে:

SQL> col size_mb format 9999
SQL> SELECT sum(bytes)/1024/1024 seg_size_mb FROM dba_segments where tablespace_name != 'SYSAUX';
SEG_SIZE_MB
-----------
4971

বাফার ক্যাশের আকার পরীক্ষা করতে নিম্নলিখিত কমান্ডটি ব্যবহার করুন:

SQL> SELECT round(sum(cnum_set * blk_size)/1024/1024) size_mb FROM X$KCBWDS;
SIZE_MB
-------
5283

সম্পূর্ণ ডেটাবেস ক্যাচিংয়ের জন্য আপনার ডাটাবেস কনফিগার করতে নিম্নলিখিত পদক্ষেপগুলি ব্যবহার করুন:

SQL> startup mount;
Database mounted.

SQL> ALTER DATABASE FORCE FULL DATABASE CACHING;
Database altered.

SQL> SELECT force_full_db_caching FROM v$database;
FORslug: '' ---YES

SQL> alter database open;
Database altered.

সম্পূর্ণ ডাটাবেস ক্যাশিং মোড সক্ষম হয়েছে তা যাচাই করতে নিম্নলিখিত পদক্ষেপগুলি ব্যবহার করুন:

  1. V$DATABASE জিজ্ঞাসা করতে নিম্নলিখিত কমান্ডটি ব্যবহার করুন দেখুন:

     SQL>SELECT FORCE_FULL_DB_CACHING FROM V$DATABASE;
    

    আউটপুট হয় YES অথবা NO .

  2. ফোর্স ফুল ডাটাবেস ক্যাশিং মোড সক্ষম করতে, নিম্নলিখিত ALTER DATABASE ব্যবহার করুন কমান্ড:

     ALTER DATABASE FORCE FULL DATABASE CACHING;
    

    কমান্ড নিম্নলিখিত নিশ্চিতকরণ প্রদান করে:

     Database altered.
    
  3. ফোর্স ফুল ডাটাবেস ক্যাশে অক্ষম করতে, নিম্নলিখিত কমান্ডটি ব্যবহার করুন:

     SQL> ALTER DATABASE NO FORCE FULL DATABASE CACHING;
    

    কমান্ড নিম্নলিখিত নিশ্চিতকরণ প্রদান করে:

     Database altered.
    

উপসংহার

সংক্ষেপে, IM কলাম স্টোর ডিএমএল স্টেটমেন্টের জন্য এক্সিকিউশনের সময় কমিয়ে দেয়, এবং ফোর্স ফুল ডাটাবেস ক্যাশিং মোড উল্লেখযোগ্য পারফরম্যান্স উন্নতির প্রস্তাব দেয়। ওরাকল ডাটাবেসের নতুন পারফরম্যান্স-টিউনিং বৈশিষ্ট্য সম্পর্কে আরও তথ্যের জন্য, ওরাকল এন্টারপ্রাইজ ম্যানেজার (OEM) যে রিপোর্টগুলি প্রদান করে তা দেখুন।

কোনো মন্তব্য করতে বা প্রশ্ন জিজ্ঞাসা করতে প্রতিক্রিয়া ট্যাবটি ব্যবহার করুন৷

রেফারেন্স

নিম্নলিখিত উত্সগুলি এই ব্লগ পোস্টের জন্য রেফারেন্স হিসাবে ব্যবহার করা হয়েছিল:

  • ডেটাবেস পারফরম্যান্স টিউনিং গাইড:ইন-মেমরি কলাম স্টোর ব্যবহার করার পারফরম্যান্স সুবিধাগুলি

  • সম্পূর্ণ ডিবি ইন-মেমরি ক্যাশিং

  • ওরাকল ডেটাবেস 12c ডেমো:ইন-মেমরি কলাম স্টোর আর্কিটেকচার ওভারভিউ


  1. Oracle 19c এ DBCA কমান্ড ব্যবহার করে একটি ডাটাবেস ক্লোন করা হচ্ছে

  2. ডাটাবেস প্রশাসকদের জন্য নতুন Oracle 19c বৈশিষ্ট্য

  3. রুবি 2.6-এ 9টি নতুন বৈশিষ্ট্য

  4. iOS 11 এ পরিমার্জিত অ্যাপ স্টোরের 5টি নতুন আশ্চর্যজনক বৈশিষ্ট্য