paint-brush
ক্যাসান্ড্রা: বাক্সের বাইরে উচ্চ মাত্রার ডেটাবেসদ্বারা@therealone
1,380 পড়া
1,380 পড়া

ক্যাসান্ড্রা: বাক্সের বাইরে উচ্চ মাত্রার ডেটাবেস

দ্বারা Denis Larionov9m2023/12/27
Read on Terminal Reader

অতিদীর্ঘ; পড়তে

এই নিবন্ধটি ক্যাসান্দ্রার একটি ওভারভিউ প্রদান করে, একটি অত্যন্ত মাপযোগ্য এবং বিতরণ করা প্রশস্ত-কলাম ডাটাবেস। ক্যাসান্দ্রা প্রাপ্যতা এবং পার্টিশন সহনশীলতাকে অগ্রাধিকার দেওয়ার জন্য ডিজাইন করা হয়েছে, এটি এমন অ্যাপ্লিকেশনগুলির জন্য উপযুক্ত করে যেখানে ধারাবাহিকতা একটি গুরুত্বপূর্ণ প্রয়োজন নয়। এটি উচ্চ থ্রুপুট এবং দ্রুত লেখার ক্রিয়াকলাপ সমর্থন করে।
featured image - ক্যাসান্ড্রা: বাক্সের বাইরে উচ্চ মাত্রার ডেটাবেস
Denis Larionov HackerNoon profile picture

ক্যাসান্ড্রা হল একটি বিতরণ করা, বিকেন্দ্রীকৃত, মাপযোগ্য এবং অত্যন্ত উপলব্ধ প্রশস্ত-কলাম ডাটাবেস।

CAP উপপাদ্যের পরিপ্রেক্ষিতে, Cassandra মানে AP (প্রাপ্যতা এবং পার্টিশন সহনশীলতা)।


ক্যাসান্দ্রা ভেন ডায়াগ্রাম


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


ক্যাসান্দ্রা উচ্চ থ্রুপুট এবং দ্রুত লেখার ক্রিয়াকলাপ অর্জনের জন্য ডিজাইন করা হয়েছে।


এবং এটি অবিকল ধারাবাহিকতাকে বলিদান করে যা ক্যাসান্দ্রাকে অত্যন্ত উপলব্ধ হতে দেয়।

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

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

ক্যাসান্দ্রা বিল্ডিং ব্লক

  • কলাম : একটি কলাম একটি মূল-মান জোড়াকে উপস্থাপন করে এবং ডেটা কাঠামোর মৌলিক একক হিসাবে কাজ করে।
  • সারি : প্রাথমিক কী দ্বারা উল্লেখ করা কলামগুলির জন্য একটি ধারক হিসাবে কাজ করে।
  • কীস্পেস : এক বা একাধিক ক্যাসান্ড্রা নোড জুড়ে বিস্তৃত টেবিলগুলির জন্য একটি ধারক হিসাবে কাজ করে।
  • ক্লাস্টার : ক্যাসান্দ্রার মধ্যে কী-স্পেসের একটি ধারক।
  • নোড : এমন একটি কম্পিউটার সিস্টেমকে বোঝায় যা ক্যাসান্দ্রার একটি উদাহরণ চালায়। একটি নোড একটি শারীরিক হোস্ট, ক্লাউডের একটি মেশিনের উদাহরণ বা এমনকি একটি ডকার কন্টেইনার হতে পারে।

ক্যাসান্দ্রা কীভাবে ডেটা সঞ্চয় করে

ক্যাসান্দ্রা একটি কলাম পরিবার হিসাবে ডেটা সংরক্ষণ করে। এটি একটি প্রাথমিক কী দ্বারা উল্লেখ করা কলামগুলির জন্য একটি ধারক হিসাবে কাজ করে।

হ্যা, আমি করেছিলাম!


একটি কলাম পরিবারের একটি সারি কী এবং মান সহ বেশ কয়েকটি কলাম অন্তর্ভুক্ত করে এবং সারি কী প্রাথমিক কী হিসাবে কাজ করে:

কলাম পারিবারিক সারি


একটি কলাম পরিবার প্রতিটি সারি কীর জন্য কলামের একটি আলাদা সেট সংরক্ষণ করতে পারে:

