কোন অনুশীলনগুলি বা সরঞ্জামগুলি ডেটাবেসগুলির অবিচ্ছিন্ন স্থাপনাকে সক্ষম করে?


17

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

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

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

ডেটা অখণ্ডতা যে উদ্বেগের বিষয় হিসাবে এমন পরিবেশের পরিবেশে ডেটাবেস স্কিমার অবিচ্ছিন্ন স্থাপনের অনুমতি দেওয়ার জন্য বর্তমানে অন্যান্য কোন পদ্ধতি এবং সরঞ্জাম বিদ্যমান?


ডিবি অ্যাক্সেস কোড পরিবর্তন না হলে ডিবি স্কিমা (গুলি) পরিবর্তন বা মাইগ্রেশন কেন দরকার হবে? (ধরে নেই কোনও ম্যানুয়াল ডিবি অ্যাক্সেসগুলি ব্যবহার করে যা এটি ব্যাখ্যা করতে পারে )
ড্যান কর্নিলিস্কু

আরে @ ড্যানকর্নিলেস্কু, পারফরম্যান্সের সমস্যাগুলি হ্রাস / সম্বোধন করার জন্য "সূচকগুলি" যুক্ত করার বিষয়ে কীভাবে?
Pierre.Vriens

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

@ ড্যানকর্নিলেস্কু আমিও (সত্যই) বিশ্বাস করি আপনি আপনার পূর্ববর্তী মন্তব্যে যা লিখেছেন (এবং আমার পূর্ববর্তী মন্তব্যটি আপনার প্রথম মন্তব্যে প্রশ্নের সম্ভাব্য উত্তর দেওয়ার চেষ্টা মাত্র)) পরবর্তী (বাস্তব?) প্রশ্ন?
পিয়ের.ভ্রিয়েন্স

আপনি ফ্লাইওয়েটিকে আকর্ষণীয় ফ্লাইওয়েডবি.আর.গ্রাফিক্স খুঁজে পেতে পারেন
অ্যান্ডারসেন

উত্তর:


13

প্রমোদ সাদালাগ এবং স্কট অ্যাম্বিলার একটি বই লিখেছিলেন রিফ্যাক্টরিং ডেটাবেসস: বিবর্তনীয় ডেটাবেস ডিজাইন যা একটি সিডি org / দলের DBs বিষয়গুলির জন্য অবিশ্বাস্যভাবে দৃ solid় প্রাইমার।


আপনি একটি সংক্ষিপ্ত যোগ করতে পারেন?
030

11

চ্যালেঞ্জ


