কম্পিউটার

ওরাকল এক্সডাটা স্মার্ট স্ক্যান বৈশিষ্ট্য

এই ব্লগটি Oracle® Exadata® স্মার্ট স্ক্যান বৈশিষ্ট্যের বিশদ বিবরণ দেয়, যার একটি ব্যাখ্যা সহ কিভাবে SQL প্রসেসিং Exadata এবং ব্যবহারের উদাহরণগুলির সাথে আলাদা।

পরিচয়

Oracle 2008 সালে Exadata ডিজাইন এবং প্রবর্তন করে প্রকৌশলী সিস্টেমের পরিবারের মধ্যে প্রথম। প্রথাগত ডাটাবেস সিস্টেমের বিপরীতে, যা একজন ব্যবহারকারী দ্বারা কনফিগার করা, ইনস্টল করা, টিউন করা এবং পরিচালিত হয়, একটি ইঞ্জিনিয়ারড সিস্টেমে OS, ডাটাবেস, মেমরি এবং স্টোরেজের মতো সমস্ত প্রয়োজনীয় উপাদান থাকে, যেমন সমাধান প্রদানকারী দ্বারা পূর্বে ইনস্টল করা, কনফিগার করা, টিউন করা এবং অপ্টিমাইজ করা ওরাকল।

এক্সডাটা মেশিনের বিভিন্ন উপাদান রয়েছে। নিম্নলিখিত উপাদানগুলি প্রাথমিক উপাদান:

  • ডাটাবেস সার্ভার :এন্টারপ্রাইজ-শ্রেণির সার্ভার যা ডাটাবেস সফ্টওয়্যার, অটোমেটিক স্টোরেজ ম্যানেজমেন্ট (ASM), বা ওরাকল গ্রিড অবকাঠামো চালায়।

  • স্টোরেজ সার্ভার :স্টোরেজ সার্ভার, বা সেল, যা Exadata স্টোরেজ সার্ভার সফ্টওয়্যার চালায়, যা ডাটাবেস সার্ভার থেকে আসা I/O অনুরোধগুলি এবং ব্যবহারকারীর কাছে ডেটা ফেরত দেওয়ার অনুরোধগুলি পরিচালনা করে৷

  • ইনফিনিব্যান্ড নেটওয়ার্ক :অভ্যন্তরীণ Exadata নেটওয়ার্ক InfiniBand-এ নির্মিত, যা প্রাথমিকভাবে উচ্চ-পারফরম্যান্স কম্পিউটিং পরিবেশের জন্য ডিজাইন করা হয়েছে৷

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

ESS-এর মূল বৈশিষ্ট্য

ESS-এর মূল বৈশিষ্ট্যগুলি নিম্নরূপ:

  • ফ্ল্যাশ ক্যাশে :ফ্ল্যাশ ক্যাশে হল সেল সার্ভারে একটি উচ্চ-পারফরম্যান্স ক্যাশে যা সম্প্রতি অ্যাক্সেস করা বস্তুগুলিকে ক্যাশে করে৷

  • ফ্ল্যাশ লগ৷ :ফ্ল্যাশ লগ রিডো-লগ লেখার জন্য একটি উচ্চ-পারফরম্যান্স, কম লেটেন্সি, এবং নির্ভরযোগ্য অস্থায়ী স্টোর প্রদান করে।

  • EHCC :Exadata হাইব্রিড কলামার কম্প্রেশন (EHCC) সর্বোচ্চ স্তরের ডেটা কম্প্রেশন সক্ষম করে। EHCC কম্প্রেশন ইউনিট নামে সারির সেটে ডেটা সংগঠিত করে . একটি কম্প্রেশন ইউনিটের মধ্যে, EHCC ডেটাকে কলাম দ্বারা সংগঠিত করে এবং তারপরে ডেটা সংকুচিত করে৷

  • স্টোরেজ ইনডেক্স :স্টোরেজ ইনডেক্স হল স্টোরেজ সার্ভারের ইন-মেমরি স্ট্রাকচার যা ডিসকন থেকে স্টোরেজ সার্ভারে ডেটা পড়ার সময় কাটানোর জন্য ডিজাইন করা হয়েছে।

  • সেল অফলোডিং৷ :ঐতিহ্যগত স্টোরেজ ডিজাইনের বিপরীতে, Exadata স্টোরেজ সেলগুলিকে কম্পিউট বা ডাটাবেস নোডের সামগ্রিক বোঝা কমাতে অভ্যন্তরীণভাবে কিছু কাজের চাপ প্রক্রিয়া করার জন্য ডিজাইন করা হয়েছে। এই প্রক্রিয়াটিকে সেল অফলোডিং বলা হয়৷

  • স্মার্ট স্ক্যান :স্মার্ট স্ক্যান বেশিরভাগ SQL প্রসেসিং ডেটাবেস স্তরের পরিবর্তে স্টোরেজ স্তরে ঘটতে দেয়, যা নাটকীয়ভাবে অনুসন্ধান কর্মক্ষমতা উন্নত করে। স্মার্ট স্ক্যান ডেটাবেসটিয়ারে পাঠানো ডেটার ভলিউম হ্রাস করে যার ফলে ডাটাবেস নোডগুলিতে CPU ব্যবহার হ্রাস পায়৷

