গত সপ্তাহে ক্যানোনিকাল ডিক্লাইট ১.০ প্রকল্পের একটি বড় সংস্করণ প্রকাশের ঘোষণা দিয়েছে, আপনি একটি এসকিউএল ইঞ্জিন বিকাশ করছেন অন্তর্নির্মিত এসকিউএলাইট অনুবর্তী যা একাধিক নোড বিস্তৃত করে ডেটা প্রতিরূপ, স্বয়ংক্রিয় বিপর্যয় পুনরুদ্ধার এবং ত্রুটি সহন সমর্থন করে।
Dqlite একটি সি লাইব্রেরি এটি উচ্চ উপলব্ধতা এবং স্বয়ংক্রিয় ফেলওভার সহ একটি প্রতিলিপি এবং এসকিউএল ডাটাবেস ইঞ্জিন প্রয়োগ করে। সংক্ষিপ্ত রূপ "dqlite" "ডিস্ট্রিবিউটড এসকিউলাইট", যার অর্থ হ'ল ডক্লাইট এসকিউএলাইটকে এমন একটি নেটওয়ার্ক প্রোটোকল দিয়ে প্রসারিত করে যা আপনার অ্যাপ্লিকেশনটির একাধিক উদাহরণ সংযোগ করতে পারে এবং তাদের বহিরাগত ডাটাবেসের উপর নির্ভরশীলতা ছাড়াই একটি অত্যন্ত উপলব্ধ ক্লাস্টার হিসাবে কাজ করতে পারে।
উল্লেখ্য যে ডিবিএমএস অ্যাপ্লিকেশনগুলির সাথে সংযুক্ত একটি সি লাইব্রেরির আকারে প্রয়োগ করা হয় এবং অ্যাপাচি ২.০ লাইসেন্সের আওতায় বিতরণ করা হয়েছে (আসল এসকিউএলাইট পাবলিক ডোমেইনে সরবরাহ করা হয়েছে)। লাইব্রেরিটি বিদ্যমান এসকিউএল কোডের ভিত্তিতে একটি প্লাগইন, যা বিভিন্ন হোস্টে চলমান অ্যাপ্লিকেশনটির একাধিক ইনস্ট্যান্সকে লিঙ্ক করতে নেটওয়ার্ক প্রোটোকল সমর্থন যোগ করে।
ডিক্লাইট দিয়ে তৈরি একটি অ্যাপ্লিকেশন ব্যর্থতা ক্লাস্টার হিসাবে কাজ করতে পারে স্বায়ত্তশাসিত ভুল দ্বারা, বহিরাগত ডিবিএমএস থেকে স্বতন্ত্র।
প্রস্তুতিতে, ক্যানোনিকাল LXD ধারক পরিচালন ব্যবস্থায় Dqlite ব্যবহার করে। লাইব্রেরির অ্যাপ্লিকেশন ক্ষেত্রগুলির মধ্যে এজ এজেন্টিং সিস্টেমগুলিতে থিংস ডিভাইস এবং প্রসেসরের ফল্ট-সহনশীল ইন্টারনেট তৈরির কথাও উল্লেখ করা হয়েছে।
ডেটা প্রতিরূপে ধারাবাহিকতা নিশ্চিত করতে, রাফ্ট অ্যালগরিদমের উপর ভিত্তি করে একটি sensক্যমত্য পদ্ধতি ব্যবহার করা হয়, যা ইত্যাদি, যেমন রিডিংকিডিবি, ককরোচডিবি এবং ওপেনডায়লাইটের মতো প্রকল্পগুলিতে ব্যবহৃত হয়। ডক্লাইট সিটিতে লিখিত নিজস্ব অ্যাসিনক্রোনাস সি-রফ্ট বাস্তবায়ন ব্যবহার করে uses
সংযোগগুলির প্রসেসিংয়ের মাল্টিপ্লেক্সে এবং করাউটিনগুলি প্রবর্তনের ব্যবস্থা করার জন্য, প্রস্তুত লাইব্রেরিগুলি লাইবুভ এবং লাইবকো ব্যবহৃত হয়।
একটি অনুরূপ rqlite প্রকল্পের তুলনায়, Dqlite সম্পূর্ণ লেনদেন সমর্থন সরবরাহ করে, এটি যে কোনও সি প্রকল্পের সাথে যোগাযোগ করতে পারে, আপনাকে সময় () ফাংশনটি ব্যবহার করতে দেয় এবং এসকিউএল এক্সপ্রেশন অনুবাদ-ভিত্তিক প্রতিলিঙ্গের পরিবর্তে ফ্রেম-ভিত্তিক প্রতিলিপি ব্যবহার করে।
ডক্লাইটে হাইলাইট করা যায় এমন বৈশিষ্ট্যগুলির মধ্যে নিম্নলিখিত:
- সমস্ত ডিস্ক এবং নেটওয়ার্ক অপারেশনগুলি অ্যাসিঙ্ক্রোনাস মোডে করুন
- তথ্যের যথার্থতা নিশ্চিত করতে পরীক্ষার সেটগুলির উপস্থিতি
- কম মেমরি খরচ এবং নেটওয়ার্কের উপর দক্ষ ডেটা এক্সচেঞ্জ
- স্থায়ী ডাটাবেস ডিস্ক স্টোরেজ এবং লেনদেন লগ (ইন-মেমরি ক্যাশে সক্ষমতার সাথে)
- ব্যর্থতার পরে দ্রুত পুনরুদ্ধার
- গো ভাষায় স্থিতিশীল সিএলআই ক্লায়েন্ট, যা ডাটাবেস সূচনা করতে, প্রতিরূপকরণ কনফিগার করতে এবং নোডগুলি সংযোগ / সংযোগ বিচ্ছিন্ন করতে ব্যবহৃত হতে পারে
- এআরএম, এক্স 86, পাওয়ার এবং আইবিএম জেড আর্কিটেকচারের জন্য সমর্থন
- রাফ্ট অ্যালগরিদমের বাস্তবায়ন লেনদেনের বিলম্বিকে হ্রাস করতে অনুকূলিত।
- ইভেন্ট লুপ হিসাবে libuv ব্যবহার করে অ্যাসিঙ্ক্রোনাস একক থ্রেডযুক্ত বাস্তবায়ন।
- এসকিউএল আদিম এবং ডেটা ধরণের জন্য কাস্টম তারের প্রোটোকল অনুকূলিত।
- রাফ্ট অ্যালগরিদমের উপর ভিত্তি করে ডেটা অনুলিপি এবং সি-রাফ্টে এর কার্যকর প্রয়োগের উপর ভিত্তি করে।
উবুন্টু এবং ডেরাইভেটিভগুলিতে কীভাবে ডক্লাইট ইনস্টল করবেন?
ক্যানোনিকাল কীভাবে আপনি ডক্লাইটের সাথে কথোপকথনের জন্য ক্লায়েন্ট তৈরি করতে পারেন সে সম্পর্কে তথ্য সরবরাহ করে, আপনি পরামর্শ নিতে পারেন নীচের লিঙ্কে।
এখন সিস্টেমে পাঠাগারটি ইনস্টল করার জন্য, যারা উবুন্টু ব্যবহারকারী তাদের জন্য এটি দুটি উপায়ে ইনস্টল করা যেতে পারে বা এটির অন্য কোনও ডেরাইভেটিভ। ক্যানোনিকাল একটি পিপিএ সরবরাহ করে যেখান থেকে এটি মোটামুটি সহজ উপায়ে পাওয়া যায়।
এই পিপিএটি একটি টার্মিনাল থেকে যুক্ত করা যেতে পারে এবং এতে নিম্নলিখিত কমান্ডগুলি প্রয়োগ করে:
sudo add-apt-repository ppa:dqlite/v1 sudo apt-get update sudo apt-get install libdqlite-dev
এই লাইব্রেরিটি ইনস্টল করার অন্যান্য পদ্ধতি হ'ল সংকলন করে এটি সিস্টেমে তাই উবুন্টু এবং অন্যান্য লিনাক্স বিতরণ উভয়ের জন্যই এটি একটি সাধারণ পদ্ধতি।
এটি করার জন্য, তাদের কেবলমাত্র একটি টার্মিনাল খুলতে হবে এবং নিম্নলিখিত কমান্ডগুলি কার্যকর করতে হবে:
git clone --depth 100 https://github.com/canonical/sqlite.git cd sqlite ./configure --enable-replication make sudo make install cd .. git clone https://github.com/canonical/libco.git cd libco make sudo make install cd .. git clone https://github.com/canonical/raft.git cd raft autoreconf -i ./configure make sudo make install cd ..
সমস্ত প্রয়োজনীয় লাইব্রেরি ইনস্টল হয়ে গেলে, ডিক্লাইট ভাগ করে নেওয়া লাইব্রেরিটি তৈরি করতে, আপনি চালাতে পারেন:
autoreconf -i ./configure make sudo make install