PostgreSQL প্রতিলিপি


45

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

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

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


3
আমি এর উত্তরে আগ্রহী। একটি মাইএসকিউএল ব্যাকগ্রাউন্ড থেকে আসা, পিএসকিউএল-র প্রতিরূপ অপশনগুলি কমপক্ষে বলার জন্য কৃষি।
ডেভ চেনি

হ্যাঁ, এখন পর্যন্ত আমি যে সমস্ত বিকল্প নিয়ে খেলেছি তার মধ্যে উল্লেখযোগ্য কমতি রয়েছে। আশা করছি আমি স্পষ্ট কিছু মিস করছি .. তবে আমি মনে করি না যে আমি
f4nt

আমি সন্দেহ করি এর বাইরে আর কিছুই নেই তবে আমি কেউ আমাকে ভুল প্রমাণ করার জন্য আগ্রহী
ভিঙ্কো ভার্সালোভিচ

বিটিডাব্লু, আপনি কি pgsql-general@postgresql.org চেষ্টা করেছেন?
ভিঙ্কো ভ্র্যাসালোভিক

উত্তর:


9

সংক্ষিপ্ত উত্তর - পোস্টগ্র্রেএসকিউএল-এর জন্য এখনও কোনও সমাধান নেই যদি আপনার অনলাইনে পাঠ্য দাসদের প্রয়োজন হয়।

এই অঞ্চলে বর্তমানে দুটি বড় উন্নয়ন প্রকল্প চলছে যা পোস্টগ্র্রেএসকিউএল 9.0 (স্প্রিং / সামার 2010) এ অন্তর্ভুক্ত রয়েছে:

  • সিঙ্ক্রোনাস প্রতিলিপি:

http://wiki.postgresql.org/wiki/NTT's_Development_Projects

  • কেবল গরম স্ট্যান্ডবাই ক্রীতদাসগুলি পড়ুন:

http://wiki.postgresql.org/wiki/Hot_Standby

যেগুলির সমন্বয়ে মাইএসকিউএল-স্টাইলের প্রতিলিপি বিয়োগগুলি সহজেই অর্জন করতে হবে বাগ / ইস্যুগুলি মাইএসকিউএল রয়েছে নির্ভরযোগ্যতা ব্যবহারকারীদের পোস্টগ্র্রেএসকিউএল থেকে জানা।

২০০ of সালে পোস্টগ্রেএসকিউএল কোর টিমের একটি ম্যানিফেস্টের মাধ্যমে এই সমস্ত কিছুই সরিয়ে দেওয়া হয়েছিল:

http://archives.postgresql.org/pgsql-hackers/2008-05/msg00913.php

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

আমি লগ শিপিং, ওয়ালমগ্রার এবং স্লোনি -1 এ কয়েকটি জিনিস লিখেছি, দেখুন

আরও তথ্যের জন্য http://blogs.amd.co.at/mt/mt-search.cgi?blog_id=1&tag=pgrep&limit=20


6
সিঙ্ক্রোনাস রিপ্লিকেশন + হট স্ট্যান্ডবাই এখন উপলভ্য - উপলভ্য কৌশলগুলির একটি ভাল সংক্ষিপ্তসার জন্য উইকি.পোস্টগ্রেসক্লু.এল.কম / উইকি / দেখুন দেখুন
ডেভিড ফ্রেজার

5

এবং রিংয়ের মধ্যে আরও একটি সমাধান নিক্ষেপ করতে: রুব্রিপ।

আপনার প্রয়োজনীয়তার সাথে তুলনা করতে:

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

4

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

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


2

আপনার প্রয়োজনীয়তা থেকে মনে হয় পিআইটিআর আপনার সমস্যা সমাধানের সহজতম উপায়:

অন-লাইন ব্যাকআপ এবং পয়েন্ট-ইন-টাইম পুনরুদ্ধার (PITR)

আপনি বলেননি যে আপনার স্লেভ সার্ভারটি জিজ্ঞাসা করতে হবে, তাই পিআইটিআর ঠিক ঠিক হতে পারে।

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

যদি আপনি নির্দেশাবলী খুব ভার্বোস খুঁজে পান তবে স্কাইটুলস ওয়ালএমজিআরটি দেখুন যা হট স্ট্যান্ডবাই ডেটা একক কমান্ড টাস্কে / ফেলওভার তৈরির প্রক্রিয়া তৈরি করবে।