SQL প্রক্রিয়াকরণ

ঐতিহ্যগতভাবে, এসকিউএল প্রসেসিং শুধুমাত্র ডাটাবেস সার্ভারে ঘটে। এক্সডাটাতে, SQLপ্রসেসিং বিভক্ত এবং স্টোরেজ টায়ও সঞ্চালিত হয়।

ট্র্যাডিশন SQL প্রক্রিয়াকরণ

নিম্নলিখিত ধাপগুলি প্রথাগত SQL প্রসেসিং নিয়ে গঠিত, যেমনটি নিম্নলিখিত চিত্রে দেখানো হয়েছে:

ওরাকল এক্সডাটা স্মার্ট স্ক্যান বৈশিষ্ট্য
  1. একজন ক্লায়েন্ট একটি প্রশ্ন জমা দেয়।
  2. এই ক্রিয়াটি একটি সম্পূর্ণ টেবিল স্ক্যান ট্রিগার করে৷
  3. ডাটাবেস ফাইল এবং সংশ্লিষ্ট এক্সটেন্টের অনুরোধ ম্যাপ করে, যার মধ্যে টেবিলটি স্ক্যান করা হচ্ছে।
  4. একটি সম্পূর্ণ স্ক্যানের মতো, ডাটাবেস সমস্ত ব্লক পড়ার জন্য I/O ক্রিয়াকলাপ ইস্যু করে।
  5. টেবিলের সমস্ত প্রশ্ন করা ব্লক মেমরিতে পড়া হয়।
  6. প্রক্রিয়াটি সারিগুলির জন্য ব্লকগুলি অনুসন্ধান করে যা পূর্বাভাসকে সন্তুষ্ট করে৷
  7. অবশেষে, অনুরোধ করা সারি ক্লায়েন্টকে ফেরত দেওয়া হয়।

যদি এটি একটি বড় টেবিল হয়, তাহলে সেই টেবিলের সমস্ত ব্লক পড়া হয়, স্টোরেজ নেটওয়ার্ক জুড়ে স্থানান্তরিত হয় এবং মেমরিতে অনুলিপি করা হয়। প্রক্রিয়াটি পড়ে অনেক অবাঞ্ছিত সারি অনুরোধ করা SQL অপারেশন সম্পূর্ণ করার জন্য মেমরিতে পড়া হয়। প্রেরিত ডেটার বিশাল পরিমাণ ব্যান্ডউইথ ব্যবহার করে, প্রতিক্রিয়া সময়কে প্রভাবিত করে এবং ডাটাবেস স্তরের উপর একটি অপ্রয়োজনীয় বোঝা তৈরি করে।