আমি সচেতন যে এখানে কেবলমাত্র ডাটাবেস অবজেক্ট যেমন টেবিল এবং কলামগুলি যুক্ত করা, সেগুলি কখনই সংশোধন বা অপসারণ করার মতো অনুশীলন রয়েছে

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

  1. ব্যাকআপ - InnoDB প্লাগিন মহান ও সব, কিন্তু যে পরিমাণ ডাটা ব্যাকআপ বার ঠিক যে ব্যবহারিক নয়
  2. পুনঃস্থাপনের সময়গুলি - বড় ডেটাসেটের জন্য - বিশেষত যদি কোনও পুনরায় পুনরুদ্ধার করার পরে অপারেশনাল অবস্থায় ফিরে আসার জন্য পুনরায় প্রতিস্থাপনের প্রয়োজন হয় তবে কয়েক দিন বা সপ্তাহ পর্যন্ত সময় লাগতে পারে
  3. নতুন দৃষ্টান্ত তৈরি / বীজ তৈরি করা - প্রায়শই আপনি দেব / পরীক্ষায় যে কাজটি করতে পারেন তাতে আপনার ডেটাসেটে ইটিএল (এক্সট্র্যাক্ট, ট্রান্সফর্ম এবং লোড) কাজ জড়িত। এগুলি কিউএ টেস্টিং ইউনিটগুলি ব্যবহার করে যাচাই করা দরকার, তবে এটি অ-ধ্বংসাত্মক পদ্ধতিতে করা দরকার যাতে মূল উত্পাদন ডেটাসেট সংরক্ষণ করা যায়। কোনও দুর্যোগের সময়, আপনি ব্যাকআপগুলি একটি বীমা পলিসি এবং এই বিষয়গুলি এড়াতে ইচ্ছুক তা বোঝার জন্য একটি দীর্ঘ পুনরুদ্ধার সময়ের সাথে মোকাবিলা করতে ইচ্ছুক হতে পারেন, ডিভোপস ডেভলপমেন্ট ওয়ার্কফ্লো প্রয়োজন হয়, মূলত, আপনি একটি পুনরুদ্ধার সম্পাদন করতে সক্ষম হন বা নিয়মিত আপনার ডেটা অনুলিপি (সম্ভবত একাধিক বার)
  4. সক্ষমতা - আমি স্রেফ বর্ণিত স্কেলে সেই পরিমাণে ডেটা স্লিং করা খুব I / O নিবিড় হতে পারে। কেবল আপনাকে 1-3-তে বর্ণিত সমস্যাগুলি সমাধান করার দরকার নেই, তবে আপনাকে এটি এমনভাবে করতে হবে যা আপনার উত্পাদন সিস্টেমে বাধা বা কর্মক্ষমতা হ্রাস না করে।

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

প্রয়োজনীয়তা সংজ্ঞায়িত


ফলস্বরূপ, আপনাকে বেশ কয়েকটি প্রয়োজনীয়তা নির্ধারণ করতে হবে:

  1. আরটিও - আরটিও বা পুনরুদ্ধার সময়ের উদ্দেশ্য ব্যাকআপগুলির জন্য ডাটাবেস ব্যাকআপ সমাধানের অন্যতম গুরুত্বপূর্ণ চালক। যদিও প্রথমে এটি অন্যান্য সমস্যাগুলির সাথে বেশিরভাগ ক্ষেত্রে প্রাসঙ্গিক বলে মনে হয় না, আপনি যখন জিজ্ঞাসা করেন তখন এটি অত্যন্ত প্রাসঙ্গিক হয়ে ওঠে "যদি আমি নতুন উদাহরণ তৈরি বা বীজ দেওয়ার জন্য আমার ব্যাকআপ সমাধানটি ব্যবহার করি?" আমি পরবর্তী বিভাগে এটি করার জন্য কিছু কৌশল কভার করব।
  2. আরপিও - আরপিও বা পুনরুদ্ধার পয়েন্টের উদ্দেশ্য ব্যাকআপগুলির জন্য এটিকে সংজ্ঞায়িত করে) আপনি কতটা পূর্বে পুনরুদ্ধার করতে সক্ষম হবেন (মিনিট, ঘন্টা, দিন, সপ্তাহ, মাস, বা বছর) খ) বিভিন্ন স্তর এবং সি তে ব্যাকআপ অন্তর আপনি কতটা পুনরায় ফিরিয়ে আনতে পারবেন । উদাহরণস্বরূপ, ই-মেইল ডেটাবেসগুলির জন্য, বার্তা স্তর স্তর ব্যাকআপগুলি - একটি নির্দিষ্ট ই-মেইল পুনরুদ্ধার করা - প্রায়শই সন্ধান করা হয়। একইভাবে, আপনি দেখতে পাবেন যে কয়েক দিনের মধ্যে ডেটা সম্পূর্ণ অকেজো - তাই এক বছর পিছনে পুনরুদ্ধার করার কোনও মানে নেই।
  3. আপনার ডেটাসেটের আকার - এটি গুরুত্বপূর্ণ কারণ 1MB ডাটাবেসের জন্য আপনার আরটিও বেশিরভাগ ব্যাকআপ পণ্য এবং সমাধানগুলি অর্জন করা যেতে পারে। তবে 10 টিবি ডাটাবেসের জন্য আপনি দেখতে পাবেন এলটিও 3 টেপের একটি সম্পূর্ণ, সারির স্তরের ব্যাকআপ সম্ভবত আপনার আরটিও অর্জন করবে না এবং আপনার আরপিওতে হস্তক্ষেপ করতে পারে কারণ ব্যাকআপগুলি আপনার ব্যাকআপ উইন্ডো অতিক্রম করতে শুরু করে। আপনি ঠিক এই বিশাল একটি ডেটাসেটে একটি মাইএসকিলডাম্প করতে পারবেন না, তবে সম্ভবত এটি 1MB ডাটাবেসে পাওয়া যেতে পারে।
  4. ডাটাবেস ধারাবাহিকতা - একটি চূড়ান্ত জিনিস যা ডেটাবেসের সাথে কাজ করার সময় অবিচ্ছিন্ন মোতায়েন, সাইটের নির্ভরযোগ্যতা, স্কেলাবিলিটি এবং উচ্চ-উপলভ্যতায় এক বিরাট পার্থক্য তৈরি করে ধারাবাহিকতার জন্য আপনার প্রয়োজন (বা এর অভাব)। তিনটি মূল ধরণ রয়েছে: তাত্ক্ষণিক ধারাবাহিকতা, জাস্ট-ইন-টাইম (জেআইটি) ধারাবাহিকতা এবং শেষের ধারাবাহিকতা

