মূলত 15 আগস্ট, 2019-এ ObjectRocket.com/blog-এ প্রকাশিত
যেহেতু CockroachDB® এবং PostgreSQL® রিলেশনাল ওয়ার্কলোডের ক্ষেত্রে বাজারে একটি জায়গাকে একীভূত করেছে, অনেক লোক জিজ্ঞাসা করতে শুরু করেছে যে তাদের কোনটি বেছে নেওয়া উচিত। CockroachDB অভূতপূর্ব স্কেল, স্থিতিস্থাপকতা এবং এসকিউএল ওয়ার্কলোডের জন্য পারফরম্যান্সের জন্য বিল্ট-ইন বিতরণকৃত লেনদেন এবং অনুভূমিক রিড/রাইট স্কেলিং সহ সত্যিকারের বিশ্ব-স্কেল SQL অফার করে। যাইহোক, এখনও কিছু পরিস্থিতি রয়েছে যেখানে PostgreSQL একটি ভাল ফিট হতে পারে৷
CockroachDB এবং PostgreSQL এর মধ্যে মিল
এই দুটি প্রযুক্তি বেশ কিছুটা ওভারল্যাপ করে। প্রথম এবং সর্বাগ্রে, উভয় গর্ব:
- SQL সম্মতি
- ACID লেনদেন
- PostgreSQL তারের প্রোটোকল সামঞ্জস্য
- বিস্তৃত ক্লায়েন্ট ড্রাইভার এবং ORM সমর্থন
এই কার্যকারিতা বেশিরভাগ প্রধান পয়েন্টগুলিকে কভার করে, যার মানে পছন্দটি আরও সূক্ষ্ম সিদ্ধান্তের পয়েন্টগুলিতে নেমে আসে। শুধুমাত্র কিছু ব্যতিক্রম ছাড়া, আপনি যেকোন একটি ডাটাবেসের উপরে একটি অ্যাপ ব্যবহার করে দেখতে পারেন এবং পরে আপনার অ্যাপটি পুনরায় লেখা ছাড়াই অন্যটিতে স্থানান্তর করতে পারেন।
CockroachDB চেক আউট করতে চান, কিন্তু সিদ্ধান্ত নিন যে PostgreSQL একটি ভাল ফিট? সম্ভাবনাগুলি বেশ ভাল যে আপনি কোনও সমস্যায় পড়বেন না। আপনার কি PostgreSQL এ চলমান একটি অ্যাপ আছে, কিন্তু আপনি আরও ভালো স্কেলিং এবং ফেইলওভার খুঁজছেন? CockroachDB আরও ভাল ফিট হতে পারে।
আপনাকে সিদ্ধান্ত নিতে সাহায্য করার জন্য পার্থক্যকারীরা
সামঞ্জস্য, জটিল প্রশ্ন, স্কেল এবং নমনীয়তা আপনাকে একটি বিকল্পের পরিবর্তে অন্যটি বেছে নিতে সাহায্য করতে পারে।
স্কেল
সবচেয়ে বড় পার্থক্য হ'ল পণ্যগুলি কীভাবে স্কেলিং, প্রতিলিপি এবং উচ্চ প্রাপ্যতা (HA) পরিচালনা করে। CockroachDB বিতরণ করা লেনদেনের সাথে একটি বিশ্বব্যাপী SQL ডেটাস্টোর সরবরাহ করার জন্য গ্রাউন্ড আপ থেকে তৈরি করা হয়েছিল। প্রতিটি অঞ্চলে বা ক্লাউডে কোন ডেটা থাকার অনুমতি দেওয়া হয়েছে তার উপর সূক্ষ্ম নিয়ন্ত্রণের মাধ্যমে আপনি আপনার ডেটা ক্লাউড এবং অঞ্চল জুড়ে ছড়িয়ে দিতে পারেন৷ যদিও PostgreSQL এর সাথে কিছু একই কার্যকারিতা প্রদানের জন্য সমাধান এবং এক্সটেনশানগুলি বিদ্যমান, তবে এটি সম্পূর্ণ নয় এবং কনফিগার করার মতো সহজও নয়৷ এবং পরিচালনা করুন।
গ্লোবাল স্কেলে CockroachDB এর ফোকাস এটিকে অনেক বেশি ক্লাউড-বন্ধুত্বপূর্ণ হতে দেয়। CockroachDB অনেক ছোট, ডিসপোজেবল নোড আশা করে, তাই স্কেলিং এবং HA আপনার জন্য পর্দার আড়ালে অনায়াসে পরিচালনা করা হয়।
অন্যদিকে, PostgreSQL মাল্টি-মাস্টার, স্কেলিং, এবং HA-এর জন্য অনেকগুলি সমাধান প্রদান করে, কিন্তু বেশিরভাগ কার্যকারিতা PostgreSQL-এ অন্তর্ভুক্ত নয় এবং তৃতীয় পক্ষের এক্সটেনশনের প্রয়োজন। এছাড়াও, HA PostgreSQL স্থাপনার জন্য সেটআপ, কনফিগারেশন, এবং প্রতিদিনের ব্যবস্থাপনা একটু বেশি জটিল।
নমনীয়তা
PostgreSQL এর একটি আসল সুবিধা হল এর বহু বছরের যুদ্ধ শক্ত হয়ে যাওয়া এবং টিউনেবল এবং এক্সটেনশনের সুযোগ। PostgreSQL-এ সার্ভার কনফিগারেশনের জন্য ডকুমেন্টেশন তুলনা করুন, এবং আপনি আপনার ক্লাস্টারের জন্য বিকল্পগুলির একটি বিশাল অ্যারে এবং টিউনিং পরামিতি দেখতে পাচ্ছেন। বিচ্ছিন্নতা স্তর চান? আপনার কাছে চারটি বিকল্প আছে, যেখানে CockroachDB আপনাকে শুধুমাত্র একটি দেয়। প্রতিলিপি চান? PostgreSQL আপনাকে আটটি বিকল্প দেয়, যখন CockroachDB এটি পর্দার আড়ালে পরিচালনা করে।
PostgreSQL পণ্যটি প্রসারিত করার জন্য এক্সটেনশনের একটি বিশাল ইকোসিস্টেম অফার করে। শত শত এক্সটেনশন সর্বজনীনভাবে উপলব্ধ, এবং আপনি নিজের লিখতে পারেন। এগুলি একটি নির্দিষ্ট ব্যবহারের ক্ষেত্রে (টাইমস্কেল) জন্য পোস্টগ্রেএসকিউএল অপ্টিমাইজ করা পর্যন্ত নতুন অবজেক্টে (পোস্টজিআইএস) ক্লাস্টারিং (যেমন সিটাস) যোগ করা থেকে শুরু করে। যদিও এই নমনীয়তা অবশ্যই একটি খরচের সাথে আসে। এটি জটিলতা প্রবর্তন করতে পারে এবং আপনার উদাহরণের কর্মক্ষমতা এবং স্থায়িত্বকে প্রভাবিত করতে পারে। আপনি আপনার পরিবেশকে ভুল কনফিগার করেও শেষ করতে পারেন৷ CockroachDB পদ্ধতি জিনিসগুলিকে সহজ করে তোলে যাতে একটি ক্লাস্টার তৈরি এবং পরিচালনা করা সহজ হয়৷
সামঞ্জস্যতা
আপনার যদি সম্পূর্ণ PostgreSQL বা পূর্ণাঙ্গ SQL কনফার্মেন্সের প্রয়োজন হয়, PostgreSQL হল একটি ভাল বাজি। আপনার কাছে একটি লিগ্যাসি অ্যাপ আছে বা আপনার একটি স্ট্যান্ডার্ড CMS বা ওয়েব ফ্রেমওয়ার্কের জন্য একটি ব্যাকএন্ড স্টোরের প্রয়োজন হোক না কেন, PostgreSQL বা SQL এর কোণে একটি ভারী নির্ভরতা থাকতে পারে যা তেলাপোকা এখনও সমর্থন নাও করতে পারে। যদিও Cockroach Labs পণ্যটিতে আরও বৈশিষ্ট্য এবং কার্যকারিতা যোগ করে চলেছে, এটি এখনও PostgreSQL এর সাথে 100% সামঞ্জস্যপূর্ণ নয়৷ অন্য একটি ক্ষেত্র যেখানে আপনি একটি পার্থক্য দেখতে পাবেন তা হল CockroachDB কীভাবে ভূমিকা, ব্যবহারকারী, গোষ্ঠী এবং প্রমাণীকরণ পরিচালনা করে৷ PostgreSQLauthentication বিকল্পগুলি অত্যন্ত শক্তিশালী, এবং যদিও CockroachDB RBAC অফার করে, তবে দুটি প্রযুক্তির মধ্যে কিছু উল্লেখযোগ্য পার্থক্য রয়েছে।
আপনি সামঞ্জস্যপূর্ণ চ্যালেঞ্জগুলি কাটিয়ে উঠতে পারেন, তবে এটি শেষ পর্যন্ত আপনার অ্যাপ এবং সম্ভাব্য অসঙ্গতিগুলি সনাক্ত এবং সমাধান করার ক্ষমতার উপর নির্ভর করে৷
জটিল প্রশ্ন
একটি এলাকা যেখানে Cockroach Labs অনেক প্রচেষ্টা বিনিয়োগ করেছে তাদের খরচ-ভিত্তিক SQL ক্যোয়ারী অপ্টিমাইজারের সাথে যোগদান এবং কর্মক্ষমতা উন্নত করার ক্ষমতা। যাইহোক, যদি আপনার কাছে অত্যন্ত জটিল প্রশ্ন এবং একাধিক যোগদান, ভিউ, একত্রিতকরণ এবং অভিব্যক্তি মূল্যায়ন সহ একটি ব্যবসায়িক বুদ্ধিমত্তা বা বিশ্লেষণী কাজের চাপ থাকে, তাহলে PostgreSQL হতে পারে আরও ভাল বিকল্প।
এটি এমন একটি এলাকা যেখানে আপনি সহজেই একটি মূল্যায়ন বা ধারণার প্রমাণ দিয়ে পরীক্ষা করতে পারেন। আপনার ব্যবহারের কেস যত কাছাকাছি হবে বিশ্লেষণের প্রশ্ন এবং OLAP এর দিকে ঝুঁকবে, PostgreSQL তত ভাল বাজি হতে পারে। দ্রুত OLTP-স্টাইলের লেনদেনের মাধ্যমে, CockroachDB সবচেয়ে বেশি সাহায্য করতে পারে।
সারাংশ তুলনা
CockroachDB | PostgreSQL | |
---|---|---|
প্রাথমিক প্রকাশের বছর | 2015 | 1996 |
বর্তমান স্থিতিশীল সংস্করণ | 20.1.0 | 13 |
লাইসেন্সিং | বিজনেস সোর্স লাইসেন্স BSL মূল উপাদান। তেলাপোকা কমিউনিটি লাইসেন্স CCLenterprise বৈশিষ্ট্য PostgreSQL লাইসেন্স | PostgreSQL লাইসেন্স |
SQ:সামঞ্জস্য* | ~244 SQL:2011 বৈশিষ্ট্যের সাথে সম্পূর্ণ বা আংশিক সামঞ্জস্য | ~385 SQL:2011 বৈশিষ্ট্যের সাথে সামঞ্জস্যপূর্ণ |
বোনাস পয়েন্ট | অনলাইন স্কিমা পরিবর্তন, বিতরণ করা লেনদেন | সঞ্চিত পদ্ধতি, কার্সার, ট্রিগার, বস্তুগত দৃষ্টিভঙ্গি |
ওয়্যার প্রোটোকল | PostgreSQL তারের প্রোটোকল | PostgreSQL তারের প্রোটোকল |
ক্লায়েন্ট ড্রাইভার | PostgreSQL ওয়্যার প্রোটোকলের কারণে পরীক্ষিত বিকল্প এবং বড় ইকোসিস্টেম | অফিসিয়াল এবং সম্প্রদায়ের বৃহৎ ইকোসিস্টেম প্রদত্ত ড্রাইভার |
CMS/ফ্রেমওয়ার্ক সামঞ্জস্য | আংশিক, PostgreSQL তারের সামঞ্জস্যের মাধ্যমে | প্রধান কাঠামোর জন্য বিস্তৃত সমর্থন এবং সামঞ্জস্যতা |
প্লাগইন/এক্সটেনশন | এন্টারপ্রাইজ ফিচার প্যাক | কমিউনিটি এক্সটেনশনের বৃহৎ ইকোসিস্টেম |
প্রতিলিপি/HA | হ্যাঁ, অন্তর্নির্মিত | ওপেন সোর্স সংযোজন/এক্সটেনশনের মাধ্যমে |
মাল্টি-মাস্টার/ক্লাস্টারিং | হ্যাঁ, অন্তর্নির্মিত | ওপেন সোর্স সংযোজন/এক্সটেনশনের মাধ্যমে |
মাল্টি-ডেটাসেন্টার/জিও | হ্যাঁ, অন্তর্নির্মিত | কাস্টম বা ওপেন সোর্স সংযোজন/এক্সটেনশনের মাধ্যমে |
প্রমাণিকরণ | পাসওয়ার্ড, সার্টিফিকেট | পাসওয়ার্ড, সার্টিফিকেট, GSSAPI, SSPI, Ident, LDAP, RADIUS, PAM, BSD |
অনুমতি | ব্যবহারকারী-ভিত্তিক অনুমতি এবং RBAC | সারি এবং কলাম স্তরের অনুমতি সহ RBAC, সম্পূর্ণ SQL:2011 বিশেষাধিকার সমর্থন |
শক্তি | ক্লাউড-নেটিভ স্কেলিং, উচ্চ প্রাপ্যতা, জিও-ডিস্ট্রিবিউশন, সোজা কনফিগারেশন এবং স্থাপনা | নমনীয়তা, সুরযোগ্যতা, সামঞ্জস্যতা, এবং ইকোসিস্টেম |
দুর্বলতা | এসকিউএল সমর্থন/বৈশিষ্ট্যের বিলম্ব এবং সমৃদ্ধি | স্কেল এ জটিলতা, কর্মক্ষমতা পড়ুন |
নীচের লাইন | যখন আপনি একটি উচ্চ লেনদেনমূলক, OLTP-স্টাইলের কাজের চাপ তৈরি করছেন, বা (স্থানীয়ভাবে বা বিশ্বব্যাপী) স্কেল করার ক্ষমতা গুরুত্বপূর্ণ তখন CockroachDB বেছে নিন | আপনার কাজের চাপে যদি ভারী বিশ্লেষণমূলক প্রশ্ন থাকে বা আপনার একটি বিশাল বৈশিষ্ট্য সেট, ইকোসিস্টেম এবং সামঞ্জস্যপূর্ণ অ্যাপগুলিতে অ্যাক্সেসের প্রয়োজন হয় তবে PostgreSQL বেছে নিন |
* যেহেতু আমার জানা কোনো ডেটাস্টোর 100% সম্পূর্ণ SQL:2011 স্পেকের সাথে সঙ্গতিপূর্ণ নয়, তাই আমি শুধু দেখেছি প্রতিটি পণ্য কতটা স্পেক সমর্থন করে।
আপনার সামনে দুটি দুর্দান্ত বিকল্প রয়েছে। উভয়ই একটি আশ্চর্যজনক ডেটাস্টোর পোর্টফোলিও তৈরি করতে কনসার্টে ব্যবহার করা যেতে পারে। আপনি যদি আজ স্ক্র্যাচ থেকে তৈরি করেন এবং আপনার কাছে অত্যন্ত অনন্য বা PostgreSQL-নির্দিষ্ট প্রয়োজন এবং স্কেলিং সংক্রান্ত বিষয় না থাকে, তাহলে CockroachDBas-এ একটি আশ্চর্যজনক সুযোগ গুরুত্বের সাথে দেখুন। যাইহোক, যদি আপনি ইতিমধ্যেই জানেন যে আপনার কী প্রয়োজন এবং PostgreSQL এর বিস্তৃত নমনীয়তার উপর ফোকাস করতে চান, আমরা সেখানেও সাহায্য করতে পারি।
PostgreSQL এবং CockroachDB উভয়ই এখন উপলব্ধ। কোনটি আপনার জন্য উপযুক্ত তা খুঁজুন৷
৷উপসংহার
কোনো মন্তব্য করতে বা প্রশ্ন জিজ্ঞাসা করতে প্রতিক্রিয়া ট্যাব ব্যবহার করুন। এছাড়াও আপনিসেলস চ্যাট এ ক্লিক করতে পারেন৷ এখন চ্যাট করতে এবং কথোপকথন শুরু করতে।