কলামের বিভিন্ন সেট সংরক্ষণ করা

ক্যাসান্ড্রা নাল মান সহ কলাম সংরক্ষণ করে না, যা উল্লেখযোগ্য সঞ্চয়স্থান সংরক্ষণ করতে সহায়তা করে

ক্যাসান্দ্রার প্রাথমিক কী কী?

প্রাথমিক কী অনন্যভাবে একটি টেবিলের প্রতিটি সারি সনাক্ত করে। ক্যাসান্দ্রায়, প্রাথমিক কীটির দুটি অংশ রয়েছে:

ক্যাসান্দ্রায় প্রাথমিক কী


ক্যাসান্দ্রায়, পার্টিশন কী নির্ধারণ করে কোন নোডটি ডেটা সঞ্চয় করে, যখন ক্লাস্টারিং কী নির্ধারণ করে কিভাবে একটি নোডের মধ্যে ডেটা সংরক্ষণ করা হয়। উদাহরণস্বরূপ, a সহ একটি টেবিল বিবেচনা করুন

PRIMARY KEY (city_id, event_id) । এই প্রাথমিক কী দুটি অংশ নিয়ে গঠিত, দুটি কলাম দ্বারা প্রতিনিধিত্ব করা হয়:


1. city_id পার্টিশন কী হিসাবে কাজ করে, যার অর্থ city_id ক্ষেত্রের উপর ভিত্তি করে ডেটা পার্টিশন করা হবে, যার ফলে একই city_id সহ সমস্ত সারি একই নোডে সংরক্ষণ করা হবে।

2. event_id ক্লাস্টারিং কী হিসাবে কাজ করে। প্রতিটি নোডের মধ্যে, ডেটা event_id কলামের উপর ভিত্তি করে সাজানো ক্রমে সংগঠিত এবং সংরক্ষণ করা হয়।

ক্লাস্টারিং কীগুলি একটি নোডের মধ্যে ডেটা সংরক্ষণের ব্যবস্থা নির্ধারণ করে। একাধিক ক্লাস্টারিং কী থাকা সম্ভব, এবং পার্টিশন কী-র পরে তালিকাভুক্ত যে কোনো কলামকে ক্লাস্টারিং কলাম হিসেবে উল্লেখ করা হয়। ক্লাস্টারিং কলামগুলি একটি নোডে ডেটা সংগঠিত করার ক্রমে সংজ্ঞায়িত করে।

ক্লাস্টারিং কী

পার্টিশন কী = "প্যারিস" সহ প্রতিটি সারি একই নোডে সংরক্ষণ করা হবে, ঘটনা_আইডি কলামের মান অনুসারে।

বাক্সের বাইরে ডেটা বিভাজন

ক্যাসান্ড্রা রিড/রাইট অপারেশনে লেটেন্সি কমাতে এবং ডাটাবেসে সঞ্চিত ডেটার পরিমাণ বড় হয়ে গেলে সিস্টেমের থ্রুপুট বাড়ানোর জন্য সামঞ্জস্যপূর্ণ হ্যাশিংয়ের উপর ভিত্তি করে ডেটা পার্টিশন প্রদান করে।


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

ক্যাসান্দ্রায় বিভাজনকারী


সমন্বয়কারী নোড

ক্যাসান্দ্রায়, প্রতিটি নোড গসিপ প্রোটোকলের মাধ্যমে অন্যান্য নোডের টোকেন অ্যাসাইনমেন্ট সম্পর্কে সচেতন, যে কোনও নোডকে অন্য কোনও নোডের পরিসরের জন্য অনুরোধগুলি পরিচালনা করার অনুমতি দেয়। অতএব, একটি ক্লায়েন্ট যেকোন নোডের সাথে সংযোগ করতে পারে পঠন বা লেখার প্রশ্ন শুরু করতে।


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

সমন্বয়কারী নোড

প্রতিলিপি

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

প্রতিলিপি


রেপ্লিকেশন ফ্যাক্টর নির্ধারণ করে কতগুলো নোড একই ডেটার কপি সংরক্ষণ করবে। 3 এর রেপ্লিকেশন ফ্যাক্টর সহ একটি ক্লাস্টারে, প্রতিটি সারি তিনটি ভিন্ন নোডে সংরক্ষণ করা হবে।