উপরের প্রধান বিবেচনার পাশাপাশি, আপনাকে লাইসেন্সিং এবং সহায়তা প্রয়োজনীয়তাগুলি (ওপেন সোর্স বা বদ্ধ উত্স; ঘর সমর্থন, তৃতীয় পক্ষের সমর্থন বা বিক্রেতার সহায়তায়) অ্যাপ্লিকেশন / ভাষার প্রয়োজনীয়তা (অনেকগুলি ডাটাবেসের সংযোগকারী গুরুত্বপূর্ণ হতে পারে; আপনার অ্যাপ সংকলিত? আপনার কি সোর্স কোড অ্যাক্সেস রয়েছে? আপনি কি এটি পুনরায় সংকলন করতে পারেন, বা এটি কোনও বিক্রেতা সরবরাহ করেছেন? বা এটি কোনও ব্যাখ্যা করা ভাষাতে চালিত হয়?) রাজনৈতিক প্রয়োজনীয়তা (আপনার সংস্থাটি কি কেবল ওরাকলকে বিশ্বাস করে? তারা কি ওরাকলকে ঘৃণা করে? "তারা কি মাইএসকিএলকে বিশ্বাস করে না? মারিয়াডিবি বা পোস্টগ্র্রেস সম্পর্কে আপনি কীভাবে অনুভব করেন?) এবং ডাটাবেস ইঞ্জিন (নির্দোষ? মাইস্যাম? ব্ল্যাকহোল? এনডিবি ক্লাস্টার? স্পাইডার?) এবং historicalতিহাসিক বা সামঞ্জস্যতার প্রয়োজনীয়তা (আমরা পিএল / এসকিউএল ব্যবহার করেছি এবং আমাদের অর্ধেক কোডের জন্য) ওরাকল ইঞ্জিনে তৈরি করা হয়েছে! কীভাবে আমরা কখনই মারিয়াডিবিতে পোর্ট করতে পারি?!?)

এই সমস্ত জিনিস (উল্লেখযোগ্যভাবে) আপনার জন্য উপলব্ধ সরঞ্জামগুলিকে প্রভাবিত করে।

ইন-হাউস ডেটা ম্যানেজমেন্টের জন্য কিছু বিকল্প


দ্রষ্টব্য: নিম্নলিখিতটি কোনওভাবেই সম্পূর্ণ নয় এবং অন্যান্য এসই ব্যবহারকারীদের অতিরিক্ত পরামর্শ দিয়ে চিমে থাকা উচিত।

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

দ্বিতীয়ত, ক্লাউড ভিত্তিক সমাধান অনুসন্ধান করা বিবেচনা করুন। এটি এই মাথা ব্যাথার কিছুটিকে আউটসোর্স করে এবং জটিল সমস্যাগুলি উচ্চ যোগ্যতাসম্পন্ন (এবং প্রদেয়) ব্যক্তিদের কাছে ফেলে দেয়। তবে স্কেল এ, আপনি এটি দেখতে পারবেন আপনার বাজেটের মধ্যে এটি সত্যিই খায় (মেঘ সরবরাহকারীরা এটির মাধ্যমে কোনও লাভ করতে পারে এবং একটি নির্দিষ্ট স্কেলে আপনি কেবল এই বিশেষজ্ঞদের নিজেরাই নিয়োগ করতে পারেন,) বা যদি আপনি নির্দিষ্ট সুরক্ষা বা রাজনৈতিক অধীনে কাজ করছেন প্রয়োজনীয়তা (পড়ুন: আমরা মেঘগুলি করতে পারি না) একটি হাইব্রিড এনএফএস / ফাইবারচ্যানেল ফাইলার বিবেচনা করুন। এই অ্যাপ্লিকেশনগুলির মধ্যে বেশিরভাগ যেমন নেট অ্যাপ্লিকেশন, পিওর স্টোরেজ এবং টেগিলি একটি ডেল্টা ভিত্তিক স্ন্যাপশটিং এবং ক্লোনিং কৌশল সমর্থন করে যা এ এর ​​পক্ষে খুব সহজেই কার্যকর হতে পারে) ব্যাকআপ নেওয়া, খ) ব্যাকআপগুলি পুনরুদ্ধার করা এবং গ) নতুন ব্যাকআপ সিডিং করা হয়।

