এইচবেস আর্কিটেকচার: এইচবিজে ডেটা মডেল এবং এইচবেস রিড / রাইটিং মেকানিজম

এইচবিজে আর্কিটেকচারের এই ব্লগটি এইচবেস ডেটা মডেলটি ব্যাখ্যা করে এবং এইচবিজে আর্কিটেকচারের অন্তর্দৃষ্টি দেয়। এটি এইচবেসে বিভিন্ন প্রক্রিয়াও ব্যাখ্যা করে।

HBase আর্কিটেকচার

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

এই HBase আর্কিটেকচার ব্লগে আমি আপনাকে যে গুরুত্বপূর্ণ বিষয়গুলি গ্রহণ করব তা হ'ল:





আসুন প্রথমে এইচবেসের ডেটা মডেলটি বুঝতে পারি। এটি দ্রুত পড়তে / লিখতে এবং অনুসন্ধানে HBase কে সহায়তা করে।



এইচবেস আর্কিটেকচার: এইচবেস ডেটা মডেল

যেমনটি আমরা জানি, এইচবেস একটি কলাম-ভিত্তিক নোএসকিউএল ডাটাবেস। যদিও এটি কোনও সম্পর্কযুক্ত ডাটাবেসের সাথে সাদৃশ্যযুক্ত যা সারি এবং কলামগুলিকে ধারণ করে, তবে এটি কোনও সম্পর্কযুক্ত ডাটাবেস নয়। সম্পর্কিত ডেটাবেসগুলি সারিবদ্ধ এবং HBase কলাম-ভিত্তিক হয় is সুতরাং, আসুন প্রথমে কলাম-ওরিয়েন্টেড এবং সারি-ভিত্তিক ডাটাবেসের মধ্যে পার্থক্যটি বুঝতে পারি:

সারি-ভিত্তিক বনাম কলাম-ওরিয়েন্টেড ডাটাবেসগুলি:

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

এটি আরও ভালভাবে বুঝতে, আসুন আমরা একটি উদাহরণ নিই এবং নীচের টেবিলটি বিবেচনা করি।



সারণী - এইচবেস আর্কিটেকচার - এডুরেকা

যদি এই টেবিলটি একটি সারি-ভিত্তিক ডাটাবেসে সঞ্চয় করা থাকে। এটি নিচের মত রেকর্ড সংরক্ষণ করবে:

এক,পল ওয়াকার,আমাদের,231,সাহসী,

2, ভিন ডিজেল,ব্রাজিল,520,মুস্তং

সারি-ভিত্তিক ডাটাবেসে ডেটা সারি বা টিপলসের ভিত্তিতে সংরক্ষণ করা হয় যেমন আপনি উপরে দেখতে পারেন।

কলাম-ভিত্তিক ডাটাবেসগুলি এই ডেটা সংরক্ষণ করে:

এক,, পল ওয়াকার,ভিন ডিজেল, আমাদের,ব্রাজিল, 231,520, সাহসী,মুস্তং

কলাম-ভিত্তিক ডাটাবেসে, সমস্ত কলাম মান একই সাথে সংরক্ষণ করা হয় যেমন প্রথম কলাম মানগুলি একসাথে সংরক্ষণ করা হবে, তারপরে দ্বিতীয় কলামের মানগুলি একসাথে সংরক্ষণ করা হবে এবং অন্যান্য কলামগুলির ডেটা একইভাবে সংরক্ষণ করা হবে।

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

এইচবেস টেবিলগুলির নীচের চিত্রগুলিতে নিম্নলিখিত উপাদান রয়েছে:

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

আরও সহজ এবং বোধগম্য উপায়ে, আমরা বলতে পারি এইচবিতে গঠিত:

  • টেবিলের সেট
  • কলাম পরিবার এবং সারি সহ প্রতিটি টেবিল
  • সারি কী এইচবেসে প্রাথমিক কী হিসাবে কাজ করে।
  • HBase টেবিলগুলিতে যে কোনও অ্যাক্সেস এই প্রাথমিক কীটি ব্যবহার করে
  • এইচবেসে উপস্থিত প্রতিটি কলামের যোগ্যতা কোষে থাকা অবজেক্টের সাথে সম্পর্কিত বৈশিষ্ট্যকে নির্দেশ করে।

এখন আপনি এইচবিজে ডেটা মডেল সম্পর্কে জানার পরে আসুন আমরা দেখি কীভাবে এই ডেটা মডেলটি এইচবেস আর্কিটেকচারের সাথে মিল রেখে বড় স্টোরেজ এবং দ্রুত প্রসেসিংয়ের জন্য উপযুক্ত করে তোলে।

এইচবেস আর্কিটেকচার: এইচবেস আর্কিটেকচারের উপাদান