এক্সডাটা সার্ভার SQL প্রক্রিয়াকরণ

এক্সডাটা স্টোরেজের সাথে, এসকিউএল প্রসেসিং অনেক বেশি দক্ষতার সাথে পরিচালনা করা হয় কারণ এটি এক্সডাটা স্টোরেজ সফ্টওয়্যার ব্যবহার করে, যার মধ্যে ডাটাবেস লজিক রয়েছে। নিম্নলিখিত ধাপে Exadata SQL প্রসেসিং রয়েছে, যেমনটি নিম্নলিখিত চিত্রে দেখানো হয়েছে:

ওরাকল এক্সডাটা স্মার্ট স্ক্যান বৈশিষ্ট্য
  1. একজন ক্লায়েন্ট একটি প্রশ্ন জমা দেয়।
  2. ডাটাবেস সার্ভার একটি ইন্টেলিজেন্ট ডাটাবেস (iDB) বার্তা তৈরি করে, যার মধ্যে ক্যোয়ারী মানদণ্ড রয়েছে। এই iDB বার্তাটি একটি র্যাকের সমস্ত স্টোরেজ সার্ভারে যায়৷
  3. cellsrv ESS-এর কম্পোনেন্ট অনুরোধ পূরণ করে এমন সারি এবং কলাম সনাক্ত করতে ডেটা ব্লকগুলি স্ক্যান করে৷
  4. প্রতিটি স্টোরেজ সার্ভার সমান্তরালভাবে প্রশ্নের মানদণ্ড কার্যকর করে এবং ইন্টারকানেক্ট ব্যবহার করে ডেটাবেস সার্ভারে শুধুমাত্র প্রাসঙ্গিক সারি বা নেট ফলাফল পাঠায়।
  5. ডাটাবেস ফলাফলকে একত্রিত করে এবং ক্লায়েন্টকে সারি ফেরত দেয়।

স্মার্ট স্ক্যানের প্রয়োজনীয়তা

স্মার্ট স্ক্যান ব্যবহার করার জন্য নিম্নলিখিত প্রয়োজনীয়তা রয়েছে:

  • আপনি শুধুমাত্র সম্পূর্ণ টেবিল স্ক্যান বা সম্পূর্ণ সূচক স্ক্যানের জন্য স্মার্ট স্ক্যান ব্যবহার করতে পারেন।
  • কোয়েরিগুলিকে অবশ্যই সরাসরি-পাথ রিড করতে হবে৷
  • আপনাকে অবশ্যই ডাটাবেস ইনিশিয়ালাইজেশন প্যারামিটার সেট করতে হবে CELL_OFFLOAD_PROCESSING TRUE-এ .
  • আপনাকে অবশ্যই ডিস্ক গ্রুপে সেগমেন্টগুলি সংরক্ষণ করতে হবে যেগুলি সম্পূর্ণরূপে Exadatacells এ সংরক্ষিত।
  • সেগমেন্ট ডেটা সঞ্চয় করে এমন ASM ডিস্ক গ্রুপগুলির অবশ্যই নিম্নলিখিত বৈশিষ্ট্য সেটিংস থাকতে হবে:- compatible.rdbms =11.2.0.0.0 (বা পরে)– compatible.asm =11.2.0.0.0 (বা পরে)– cell.smart_scan_capable =TRUE

স্মার্ট স্ক্যান উদাহরণ

পরিসংখ্যানে স্মার্ট স্ক্যান প্রভাব পরিমাপ করার জন্য, প্রথমে স্মার্ট স্ক্যান সক্ষম না করে এবং তারপরে নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন৷

ধাপ 1:ডাটাবেসের সাথে সংযোগ করুন

SQL*Plus:

এর সাথে আপনার ডাটাবেসের সাথে সংযোগ করতে নিম্নলিখিত কমান্ডটি চালান
[oracle@nd01db01 ~]$ sqlplus nd/nd
SQL*Plus: Release 11.2.0.3.0 Production...