এই মুহুর্তে, আমার নোট করা দরকার যে আমি ব্যাকআপ এবং স্টোরেজ বিশেষজ্ঞ নই, তাই এই সমস্যার কিছু অংশ যা আমি অন্যান্য সমস্যার (এবং সবুজ রঙের চারণভূমি) এ যাওয়ার আগে কখনও সমাধান করতে পারিনি।

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

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

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

এখানে কেবল কৌশলটি এটির একটি সম্পূর্ণ ব্যাকআপ সমাধান গঠন নাও করতে পারে কারণ "ব্যাকআপ" এখনও আপনার ফাইলারে থাকে r এর জন্য আপনাকে নেট অ্যাপকে একটি স্ন্যাপ মিরর বলে যা কিছু ফাইল ব্যবহার করতে পারে যা ফাইলার এবং এমনকি ডেটাসেন্টারগুলির মধ্যে ডেটা (আরএসসিএনএস-স্টাইল প্রযুক্তি ব্যবহার করে) ব্যবহার করবে, বা এমন কিছু সংহত ব্যাকআপ সলিউশন ব্যবহার করবে যা আপনার ডেল্টা স্ন্যাপশটগুলির একটি বা টেপ ব্যাকআপ করতে পারে আনমন-ক্লোন।

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

এরপরে ক্রমাগত মোতায়েনের পদ্ধতিগুলির সাথে ব্যবহারের জন্য আপনি পুরো স্ক্র্যাপটি প্রোগ্র্যাম্যাটিকভাবে স্প্যান করতে এবং পুরো (এবং বড়) ডেটাসেটগুলি ধ্বংস করতে অনুমতি দেবেন।

স্কেলিবিলিটি এবং উচ্চ উপলব্ধতা

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

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

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

একইভাবে, আপনি একটি নিখরচায় বিকল্প বিবেচনা করতে ইচ্ছুক হতে পারেন, মারিয়াডিবির পক্ষে মারিয়াডিবি টিম দ্বারা তৈরি ম্যাক্সস্কেল । তবে এটিতে জিইআইআই এবং স্কেলআরসি-র কিছু ক্যাশিং বৈশিষ্ট্য নেই।

