ডেটাবেস মিররিং সমাধান SQL সার্ভারে একটি উচ্চ-উপলভ্য ডেটাবেস ম্যানেজমেন্ট সিস্টেম তৈরি করতে সাহায্য করে যা মাঝারি আকারের এবং নিম্ন-স্তরের ডাটাবেসের জন্য বেশ সহজ এবং উপযুক্ত।
একটি অত্যন্ত উপলব্ধ ডাটাবেস ম্যানেজমেন্ট সিস্টেমের প্রয়োজনীয়তা ক্রমবর্ধমান জরুরী হয়ে উঠছে, কখনও কখনও সংস্থা এবং সংস্থাগুলির জন্য একটি গুরুত্বপূর্ণ কারণ। যাইহোক, উচ্চ প্রাপ্যতা অর্জন করা (প্রায় সর্বদা সক্রিয়) একটি সহজ জিনিস নয়, কারণ সিস্টেমের কার্যকারিতাকে প্রভাবিত করে এমন অনেক কারণ রয়েছে:হার্ডওয়্যার সমস্যা, নেটওয়ার্ক অবকাঠামো, ত্রুটি অপারেটিং সিস্টেম, অ্যাপ্লিকেশন সফ্টওয়্যার ত্রুটি, ভাইরাস। নিবন্ধটি বর্তমানে ব্যবহৃত ডাটাবেস ম্যানেজমেন্ট সিস্টেমে উচ্চ প্রাপ্যতা (HA - উচ্চ প্রাপ্যতা) অর্জনে সহায়তা করার জন্য একটি সমাধান উপস্থাপন করেছে:SQL সার্ভার .
এসকিউএল সার্ভারে HA সমাধান
ফেলওভার ক্লাস্টার৷
এই সমাধানটি একটি শেয়ার্ড হার্ড ড্রাইভ ব্যবহার করে - সাধারণত একটি SAN ডাটাবেস ধরে রাখতে। অনেকগুলি ' উদাহরণ আছে৷ ' SQL সার্ভার ইনস্টল করা, প্রতিটি উদাহরণ একটি নোড, কিন্তু এক সময়ে শুধুমাত্র একটি নোডের ডাটাবেসের নিয়ন্ত্রণ থাকে। যখন এই নোডটিতে কোনো সমস্যা থাকে, তখন ডাটাবেস পরিচালনা করতে অন্য নোড এটিকে প্রতিস্থাপন করবে।
লগ শিপিং৷
একটি মিরর হিসাবে একটি ডাটাবেসের অতিরিক্ত কাঠামো (কপি)। যখন মূল ডাটাবেস থেকে কোন পরিবর্তন বা আপডেট হয়, লগ ফাইল যা এই পরিবর্তনগুলি রেকর্ড করে তা মিরর সার্ভার ইনস্ট্যান্সে পাঠানো হবে। এইভাবে, ডাটাবেসের একটি আপডেট কপি বজায় রাখা হয়। একটি ঘটনার ক্ষেত্রে, কপি ডাটাবেসটি অল্প সময়ের মধ্যে মূল ডাটাবেসে রূপান্তরিত হবে।
চিত্র 1 :SQL সার্ভার সেটআপ সর্বদা উপলব্ধ
প্রতিলিপি
যদি ফেলওভার ক্লাস্টার এবং লগ শিপিং উচ্চ-প্রাপ্যতা নিশ্চিত করতে দুটি সমাধান ডাটাবেস স্তরে, প্রতিলিপি শুধুমাত্র ডাটাবেসের বস্তুর স্তরে উচ্চ-প্রাপ্যতা নিশ্চিত করে যেমন টেবিল, ভিউ। এই বস্তুগুলি স্টোরেজের জন্য SQL সার্ভারের একটি 2য় উদাহরণে অনুলিপি করা হবে৷
এসকিউএল সার্ভারে ডেটা মিররিং
ডেটাবেস মিররিং (DM) হল SQL সার্ভারে অত্যন্ত উপলভ্য ডেটাবেস তৈরির নতুন সমাধান। DM পূর্ববর্তী সমাধানগুলির অসুবিধাগুলি কাটিয়ে ওঠে যেমন:
• ফেইলওভার ক্লাস্টারের তুলনায়, DM-এর জন্য SAN-এর মতো বিশেষ হার্ডওয়্যারের প্রয়োজন হয় না, ফলে কনফিগারেশনের খরচ কমে যায়
• লগ শিপিংয়ের তুলনায়, অ্যাডমিনিস্ট্রেটরকে কাজ না করেই একটি ত্রুটি ঘটলে DM স্বয়ংক্রিয়ভাবে একটি মিরর মেশিনে স্যুইচ করতে পারে। লগ শিপিংয়ের জন্য T-SQL এর সাথে ম্যানুয়াল কনফিগারেশন প্রয়োজন। তাই, DM কে 'হট স্ট্যান্ডবাই' বলা হয়, যখন বাধার সময় (ডাউনটাইম) সেকেন্ডে গণনা করা যায়, এবং লগ-শিপিংকে 'উষ্ণ স্ট্যান্ডবাই' বলা হয়, কারণ বাধার সময় মিনিট বা তার চেয়েও হতে পারে।
• প্রতিলিপির তুলনায় , DM উচ্চতর কারণ এটি সমগ্র ডাটাবেসকে সুরক্ষিত করে, এবং প্রতিলিপি শুধুমাত্র ডাটাবেসের কিছু অংশকে রক্ষা করে, যেমন মাস্টারের মতো টেবিল।
যাইহোক, DM শুধুমাত্র Enterprise / Developer-এ উপলব্ধ SQL সার্ভার 2005 SP1 / 2008 এর সংস্করণ।
1. SQL সার্ভারে DM-এর কাঠামো
এসকিউএল সার্ভারে DM-এর জন্য 3টি প্রধান উদাহরণ প্রয়োজন: ডাটাবেস পরিচালনার জন্য 1টি উদাহরণ (প্রধান ভূমিকা), ডাটাবেস ব্যাকআপ নিশ্চিত করার জন্য 1টি অতিরিক্ত উদাহরণ (মিরর)। ডাটাবেসের প্রাপ্যতা নিরীক্ষণ এবং নিশ্চিত করার জন্য একজন সাক্ষীর উদাহরণ দুটি প্রধান এবং উপ-উদাহরণ দৃষ্টান্তের সাথে সংযোগ করে৷
যখন একজন সাক্ষী মুখ থাকে: সাক্ষী সার্ভার প্রধান সার্ভার এবং মিরর সার্ভার উভয়ের সাথে সংযোগ করে। এখন পুরো সিস্টেমটি একটি কোরামে পরিণত হয়েছে যে 3টি উপাদানের মধ্যে 2টির সিদ্ধান্ত নেওয়ার অধিকার রয়েছে। মূল সার্ভারে কোনো সমস্যা হলে, সাক্ষী সার্ভার স্বয়ংক্রিয়ভাবে মিরর সার্ভারটিকে মূল সার্ভারে স্যুইচ করবে। যদি তারপরে, প্রধান সার্ভারটি আবার কাজ করে, প্রশাসকের হস্তক্ষেপ (চিত্র 1) না হওয়া পর্যন্ত প্রধান সার্ভার একটি মিরর সার্ভারের ভূমিকা গ্রহণ করবে (2 সার্ভার এখন একে অপরের জন্য ভূমিকা পরিবর্তন করে) )।
ছবি 2 :SQL সার্ভার সেটআপ সর্বদা উপলব্ধ
যখন কোন সাক্ষী সার্ভার নেই: স্বয়ংক্রিয় রূপান্তর প্রক্রিয়া প্রশাসকের প্রভাব ছাড়া কাজ করবে না।
SQL সার্ভারে ' endPoint এর ধারণা রয়েছে ' যেটিকে 'সংযোগ বিন্দু' হিসাবে ব্যাখ্যা করা যেতে পারে, SQL সার্ভারের দৃষ্টান্তগুলিকে TCP এর মাধ্যমে একে অপরের সাথে যোগাযোগ করার অনুমতি দেয় ( চিত্র 2 )।
প্রতিটি শেষ পয়েন্ট একটি সংশ্লিষ্ট ঠিকানা এবং পোর্ট দ্বারা চিহ্নিত করা হয়। তাত্ত্বিকভাবে, ঠিকানাটি অবশ্যই সম্পূর্ণ ডোমেন ঠিকানা হতে হবে, কিন্তু আসলে চারটি উপায়ের মধ্যে একটিতে ব্যবহার করা যেতে পারে:
- সার্ভার নামের মাধ্যমে নির্ধারণ করুন। উদাহরণ:TCP:// প্রিন্সিপাল:7024।
- ডোমেন নামের মাধ্যমে নির্ধারণ করুন। উদাহরণ:TCP://PRINCIPAL.DELTAX.COM:7024।
- IPv4 এর মাধ্যমে নির্ধারণ করুন। উদাহরণ:TCP://192.168.1.3:7024.
- IPv6 এর মাধ্যমে নির্ধারণ করুন।
দ্রষ্টব্য: এসকিউএল সার্ভার ইনস্ট্যান্স একই মেশিনে চালানোর ক্ষেত্রে, টিসিপি পোর্ট অবশ্যই আলাদা হতে হবে।
২. প্রধান সার্ভার এবং সেকেন্ডারি সার্ভারের মধ্যে তথ্য বিনিময় করুন
ছবি 3 :SQL সার্ভার সেটআপ সর্বদা উপলব্ধ
হাই-স্পিড মোড (হাই-পারফরম্যান্স):
হাই-পারফরম্যান্স মোড অ্যাসিঙ্ক্রোনাস কপি তৈরির সাথে সম্পর্কিত। প্রধান সার্ভার মিরর সার্ভারে আপডেট পাঠায় এবং সফলভাবে আপডেট করার জন্য একটি মিরর সার্ভারের প্রয়োজন ছাড়াই অন্যান্য পরিবর্তন করতে থাকে।
পরিবর্তনগুলি আপডেট করার জন্য মিরর সার্ভারের জন্য অপেক্ষা না করে, প্রধান সার্ভারের দ্রুত অ্যাক্সেসের গতি রয়েছে এবং অপ্রয়োজনীয় লোডিং এড়ায়৷
এই প্রক্রিয়াটি নিম্নলিখিত স্কিম দ্বারা চিত্রিত করা যেতে পারে:
হাই-স্পিড মোডের জন্য, মিরর সার্ভার সর্বদা প্রধান সার্ভারের চেয়ে ধীরে ধীরে আপডেট হয়, এবং মূল সার্ভারটি এখনও সার্ভারে ডেটা না পাঠিয়ে অপারেশনে বাধা দিলে ডেটা ক্ষতি হতে পারে। আয়না যাইহোক, এই ভিন্ন ডাটাবেস অংশ তুলনামূলকভাবে ছোট এবং গ্রহণযোগ্য। উচ্চ কর্মক্ষমতা মোড - একটি সাক্ষী সার্ভার থাকার জন্য উচ্চ কর্মক্ষমতা মোড প্রয়োজন হয় না৷
উচ্চ-নিরাপত্তা মোড (উচ্চ-নিরাপত্তা):
উচ্চ গতির মোড থেকে ভিন্ন, উচ্চ নিরাপত্তা মোড সিঙ্ক্রোনাস প্রক্রিয়া ব্যবহার করে। যখন অ্যাপ্লিকেশন বা ব্যবহারকারী আপডেট হয়, এটি প্রধান সার্ভার এবং মিরর সার্ভার উভয়েই প্রায় একই সাথে আপডেট করা হবে। এটি নিশ্চিত করবে যে যখন প্রধান সার্ভারে কোনো সমস্যা হবে, তখন মিরর সার্ভারে ডাটাবেসের একটি সম্পূর্ণ এবং সম্পূর্ণ কপি থাকবে, এইভাবে উচ্চ ডেটা নিরাপত্তা নিশ্চিত করা হবে।
হট স্ট্যান্ডবাই - হট স্ট্যান্ডবাই নিশ্চিত করতে উচ্চ নিরাপত্তা মোডের জন্য একটি সাক্ষী সার্ভার প্রয়োজন৷
3. DM কনফিগারেশন:
এসকিউএল সার্ভারে DM কনফিগার করা 3টি মৌলিক পদক্ষেপ নিয়ে গঠিত:
- প্রধান সার্ভারে সম্পূর্ণ ডাটাবেস ব্যাকআপ (ব্যাকআপ) এবং তারপর মিরর সার্ভারে পুনরুদ্ধার (পুনরুদ্ধার) করুন৷
- সংশ্লিষ্ট এন্ডপয়েন্ট তৈরি করুন যাতে প্রধান সার্ভার, মিরর এবং সাক্ষী একসাথে কাজ করে।
- একটি সেশন তৈরি করুন (ডাটাবেস মিররিং সেশন)
ছবি 4 :SQL সার্ভার সেটআপ সর্বদা উপলব্ধ
DM কনফিগার করা SQL সার্ভার ম্যানেজমেন্ট স্টুডিও (SSMS) এর ইন্টারফেস ব্যবহার করে করা যেতে পারে, অথবা T-SQL এর সাথে কনফিগার করা যেতে পারে।
SQL সার্ভার ম্যানেজমেন্ট স্টুডিওর ইন্টারফেসের সাথে কনফিগার করা বেশ সহজ, মিরর সার্ভারে ডেটা সফলভাবে পুনরুদ্ধার করার পরে, ডাটাবেসের উপর ডান-ক্লিক করুন এবং ' মিররিং নির্বাচন করুন। ', তারপর ধাপগুলি অনুসরণ করুন।
ফলাফল একটি DM অধিবেশন শুরু হবে.
SSMS কনফিগারেশন T-SQL এর সাথে সম্পন্ন হলে বেশিরভাগ ক্রিয়াকলাপ অপসারণ করার অনুমতি দেয়, কিন্তু আপনি যদি চান, আপনি এখনও সর্বোচ্চ নমনীয়তা অর্জনের জন্য T-SQL ব্যবহার করতে পারেন৷
T-SQL-এ কনফিগারেশন একে অপরের শেষ পয়েন্ট প্রমাণীকরণের জন্য 2টি উপায় ব্যবহার করতে পারে:লগইন দ্বারা যাচাই বা শংসাপত্র দ্বারা প্রমাণীকরণ। T-SQL কোডটি সম্পূর্ণ তাই DM কনফিগারেশনটি বেশ দীর্ঘ, তাই আমরা শুধুমাত্র কিছু সাধারণ পদক্ষেপ প্রবর্তন করি৷
লগইন সহ কনফিগারেশন
ধরুন আমরা SQL সার্ভারে লগ ইন করার জন্য একটি Windows অ্যাকাউন্ট ব্যবহার করি, একইভাবে SQL সার্ভার অ্যাকাউন্ট ব্যবহার করার ক্ষেত্রে৷
লগইন তৈরি করুন [PRICIPAL-SRVA অ্যাডমিনিস্ট্রেটর]
উইন্ডোজ থেকে
যান
শেষবিন্দু তৈরি করুন:
এন্ডপয়েন্ট পার্টনার তৈরি করুন
রাজ্য =শুরু
AS TCP (LISTENER_PORT =5022)
ডেটাবেস_মিররিংয়ের জন্য (
প্রমাণীকরণ =উইন্ডোজ আলোচনা,
এনক্রিপশন =সমর্থিত,
ভূমিকা =সমস্ত)
যান
মনে রাখবেন যে ROLE =ALL দিয়ে এন্ডপয়েন্ট তৈরি করুন প্রিন্সিপ্যাল এবং মিরর সার্ভার উভয়েই পারফর্ম করতে হবে, সাক্ষী সার্ভারে, আপনি ROLE =WITNESS দিয়ে প্রতিস্থাপন করবেন .
ছবি 5 :SQL সার্ভার সেটআপ সর্বদা উপলব্ধ
শংসাপত্র দ্বারা কনফিগার করা:
প্রতিটি এন্ডপয়েন্ট একে অপরকে সনাক্ত করার জন্য একটি লগইন অ্যাকাউন্ট ব্যবহার করার পরিবর্তে, সার্টিফিকেট তৈরি করার জন্য একটি বিকল্প সমাধান ব্যবহার করা সম্ভব - শংসাপত্র৷
- মাস্টার কী এনক্রিপশন তৈরি করুন (শংসাপত্র রপ্তানির জন্য প্রয়োজনীয়):
tạo người dùng কী xác thực từ mật khẩu ='abc123!!';
- একটি শংসাপত্র তৈরি করুন:
শংসাপত্র PRINCIPAL_cert তৈরি করুন৷
বিষয় ='প্রিন্সিপাল সার্টিফিকেট' সহ,
start_date ='2007/11/01',
expiry_date ='2020/11/01';
ছবি 6 :SQL সার্ভার সেটআপ সর্বদা উপলব্ধ - সার্টিফিকেটের সাথে সম্পর্কিত শেষ পয়েন্ট তৈরি করুন:
এন্ডপয়েন্ট endpoint_mirroring state =start তৈরি করুন
tcp হিসাবে (শ্রোতা_পোর্ট =7024, শ্রোতা_আইপি =সমস্ত)
ডেটাবেস_মিররিংয়ের জন্য (প্রমাণিকরণ =শংসাপত্র PRINCIPAL_cert, এনক্রিপশন =অক্ষম, ভূমিকা =সমস্ত);
- একটি পৃথক ফাইলে শংসাপত্রটি রপ্তানি করুন:
ব্যাকআপ সার্টিফিকেট PRINCIPAL_cert to file ='c:PRINCIPAL_cert.cer';
মিরর সার্ভার এবং সাক্ষীতেও একই কাজ করুন, প্রয়োজনে ভূমিকা =সাক্ষী পরিবর্তনের দিকে মনোযোগ দিন। শেষ পয়েন্ট তৈরি করার পর এবং 3টি ক্ষেত্রে সার্টিফিকেট রপ্তানি করার পর, প্রধান সার্ভারে ফিরে যান:
- মিরর সার্ভারের জন্য একটি লগইন তৈরি করুন:
PASSWORD ='abc123!!' দিয়ে লগইন করুন MIRROR_login;
যান
- সেই লগইনের সাথে সম্পর্কিত একটি ব্যবহারকারী তৈরি করুন
লগইন MIRROR_login থেকে ব্যবহারকারী MIRROR_user তৈরি করুন;
যান
- সার্ভারের .cer ফাইল থেকে একটি শংসাপত্র তৈরি করুন:
শংসাপত্র MIRROR_cert তৈরি করুন৷
অনুমোদন MIRROR_user
ফাইল থেকে ='c:MIRROR_cert.cer';
যান
- সার্ভারের লগইন মিররের জন্য এন্ডপয়েন্টে সংযোগ করার অনুমতি দেওয়া হচ্ছে:
এন্ডপয়েন্টে সংযোগ মঞ্জুর করুন ::endpoint_mirroring to [MIRROR_login];
যান
ছবি 7 :SQL সার্ভার সেটআপ সর্বদা উপলব্ধ সাক্ষী সার্ভার সার্টিফিকেট, সেইসাথে মিরর এবং সাক্ষী সার্ভারের জন্য একই জিনিস করুন যাতে 3টি কম্পিউটার একে অপরকে সনাক্ত করতে এবং প্রমাণীকরণ করতে পারে৷
এন্ডপয়েন্ট তৈরি করার পর, আপনি ক্যোয়ারী দিয়ে সেগুলি পরীক্ষা করতে পারেন:
নাম, state_desc, role_desc নির্বাচন করুন
sys.database_mirroring_endpoint
চূড়ান্ত কাজ হল DM:
-এর জন্য একটি সেশন শুরু করা* প্রধান সার্ভারে:
ডাটাবেস অ্যাডভেঞ্চার ওয়ার্কস পরিবর্তন করুন
SET PARTNER ='TCP://mirror-srv.deltax.com:5022'
যান
* মিরর সার্ভারে:
ডাটাবেস অ্যাডভেঞ্চার ওয়ার্কস পরিবর্তন করুন
SET PARTNER ='TCP://pricipal-srv.deltax.com:5022'
যান
* প্রধান সার্ভারে, একটি সাক্ষী সার্ভার সেট আপ করুন:
ডাটাবেস অ্যাডভেঞ্চার ওয়ার্কস পরিবর্তন করুন
সেট সাক্ষী ='TCP://witness-srv.deltax.com:5022'
যান
সিস্টেম চালু হওয়ার পরে, এটি ডেটাবেস মিররিং মনিটর দিয়ে পর্যবেক্ষণ করা যেতে পারে টুল :
ছবি 8 :SQL সার্ভার সেটআপ সর্বদা উপলব্ধ
4. প্রোগ্রামিং মিডলওয়্যার:
মিডলওয়্যার দিক থেকে ডাটাবেস সংযোগের জন্য DM-এর ব্যবহার প্রায় স্বচ্ছ বলে বলা হয়। আপনি যদি ADO.NET লাইব্রেরি ব্যবহার করেন, তাহলে কেবল ConnectionString পরিবর্তন করুন ' ফেলওভার পার্টনার যোগ করতে ' মিরর সার্ভারে ক্ষেত্র, উদাহরণস্বরূপ:
ডাটা সোর্স =pricipal.database.com; ফেইলওভার পার্টনার =mirror.database.com; প্রাথমিক ক্যাটালগ =AdventureWorks;
ইন্টিগ্রেটেড সিকিউরিটি =সত্য;
এছাড়াও, ADO.NET একটি ' সংযোগ পুল তৈরি করে ' এটি শুরু করা সংযোগগুলির ক্যাশে করার অনুমতি দেয়, তাই সার্ভার সুইচের দিকে নিয়ে যাওয়া কোনও সমস্যার ক্ষেত্রে, আপনাকে সক্রিয়ভাবে অতিরিক্ত ক্রিয়াকলাপগুলি বাস্তবায়ন করতে হবে। এই ক্যাশে মুছুন৷
SqlConnection.ClearPool (conn);
এপিলগ
ছবি 9 :SQL সার্ভার সেটআপ সর্বদা উপলব্ধ SQL সার্ভারে DM বেশ সহজ, কনফিগার করা সহজ, ব্যবহার করা এবং নিরীক্ষণ করা যায়, কিন্তু এর ক্ষমতা তুলনামূলকভাবে সীমিত। এটি শুধুমাত্র মাঝারি আকারের এবং নিম্ন-স্তরের ডাটাবেসের জন্য উপযুক্ত, এবং বৃহৎ ডেটাবেসগুলির জন্য যেগুলির ধারাবাহিকতার জন্য কঠোর প্রয়োজনীয়তা রয়েছে, প্রস্তাবিত পদ্ধতিটি পূরণ করা হয়নি, তবে সামগ্রিক অপারেটিং সিস্টেম সমাধানগুলির প্রয়োজন। হার্ডওয়্যার সিস্টেম, নেটওয়ার্ক।
আর্টিকেলটি আপনাকে SQL সার্ভারে একটি অত্যন্ত উপলভ্য ডাটাবেস ম্যানেজমেন্ট সিস্টেম কীভাবে তৈরি করতে হয় তার একটি ওভারভিউ পেতে সাহায্য করবে বলে আশা করে৷
রেফারেন্স:http://technet.microsoft.com/en-us/library/cc917680.aspx
শুভকামনা।
আপনি এইমাত্র "SQL সার্ভার সেটআপ সর্বদা উপলব্ধ নিবন্ধটি পড়া শেষ করেছেন৷ " টিপসমেক দ্বারা সম্পাদিত৷ দল আমরা আশা করি এই নিবন্ধটি আপনাকে অনেক দরকারী প্রযুক্তি টিপস এবং কৌশল প্রদান করেছে। আপনি টিপস এবং গাইডের অনুরূপ নিবন্ধ অনুসন্ধান করতে পারেন। পড়ার জন্য এবং নিয়মিত আমাদের অনুসরণ করার জন্য আপনাকে ধন্যবাদ৷