ধাপ 2:পরিসংখ্যান যাচাই করুন

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

SQL> select a.name, b.value/1024/1024 MB from v$sysstat a, v$mystat b
where a.statistic# = b.statistic# and (a.name in ('physical read total bytes',
'physical write total bytes', 'cell IO uncompressed bytes')
or a.name like 'cell phy%');

NAME	                                                           MB
--------------------------------------------------------------- ---
physical read total bytes	                                       0
physical write total bytes	                                    0
cell physical IO interconnect bytes	                           0
cell physical IO bytes saved during optimized file creation	   0
cell physical IO bytes saved during optimized RMAN file restore	0
cell physical IO bytes eligible for predicate offload	         0
cell physical IO bytes saved by storage index	                  0
cell physical IO bytes sent directly to DB node to balance CPU	0
cell physical IO interconnect bytes returned by smart scan	      0
cell IO uncompressed bytes	                                    0

10 rows selected.

ধাপ 3:স্মার্ট স্ক্যান অক্ষম করে একটি নির্বাচনী ক্যোয়ারী চালান

স্মার্ট স্ক্যান অক্ষম করে এমন অপটিমাইজার ইঙ্গিত সহ নিম্নলিখিত নির্বাচনী ক্যোয়ারী চালান:

SQL> select /*+ OPT_PARAM('cell_offload_processing' 'false') */ count(*)
from sales where time_id between '01-JUN-2017' and '30-OCT-2017'
and amount_sold = 1;

COUNT(*)
----------
134055

ধাপ 4:পরিসংখ্যান আবার যাচাই করুন

আবার পরিসংখ্যান যাচাই করতে নিম্নলিখিত কমান্ডটি চালান। নোট করুন যে ধাপ 3-এ ক্যোয়ারী দ্বারা প্রসেস করা সমস্ত ডেটা (ভৌতিক পঠিত মোট বাইট) স্টোরেজ নেটওয়ার্কের মাধ্যমে ডেটাবেস সার্ভারে ফেরত দেওয়া হয় (সেল ফিজিক্যাল আইও ইন্টারকানেক্ট বাইট)।

SQL> select a.name, b.value/1024/1024 MB from v$sysstat a, v$mystat b
where a.statistic# = b.statistic# and (a.name in ('physical read total bytes',
'physical write total bytes', 'cell IO uncompressed bytes')
or a.name like 'cell phy%');

NAME	                                                           MB
--------------------------------------------------------------- -----------
physical read total bytes	                                       759.429688
physical write total bytes	                                    0
cell physical IO interconnect bytes	                           759.429688
cell physical IO bytes saved during optimized file creation	   0
cell physical IO bytes saved during optimized RMAN file restore	0
cell physical IO bytes eligible for predicate offload	         0
cell physical IO bytes saved by storage index	                  0
cell physical IO bytes sent directly to DB node to balance CPU	0
cell physical IO interconnect bytes returned by smart scan	      0
cell IO uncompressed bytes	                                    0

10 rows selected.

ধাপ 5:পরিসংখ্যান পুনরায় সেট করুন

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

[oracle@nd01db01 ~]$ sqlplus nd/nd
SQL*Plus: Release 11.2.0.3.0 Production...

ধাপ 6:পরিসংখ্যান আবার যাচাই করুন

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

SQL> select a.name, b.value/1024/1024 MB from v$sysstat a, v$mystat b
where a.statistic# = b.statistic# and (a.name in ('physical read total bytes',
'physical write total bytes', 'cell IO uncompressed bytes')
or a.name like 'cell phy%');

NAME	                                                           MB
--------------------------------------------------------------- ---
physical read total bytes	                                       0
physical write total bytes	                                    0
cell physical IO interconnect bytes	                           0
cell physical IO bytes saved during optimized file creation	   0
cell physical IO bytes saved during optimized RMAN file restore	0
cell physical IO bytes eligible for predicate offload	         0
cell physical IO bytes saved by storage index	                  0
cell physical IO bytes sent directly to DB node to balance CPU	0
cell physical IO interconnect bytes returned by smart scan	      0
cell IO uncompressed bytes	                                    0