পরিশেষে, মাইএসকিউএল ফ্যাব্রিক (এবং শুধুমাত্র ইন-র‌্যাম মাইএসকিউএল ক্লাস্টার - আপনি যদি এই পরিমাণ র‌্যাম বহন করতে পারেন) হ'ল অন্য সম্ভাবনাগুলি - বিশেষত মাইএসকিউএলের নতুন প্রক্সি সহ। এটি আপনার পরিবেশকে স্কেলাবিলিটি এবং রিডানডেন্সি উপাদান সরবরাহ করতে পারে।

পোস্টগ্রিস এবং ওরাকলগুলির আপনার প্রয়োজনীয় প্রতিলিপি এবং শারডিং বৈশিষ্ট্য থাকতে হবে, তবে আপনার প্রক্সি লাগলে স্কেলআরসি ভাল জুড়ি দেবে।

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


6

আমরা অ্যাপে পোস্টগ্রিস স্কিমা পরিচালনার জন্য ফ্লাইওয়ে এবং ক্যাসান্দ্রার স্কিমার ব্যবস্থাপনার জন্য স্তম্ভটি ব্যবহার করি। অ্যাপটি যদি তার নিজস্ব স্কিমা পরিচালনা করে তবে আমরা এটি সেরা খুঁজে পেয়েছি।

অ্যাপসটির নিজস্ব স্কিমা পরিচালনা করার আগে আমাদের কাছে ব্যবস্থাপনামূলক স্কিমার ব্যবস্থা থাকার একটি ভয়াবহ অভিজ্ঞতা হয়েছিল।


6

আমি যুক্তি দিয়েছি যে কোনও সরঞ্জামই সত্যই সহায়তা করবে না যদি আপনি স্কিমা দায়িত্বটি অ্যাপ্লিকেশন দলে স্থানান্তরিত না করেন।

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

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

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


4

আমরা আমাদের কাজে লিকুইব্যাস ব্যবহার করি এবং আমি এটির জন্য উচ্চতর কথা বলব। এটি আমাদের QA সরঞ্জাম QASymphony দ্বারাও ব্যবহৃত হয় ।

আমরা এটি অভ্যন্তরীণভাবে এমএসএসকিউএল এবং ওরাকল ডেটাবেসগুলির বিরুদ্ধে ব্যবহার করছি এবং কিএএসসিফনি এটিকে পোস্টগ্রিস + মাইএসকিএল উদাহরণ হিসাবে ব্যবহার করেছে / ব্যবহার করেছে।


4

একটি মেইনফ্রেম পরিবেশ এবং DB2® ডাটাবেসের ক্ষেত্রে নির্দিষ্ট প্রসঙ্গে এই প্রশ্নের উত্তর দেওয়ার জন্য সাধারণত 2 টি সাধারণত ব্যবহৃত হয় (সস্তা নয় ...) বিকল্পগুলি থেকে নেওয়া:

  • বিএমসি থেকে ডিবি 2® এর জন্য অবজেক্ট অ্যাডমিনিস্ট্রেশন । এটি সম্পর্কে কিছু বিশদ এখানে (লিঙ্কযুক্ত পৃষ্ঠা থেকে উদ্ধৃতি):

    আপনার ডাটাবেসে বস্তুগুলিতে পরিবর্তন করা - এমনকি কেবল নিয়মিত প্রশাসনিক কার্য সম্পাদন করা difficult কঠিন, ঝুঁকিপূর্ণ কাজ হতে পারে। ট্র্যাক রাখতে কয়েক ডজন কাজ রয়েছে এবং একক মিসট্যাপের প্রাপ্যতা এবং ডেটা অখণ্ডতার উপর বিপর্যয়কর প্রভাব পড়তে পারে। আপনাকে সাহায্যের জন্য সরঞ্জামগুলির সংগ্রহ, ডিবি 2 11 এর জন্য বিএমসি অবজেক্ট অ্যাডমিনিস্ট্রেশন দিয়ে আপনি প্রচেষ্টা এবং ঝুঁকি উভয়ই বাদ দিতে পারেন:

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

    এটি প্রাপ্যতার সর্বনিম্ন সম্ভাব্য প্রভাব সহ অ্যাপ্লিকেশন লাইফ সাইকেল জুড়ে নিরাপদে DB2 অবজেক্ট এবং স্কিমা পরিচালনার সাথে সম্পর্কিত জটিল কাজগুলি সহজ করে l

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