ক্যাসান্দ্রার প্রতিটি কীস্পেসের একটি ভিন্ন প্রতিলিপি ফ্যাক্টর থাকতে পারে।

ক্যাসান্দ্রায়, প্রথম প্রতিলিপিটি নোডকে বরাদ্দ করা হয় যা পার্টিশন কী-এর হ্যাশের উপর ভিত্তি করে পরিসরের মালিক। অবশিষ্ট প্রতিলিপিগুলিকে ঘড়ির কাঁটার দিকে পরপর নোডগুলিতে স্থাপন করা হয়। প্রতিলিপিগুলির জন্য কোন নোডগুলি দায়ী হবে তা নির্ধারণ করতে ক্যাসান্ড্রা দুটি প্রতিলিপি কৌশল ব্যবহার করে:

সহজ প্রতিলিপি কৌশল

এই কৌশলে, প্রথম প্রতিলিপিটি পার্টিশনারের দ্বারা নির্ধারিত একটি নোডে স্থাপন করা হয় এবং পরবর্তী প্রতিলিপিগুলি ঘড়ির কাঁটার দিকে পরবর্তী নোডগুলিতে স্থাপন করা হয়।

সহজ প্রতিলিপি কৌশল

এই প্রতিলিপি কৌশল শুধুমাত্র একটি একক ডেটা সেন্টার ক্লাস্টারের জন্য প্রযোজ্য।

নেটওয়ার্ক টপোলজি কৌশল

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

নেটওয়ার্ক টপোলজি কৌশল

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

কখন ক্যাসান্দ্রা ব্যবহার করবেন

ক্যাসান্ড্রা এমন অ্যাপ্লিকেশনগুলিতে দক্ষতা অর্জন করে যেগুলির জন্য প্রচুর পরিমাণে ডেটা পরিচালনা করা প্রয়োজন এবং সামঞ্জস্যের চেয়ে ডেটা প্রাপ্যতাকে অগ্রাধিকার দেয়৷ এটি এর জন্য উপযুক্ত :


1. ইন্টারনেট অফ থিংস (IoT) অ্যাপ্লিকেশন : IoT পরিবেশের জন্য ক্যাসান্ড্রা একটি আদর্শ পছন্দ, কারণ এটি ডিভাইস এবং সেন্সর দ্বারা উৎপন্ন বিপুল পরিমাণ ডেটা পরিচালনা করতে পারে। এর বিতরণকৃত আর্কিটেকচার ভৌগলিকভাবে বিচ্ছুরিত, বৃহৎ আকারের ডেটা পরিচালনা করতে সক্ষম করে।


2. টাইম-সিরিজ ডেটা : মেট্রিক্স, মনিটরিং সিস্টেম এবং টেলিমেট্রি ডেটার মতো টাইম-সিরিজ ডেটা নিয়ে কাজ করে এমন অ্যাপ্লিকেশনগুলি ক্যাসান্দ্রার দক্ষ লেখার ক্রিয়াকলাপ এবং অনুভূমিক স্কেলেবিলিটি থেকে উপকৃত হয়। টাইম-স্ট্যাম্পড ডেটার বিস্তৃত ভলিউম সংরক্ষণ এবং পরিচালনার জন্য এই ক্ষমতাগুলি অত্যন্ত গুরুত্বপূর্ণ।


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


4. রিয়েল-টাইম বিগ ডেটা অ্যানালিটিক্স : ক্যাসান্ড্রা বড় ডেটার রিয়েল-টাইম প্রক্রিয়াকরণকে সমর্থন করে, এটিকে বড় ডেটাসেটগুলি থেকে অবিলম্বে অন্তর্দৃষ্টি প্রয়োজন এমন অ্যাপ্লিকেশনগুলির জন্য একটি মূল্যবান পছন্দ করে তোলে৷ উদাহরণের মধ্যে সুপারিশ ইঞ্জিন এবং জালিয়াতি সনাক্তকরণ সিস্টেম অন্তর্ভুক্ত।