এইচবাসে তিনটি প্রধান উপাদান রয়েছে, যেমন, এইচএমস্টার সার্ভার , HBase অঞ্চল সার্ভার, অঞ্চলসমূহ এবং চিড়িয়াখানা

নীচের চিত্রটি এইচবেজ আর্কিটেকচারের শ্রেণিবিন্যাস ব্যাখ্যা করে। আমরা তাদের প্রতিটি সম্পর্কে স্বতন্ত্রভাবে কথা বলব।


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

HBase আর্কিটেকচার: অঞ্চল

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

অনেক অঞ্চল ক অঞ্চল সার্ভার , যা সেই অঞ্চলগুলির সেটে পরিচালনা পরিচালনা, সম্পাদন সম্পাদন ও পাঠ্য রচনার জন্য দায়ী।

সুতরাং, একটি সহজ উপায়ে উপসংহার:

  • একটি টেবিলকে বিভিন্ন অঞ্চলে বিভক্ত করা যায়। একটি অঞ্চল হ'ল একটি স্টার্ট কী এবং শেষ কীটির মধ্যে ডেটা সঞ্চয় করে রাখার সারিগুলির সাজানো রেঞ্জ range
  • একটি অঞ্চলে 256MB ডিফল্ট আকার থাকে যা প্রয়োজন অনুসারে কনফিগার করা যায়।
  • অঞ্চলগুলির একটি দল একটি অঞ্চল সার্ভার দ্বারা ক্লায়েন্টদের দেওয়া হয়।
  • একটি অঞ্চল সার্ভার ক্লায়েন্টকে প্রায় 1000 অঞ্চল পরিবেশন করতে পারে।

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

HBase আর্কিটেকচার: এইচএমাস্টার

নীচের চিত্রের মতোই, আপনি এইচএমাস্টারটি দেখতে পাবেন অঞ্চল সার্ভারের একটি সংগ্রহ যা ডোনোডে থাকে। আসুন আমরা বুঝতে পারি যে এইচএমস্টার এটি কীভাবে করে।

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

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

HBase আর্কিটেকচার: চিড়িয়াখানা - সমন্বয়কারী

এই নীচের চিত্রটি চিড়িয়াখানার সমন্বয় প্রক্রিয়াটি ব্যাখ্যা করে।

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

আমি .মেটা সার্ভার সম্পর্কে কথা বলার আগে প্রথমে আপনাকে .META সার্ভারটি কী তা বুঝিয়ে বলি? সুতরাং, আপনি সহজেই ZooKeeper এবং .META সার্ভারের কাজ একসাথে সম্পর্কিত করতে পারেন। পরে, যখন আমি আপনাকে এই ব্লগে এইচবিএস অনুসন্ধানের পদ্ধতিটি ব্যাখ্যা করব, তখন আমি ব্যাখ্যা করব যে এই দুটি কীভাবে সহযোগিতা করে কাজ করে।

HBase আর্কিটেকচার: মেটা টেবিল

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

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

HBase আর্কিটেকচার: অঞ্চল সার্ভারের উপাদান

এই নীচের চিত্রটি একটি অঞ্চল সার্ভারের উপাদানগুলি দেখায়। এখন, আমি তাদের আলাদাভাবে আলোচনা করব।

একটি অঞ্চল সার্ভার শীর্ষে চলমান বিভিন্ন অঞ্চল বজায় রাখে । একটি অঞ্চল সার্ভারের উপাদানগুলি হ'ল:

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

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

HBase আর্কিটেকচার: কীভাবে অনুসন্ধান এইচবেসে শুরু হয়?

আপনি জানেন যে, চিড়িয়াখানাটি মেটা টেবিলের অবস্থান সঞ্চয় করে। যখনই কোনও ক্লায়েন্ট কোনও পড়ার সাথে যোগাযোগ করে বা HBase- র কাছে অনুরোধগুলি লিখে নিম্নলিখিত ক্রিয়াকলাপ ঘটে:

  1. ক্লায়েন্টটি চিড়িয়াখানা থেকে মেটা টেবিলের অবস্থান পুনরুদ্ধার করে।
  2. ক্লায়েন্ট তারপরে অ্যাক্সেসের জন্য মেটা টেবিল থেকে সংশ্লিষ্ট সারি কী সম্পর্কিত অঞ্চল সার্ভারের অবস্থানের জন্য অনুরোধ করে। ক্লায়েন্ট এই তথ্যটি মেটা সারণীর অবস্থানের সাথে ক্যাশে করে।
  3. তারপরে এটি সংশ্লিষ্ট অঞ্চল সার্ভারের কাছে অনুরোধ করে সারি অবস্থানটি পাবেন।

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

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

HBase আর্কিটেকচার: এইচবাস লিখুন পদ্ধতি

এই নীচের চিত্রটি এইচবিজে লেখার প্রক্রিয়াটি ব্যাখ্যা করে।