এসসিএম সরঞ্জামগুলির সাথে সংহতকরণ

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

এই সংহতকরণ সম্পর্কে একমাত্র (তবে বাস্তব !) চ্যালেঞ্জটি ছিল "পুনরায় চালু" সুবিধে করা, যা এই জাতীয় ডিবিএ সরঞ্জামের অন্যতম প্রধান সুবিধা:

  • পুনঃসূচনাটির অর্থ হ'ল এই ডিবিএ সরঞ্জামটি যখন কাজটি করে চলেছে (কখনও কখনও দীর্ঘকালীন চাকরির মাধ্যমে, কাজটি সম্পূর্ণ হওয়ার প্রকৃতি অনুযায়ী) তখন অপ্রত্যাশিত জিনিসগুলি ঘটতে পারে (অচলাবস্থা, সময় বেঁধে দেওয়া ইত্যাদি)।

  • যদি এইগুলির মধ্যে কোনওটি ঘটে থাকে এবং আপনি আপনার ব্যাকআপ থেকে (শুরু করার আগে) পুনরায় আরম্ভ করতে চান না, তবে ডিবিএ সরঞ্জামটি প্রত্যাশা করে যে আপনি সেই (চেক) বিন্দু থেকে পুনরায় আরম্ভ করবেন যা থেকে জিনিসগুলি ভুল হতে শুরু করেছে (এবং কোথা থেকে? আপনি সবকিছু পুনরায় সম্পাদন করতে চান)।

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

  • শেষ পর্যন্ত, এসসিএম সরঞ্জামটি ব্যবহার করা হচ্ছে এই পুনরায় চালুকরণ বাস্তবায়নের আসল সূত্রের জন্য, এসসিএম সরঞ্জামটিও সুর করা দরকার required আসলে এটি ব্যর্থ এসসিএম পদ্ধতিগুলি পুনঃসূচনা করার জন্য ব্যবহার করার অনুমতি দেওয়ার জন্য (সাধারণত পরীক্ষার / উত্স পরিবেশের উদ্দেশ্যে সরবরাহের সাথে সম্পর্কিত) ... ব্যর্থ এসসিএম পদ্ধতিটি আবারও জমা দেওয়ার পরিবর্তে (যা সাধারণত এই জাতীয় পরিস্থিতি থেকে এসসিএম সরঞ্জামগুলি পুনরুদ্ধার করে is )।

বোনাস: বিএমসি বিকল্পের এসসিএম সংহতকরণ শেষ হওয়ার পরে, গ্রাহক তাদের ডিবিএ সরঞ্জামটি আইবিএম বিকল্পে পরিবর্তন করার সিদ্ধান্ত নিয়েছে। এবং যদিও উভয় বিকল্পই সত্যই এক রকম দেখাচ্ছে না, এসসিএম সংহতকরণের এর প্রভাবটি বরং ন্যূনতম ছিল: কেবলমাত্র বিবিসি বিকল্পের কাছে কিছু কল আইবিএমের সমতুল্য কল দ্বারা বিএমসি বিকল্পের কাছে নেওয়া হয়েছিল M বিকল্প ... যা (ডিভোপস টার্মিনোলজি ব্যবহার করে) /

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