10 rows selected.

ধাপ 7:স্মার্ট স্ক্যান নিষ্ক্রিয় না করে একটি নির্বাচনী প্রশ্ন সম্পাদন করুন

স্মার্ট স্ক্যান অক্ষম করে এমন অপটিমাইজার ইঙ্গিত ছাড়াই নিম্নলিখিত নির্বাচনী ক্যোয়ারী চালান:

SQL> select count(*) from sales where time_id between '01-JUN-2017'
and '30-OCT-2017'and amount_sold = 1;

COUNT(*)
-------
134055

ধাপ 8:পরিসংখ্যান যাচাই করুন

পরিসংখ্যান যাচাই করতে নিম্নলিখিত ক্যোয়ারী চালান. দ্রষ্টব্য যে ক্যোয়ারীটি স্টেপ 4-এর মত প্রায় 759 MB I/O (ভৌতিক পঠিত মোট বাইট) সম্পাদন করে। যাইহোক, এই সময় শুধুমাত্র 1.7 MB DB সার্ভারে (সেল ফিজিক্যাল IOinterconnect বাইট) ফেরত দেওয়া হয়েছে। এটি কর্মে একটি স্মার্ট স্ক্যানের ফলাফল। এই ক্ষেত্রে, স্মার্ট স্ক্যান এই কোয়েরির সাথে যুক্ত I/O-তে কাজ করছে কারণ সেল ফিজিক্যাল আইও বাইটগুলি যেগুলি প্রিডিকেট অফলোডের জন্য যোগ্য তা ফিজিক্যাল রিড টোটালবাইটের সমান এবং স্মার্ট স্ক্যানের মাধ্যমে প্রত্যাবর্তিত সেল ফিজিক্যাল আইও ইন্টারকানেক্ট বাইটগুলি সেল ফিজিক্যাল আইও ইন্টারকানেক্ট বাইটের সমান। .

SQL> select a.name, b.value/1024/1024 mb from v$sysstat a, v$mystat b where a.statistic# = b.statistic# and (a.name in ('physical read total bytes', 'physical write total bytes','cell IO uncompressed bytes') or a.name like 'cell phy%');

NAME                                                             MB
----------------------------------------------------------------	----------
physical read total bytes	                                       759.429688
physical write total bytes	                                    0
cell physical IO interconnect bytes	                           1.71562805
cell physical IO bytes saved during optimized file creation	   0
cell physical IO bytes saved during optimized RMAN file restore	0
cell physical IO bytes eligible for predicate offload	         759.429688
cell physical IO bytes saved by storage index	                  0
cell physical IO bytes sent directly to DB node to balance CPU	0
cell physical IO interconnect bytes returned by smart scan	      1.71562805
cell IO uncompressed bytes	                                    759.429688

10 rows selected.

উপসংহার

এক্সডাটাতে স্মার্ট স্ক্যান বৈশিষ্ট্যটি অনুসন্ধান কর্মক্ষমতা উন্নত করতে ডেটাবেস স্তরের পরিবর্তে স্টোরেজ স্তরে SQL প্রক্রিয়াকরণকে সক্ষম করে। SmartScan ডাটাবেস স্তরে প্রেরিত ডেটার ভলিউম হ্রাস করে যার ফলে ডাটাবেস নোডগুলিতে CPU ব্যবহার হ্রাস পায়।

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

আমাদের ডাটাবেস পরিষেবা এবং র্যাকস্পেস অ্যাপ্লিকেশন পরিষেবাগুলি সম্পর্কে আরও জানুন৷


  1. ক্লাউডে একটি ওরাকল ডেটাবেস (DBaaS) তৈরি করুন

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

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

  4. ম্যালওয়্যারের জন্য ওয়ার্ডপ্রেস ডেটাবেস স্ক্যান করুন