লেখার প্রক্রিয়াটি নিম্নলিখিত প্রক্রিয়াটি ক্রমানুসারে চলে আসে (উপরের চিত্রটি দেখুন):

ধাপ 1: যখনই ক্লায়েন্টের লেখার অনুরোধ থাকবে তখন ক্লায়েন্টটি ওয়ালকে ডেটা লিখবে (সামনের লগটি লিখুন)।

  • সম্পাদনাগুলি তারপরে ওয়াল ফাইলের শেষে যুক্ত করা হয়।
  • এই ওয়াল ফাইলটি প্রতিটি অঞ্চল সার্ভারে রক্ষণাবেক্ষণ করা হয় এবং অঞ্চল সার্ভার এটি ডেটা পুনরুদ্ধার করতে ব্যবহার করে যা ডিস্কে প্রতিশ্রুতিবদ্ধ নয়।

ধাপ ২: একবার ডাব্লু ওএল-তে ডেটা লেখা হয়ে গেলে এটি মেমস্টোরে অনুলিপি করা হয়।

ধাপ 3: একবার মেমোস্টোরে ডেটা স্থাপন করা হয়, তারপরে ক্লায়েন্টটি স্বীকৃতি গ্রহণ করে।

পদক্ষেপ 4: যখন মেমস্টোরের দ্বার প্রান্তে পৌঁছে যায়, তখন এটি ড্যাম্প করে বা এইচফাইলে ডেটা সরিয়ে দেয়।

এখন আসুন আমরা একটি গভীর ডুব নিই এবং বুঝতে পারি যে মেমস্টোর রচনার প্রক্রিয়ায় কীভাবে অবদান রাখে এবং এর কাজগুলি কী কী?

এইচবাস লিখুন পদ্ধতি- মেমস্টোর

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

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

HBase আর্কিটেকচার: এইচবাস লিখুন পদ্ধতি- এইচফাইল

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

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

HBase আর্কিটেকচার: মেকানিজম পড়ুন

আমাদের অনুসন্ধান পদ্ধতিতে আলোচিত হিসাবে, ক্লায়েন্টটির ক্যাশে স্মৃতিতে ক্লায়েন্টটি না থাকলে প্রথমে ক্লায়েন্টটি .META সার্ভার থেকে অঞ্চল সার্ভারের অবস্থান পুনরুদ্ধার করে। তারপরে এটি ক্রমানুসারে পদক্ষেপগুলি অনুসরণ করে:

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

ফিবোনাচি নম্বর সি ++

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

HBase আর্কিটেকচার: কমপ্যাকশন

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

  1. মাইনর কমপ্যাকশন : এইচবিজে স্বয়ংক্রিয়ভাবে ছোট এইচএফাইলগুলি তুলবে এবং উপরের চিত্রটিতে প্রদর্শিত হিসাবে এগুলি বড় এইচএফাইলগুলিতে পুনরায় পুনঃস্থাপন করবে। একে মাইনর কমপ্যাকশন বলে। এটি বড় এইচএফাইলস থেকে বড় এইচএফাইলস প্রতিশ্রুতিবদ্ধ করার জন্য মার্জ সাজানোর কাজ করে। এটি স্টোরেজ স্পেস অপ্টিমাইজেশনে সহায়তা করে।
  2. প্রধান সংযোগ: উপরের চিত্রটিতে চিত্রিত হিসাবে, মেজর সংযোগে, এইচবেস এক অঞ্চলের ছোট এইচফিলগুলি এক নতুন এইচফাইলে সংযুক্ত করে এবং পুনরায় সংযুক্ত করে। এই প্রক্রিয়াতে, একই কলাম পরিবারগুলি নতুন এইচফাইলে একসাথে স্থাপন করা হয়েছে। এটি এই প্রক্রিয়াতে মুছে ফেলা এবং মেয়াদোত্তীর্ণ কক্ষ ড্রপ করে। এটি পড়ার কর্মক্ষমতা বাড়ায়।

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

এখন আরেকটি পারফরম্যান্স অপটিমাইজেশন প্রক্রিয়া যা আমি আলোচনা করব is অঞ্চল বিভক্ত । এটি ভারসাম্য ভারসাম্যের জন্য খুব গুরুত্বপূর্ণ।

HBase আর্কিটেকচার: অঞ্চল বিভক্ত

নীচের চিত্রটি অঞ্চল বিভাজন প্রক্রিয়াটির চিত্র তুলে ধরেছে।

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

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

HBase আর্কিটেকচার: HBase ক্রাশ এবং ডেটা রিকভারি

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

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

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

আমাদের জন্য একটি প্রশ্ন আছে? দয়া করে মন্তব্য বিভাগে এটি উল্লেখ করুন এবং আমরা আপনার কাছে ফিরে আসব।