5. ডিস্ট্রিবিউটেড ডাটা ওয়ারহাউস : বড়, বিতরণ করা ডেটাসেট সহ এন্টারপ্রাইজগুলি ডেটা গুদাম সমাধান হিসাবে ক্যাসান্দ্রাকে লিভারেজ করতে পারে। একাধিক ডেটা সেন্টার জুড়ে ডেটা প্রতিলিপি করার ক্ষমতা উচ্চ প্রাপ্যতা এবং দুর্যোগ পুনরুদ্ধার নিশ্চিত করে।


6. মেসেজিং সিস্টেম : ক্যাসান্দ্রার উচ্চ লেখা এবং পড়ার থ্রুপুট এটিকে মেসেজিং সিস্টেমগুলির জন্য উপযুক্ত করে তোলে যা উচ্চ ডেটা ভলিউম পরিচালনা করে, যেমন ইভেন্ট লগিং, অডিট ট্রেল বা বার্তা সারি।


7. ব্যক্তিগতকরণ এবং বিষয়বস্তু পরিচালন ব্যবস্থা : অ্যাপ্লিকেশনগুলির জন্য স্কেলে ব্যক্তিগতকৃত সামগ্রী বিতরণের প্রয়োজন, যেমন বিষয়বস্তু ব্যবস্থাপনা সিস্টেম, একই সাথে বিপুল সংখ্যক ব্যবহারকারীর কাছে কাস্টমাইজ করা সামগ্রী সরবরাহ করার ক্ষেত্রে ক্যাসান্দ্রার গতি এবং মাপযোগ্যতা থেকে উপকৃত হয়৷


8. ভৌগলিকভাবে বিতরণ করা অ্যাপ্লিকেশন : একাধিক ডেটা সেন্টারের জন্য ক্যাসান্দ্রার সমর্থন এটিকে ভৌগলিকভাবে বিতরণ করা ডেটার প্রয়োজন এমন অ্যাপ্লিকেশনগুলির জন্য একটি চমৎকার পছন্দ করে তোলে। এটি বিভিন্ন অঞ্চলে কম লেটেন্সি ডেটা অ্যাক্সেস নিশ্চিত করে এবং উচ্চ স্থিতিস্থাপকতা প্রদান করে।

কখন ক্যাসান্দ্রা ব্যবহার করবেন না