আরও জটিল প্রতিলিপি পরিস্থিতিতে, আমার ভাল অভিজ্ঞতা ছিল স্লনি -১, তবে পোস্টগ্রিসকিউএল-র অনেকগুলি ভাল প্রতিলিপি / এইচএ বিকল্প উপলব্ধ।


এবং এই বিকল্পগুলি ...?
ডেভ চেনি

... ব্লগ পোস্টে তালিকাভুক্ত blog.endpoint.com/2009/05/competitors-to-bucardo-version-1.html উত্তর এক রেফারেন্সড ...
dpavlin

2

আপনি যদি অ্যাসিঙ্ক্রোনাস মাস্টার / স্লেভের প্রতিলিপি চান

এটি ইনস্টল করা সহজ, একটি নতুন ডিবি যুক্ত করা সহজ, প্রতিলিপি কেবল "ক্যাচ আপ"।

ব্যর্থতা যদিও অন্তর্নির্মিত নয়। আপনাকে আপনার অ্যাপ্লিকেশন সংযোগের স্ট্রিংগুলি পরিবর্তন করতে হবে বা সফ্টওয়্যারটির অন্য স্তরের পিছনে ডিবি সংযোগটি অপসারণ করতে হবে।

কিছু স্কিমা পরিবর্তন সহজ। অন্যদের আরও কঠিন। এটি আপনার আবেদনের উপর নির্ভর করে। স্কাইটোলগুলির পরবর্তী সংস্করণ (ver 3.0) ডিডিএল হ্যান্ডেল করার এবং ফেলওভারটিকে আরও সহজ করার জন্য সুবিধাগুলি অন্তর্ভুক্ত করার কথা।

স্লোনি ব্যবহারের জন্য খুব বেদনাদায়ক খুঁজে পেয়ে আমরা লন্ডিসটে চলে এসেছি।



1

আপনি যা খুঁজছেন তা সরবরাহ করার জন্য কোনও মুক্ত / ওপেন সোর্স উপায় নেই। আপনি যদি এমন কিছু চান যা এমন টার্ন-কী হয়, বিভিন্ন তৃতীয় পক্ষের বাণিজ্যিক প্রতিলিপি সমাধানগুলি দেখুন।

এখন, এটা হল রোল লেখার মাথা লগ (ওয়াল) শিপিং ব্যবহার Postgres সঙ্গে আপনার নিজের রেপ্লিকেশন বাছাই করা সম্ভব:

http://www.postgresql.org/docs/8.3/interactive/warm-standby.html

এটি মূলত যেখানে আপনি অবিচ্ছিন্ন পুনরুদ্ধার মোডে একটি গৌণ নোড রাখতে পারেন এবং প্রতি {ছোট ব্যবধানে transaction এতে লেনদেন লগ আমদানি করতে পারেন} পোস্টগ্র্রেস কনফিগারেশনটিতে "স্টাবস" রয়েছে যখন যখন একটি ওয়াল শেষ হয় এবং যখন না হয় পোস্টগ্র্রেস করে তখন আপনাকে নির্দিষ্ট কিছু কাজ করতে দেয় এবং সেই সেটআপটির পূর্বাভাস দেওয়া হয় - সেই "স্টাবগুলি" ব্যবহার করে।

তবে এটি আপনাকে মাস্টার-মাস্টার এবং / অথবা বিজ্ঞপ্তি প্রতিরূপ করতে দেয় না।

যাইহোক, এটি স্পষ্টতই ایرডানডেন্সির জন্য কাজ করে, তবে আমি এটিকে "সহজ সেটআপ," "সরলবাদী ব্যর্থতা," "বিরামবিহীন," বা এর মতো কিছু বলব না।


এই উত্তরটি পিআইটিআর পরামর্শের সদৃশ, যেহেতু পিআইটিআর ওয়াল :-) ব্যবহার করে
dpavlin

1

'একটি নতুন ডাটাবেস যুক্ত করা' বিষয় বাদে আপনি ম্যামথ রিপ্লিকেশনারটি চেষ্টা করতে পারেন ( https://projects.commandprompt.com/public/replicator )। এটি ওপেন সোর্স, সেটআপ করা সহজ এবং ব্যর্থতা সমর্থন করে। প্রধান সীমাবদ্ধতা হ'ল একক ডাটাবেস এবং ডিডিএল পরিবর্তনগুলি প্রতিলিপি করতে অক্ষমতা, উভয়ই টোডো তালিকায় রয়েছে।



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