যদিও Apache Cassandra শক্তিশালী এবং মাপযোগ্য, এটি প্রতিটি অ্যাপ্লিকেশন বা ব্যবহারের ক্ষেত্রে উপযুক্ত নাও হতে পারে। এটি লেনদেন-ভারী অ্যাপ্লিকেশন, জটিল ক্যোয়ারী এবং দৃঢ় সামঞ্জস্য বা দ্রুত স্কিমা পরিবর্তনের প্রয়োজন এমন পরিস্থিতিগুলির জন্য কম উপযুক্ত। ঐতিহ্যগত রিলেশনাল ডাটাবেস ম্যানেজমেন্ট সিস্টেম (RDBMS) বা অন্যান্য NoSQL সমাধানগুলি এই ধরনের ক্ষেত্রে আরও উপযুক্ত হতে পারে। এখানে বেশ কয়েকটি পরিস্থিতি রয়েছে যেখানে ক্যাসান্দ্রা সর্বোত্তম পছন্দ নাও হতে পারে :


  1. ছোট আকারের প্রকল্প : ক্যাসান্ড্রার জটিলতা এবং সম্পদের প্রয়োজনীয়তাগুলি সীমিত ডেটাসেট সহ ছোট আকারের প্রকল্প বা অ্যাপ্লিকেশনগুলির জন্য অত্যধিক হতে পারে। সহজ ডাটাবেস সমাধানগুলি আরও সাশ্রয়ী এবং পরিচালনাযোগ্য বিকল্প অফার করতে পারে।


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


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


  4. দৃঢ় সামঞ্জস্যের প্রয়োজনীয়তার সাথে ডেটা : ক্যাসান্ড্রা চূড়ান্ত সঙ্গতি প্রদান করে, যা প্রতিটি পঠন এবং লেখার অপারেশনের জন্য দৃঢ় সামঞ্জস্যের প্রয়োজন হয় এমন ক্ষেত্রে ব্যবহারের জন্য উপযুক্ত নাও হতে পারে।


  5. একটি একক ক্লাস্টারে লো-ল্যাটেন্সি পড়া এবং লেখা : যদিও ক্যাসান্ড্রা মাল্টি-নোড বিতরণ করা পরিবেশে ভাল পারফরম্যান্স করে, এটি একক-নোড বা ছোট ক্লাস্টার স্থাপনার জন্য সর্বোত্তম পছন্দ নাও হতে পারে যার জন্য কম লেটেন্সি পড়া এবং লেখার প্রয়োজন।


  6. ব্লব স্টোরেজ : ক্যাসান্দ্রা বড় বাইনারি বস্তু (ব্লব) যেমন ছবি বা ভিডিও সংরক্ষণের জন্য অপ্টিমাইজ করা হয় না। অন্যান্য স্টোরেজ সমাধানগুলি বড় ব্লবগুলিকে দক্ষতার সাথে পরিচালনা করার জন্য আরও উপযুক্ত।


  7. অ্যাড-হক কোয়েরি করার জন্য প্রয়োজনীয় অ্যাপ্লিকেশানগুলি : সম্পূর্ণ SQL ডাটাবেসের তুলনায় ক্যাসান্দ্রার ক্যোয়ারী ক্ষমতা সীমিত। এটি এমন অ্যাপ্লিকেশনগুলির জন্য উপযুক্ত নয় যেগুলি অ্যাড-হক অনুসন্ধান এবং প্রতিবেদনের উপর প্রচুরভাবে নির্ভর করে৷

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


  8. দ্রুত স্কিমা বিবর্তন : যদি আপনার অ্যাপ্লিকেশনের জন্য ডাটাবেস স্কিমাতে ঘন ঘন পরিবর্তনের প্রয়োজন হয়, তাহলে ক্যাসান্দ্রার স্কিমা ব্যবস্থাপনা প্রথাগত RDBMS সিস্টেম বা অন্যান্য NoSQL সমাধানের তুলনায় কম নমনীয় হতে পারে।


  9. ডেটা ওয়্যারহাউস অ্যাপ্লিকেশনগুলি যা জটিল প্রশ্ন, যোগদান এবং ঐতিহাসিক ডেটা বিশ্লেষণ জড়িত : যদিও ক্যাসান্ড্রা লেখা-ভারী কাজের চাপ এবং রিয়েল-টাইম ডেটা অ্যাক্সেসের জন্য উপযুক্ত, এটি জটিল প্রশ্নের প্রয়োজনের ডেটা গুদামজাতকরণ পরিস্থিতিগুলির জন্য সবচেয়ে উপযুক্ত পছন্দ নাও হতে পারে, যোগদান, এবং ঐতিহাসিক তথ্য বিশ্লেষণ.

সারসংক্ষেপ

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


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


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


ক্যাসান্ড্রা উচ্চ প্রাপ্যতার জন্য প্রতিলিপি প্রদান করে। ডেটার প্রতিলিপিগুলি একাধিক নোডে সংরক্ষণ করা হয়, এটি নিশ্চিত করে যে কোনও নোড অনুপলব্ধ হলে প্রতিলিপি দ্বারা প্রশ্নগুলি পরিচালনা করা যেতে পারে। প্রতিলিপির কারণ এবং কৌশলগুলি প্রতিলিপিগুলির সংখ্যা এবং তাদের জন্য দায়ী নোডগুলি নির্ধারণ করে।


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


সামগ্রিকভাবে, ক্যাসান্দ্রা অত্যন্ত স্কেলযোগ্য অ্যাপ্লিকেশনগুলির জন্য একটি শক্তিশালী ডাটাবেস সমাধান, বিশেষ করে যেগুলি শক্তিশালী সামঞ্জস্যের চেয়ে প্রাপ্যতা এবং পার্টিশন সহনশীলতাকে অগ্রাধিকার দেয়।

ক্যাসান্দ্রার বেশ কয়েকটি আকর্ষণীয় দিক রয়েছে যা আমি আমার পরবর্তী নিবন্ধে কভার করব। আমাকে সাবস্ক্রাইব করুন যাতে আপনি এটি মিস করবেন না!

চিয়ার্স!