بخشبندی داده یا partitioning در پایگاه داده غیر رابطه ای کاساندرا

بخشبندی در پایگاه داده : در این مبحث در مورد قسمت­بند یا بخش بندی (partitioning) کسندرا صحبت خواهیم کرد. قبل از شروع به توضیحات، اشاره ای به مبحث بخش بندی خواهیم نمود. به طور خلاصه وظیفه بخش بند، تقسیم داده ها به صورت تقریبا مساوی در کامپیوترهای متفاوت در یک خوشه است به نحوی که کم هزینه ترین روش خواندن و نوشتن بر روی داده ها به صورت اتوماتیک انجام شود. ضمن این که اندازه بخش ها تقریبا برابر باشد. آنچه که درک آن بسیار با اهمیت است این است که ما بدانیم که بین قابلیت بخشبندی و تکرار (Replication) تفاوت های اساس وجود دارد. بخشبندی روشی برای خرد کردن داده ها به قسمت های کوچکتر برای افزایش توان جستجو در داده ها و همچنین قطعه کردن داده ها به منظور  عدم نیاز به ذخیره ساز های بزرگ تر است در صورتی که Replication روشی برای ایجاد نسخه بیشتر از یک داده ی یکسان به منظور افزایش سطح دسترسی پذیری و بهبود کارایی و تقسیم بار است. گاهی از بخشبندی نیز به عنوان partitioning نیز یاد میشود.

بخشبندی
Sharding

انواع بخشبندی در پایگاه داده کاساندرا

سه نوع قسمت­بند یا بخشبندی در پایگاه داده کاساندرا قابل استفاده است که معمولا انتخاب بر اساس سیاست های سازمان است. که توسط مدیرسیستم تعیین شده و بعد از تعیین کسندرا به طور خودکار آن را بدون دردسر و کار اضافی برای مدیر پایگاه داد اعمال می کند. بهتر است قبل از عملیاتی شدن کسندرا بخشبند مطلوب مشخص شده باشد.

žMurmur3Partitioner

žRandom Partitioner

Byte Ordered Partitioner

بخشبندی در پایگاه داده کاساندرا
بخشبندی در کسندرا
  • قسمت­بند žMurmur3 : žقسمت­بند پیش­فرض کسندرا بوده و بهترین و سریع ترین گزینه محسوب می ­شود. این روش از هش مخصوصی بدون قالبت رمز نگاری برای تعیین گرهی که یک سطر خاص را باید ذخیره کند استفاده می­کند. این بخش بند سریع ترین بخش بند در بین بقیه است.ž این روش از الگوریتم žMurmur3 برای تعیین گره ای که یک سطر خاص را باید ذخیره کند استفاده می­ کند و ۳ žتا۵  برابر کارایی را نسبت به نسخه های قبلی افزایش می دهد.
  • با استفاده از الگوریتم Murmur، مقدار MurmurHash برای کلید سطر ایجاد می­شود (مقادیر ممکن برای هش بین -۲^۶۳ و +۲^۶۳-۱ است). گره ای این سطر را ذخیره خواهد کرد که مقدار این هش کمتر از مقدار رشته ­اش باشد.
بخشبندی در پایگاه داده کاساندرا
قسمت بند

  • قسمت­بند تصادفی : قسمت­بند پیش­فرض در نسخه های قدیمی بوده و بهترین گزینه در نسخه های سری ۲ کسندرا محسوب می­شود. این روش هم از هش برای تعیین گره ای که یک سطر خاص را باید ذخیره کند استفاده می­ کند.

با استفاده از الگوریتم MD5 ، مقدار هش MD5 برای کلید سطر ایجاد می­شود. (مقادیر ممکن برای مقادیر هش بین ۰ و ۱۲۷^۲ است). گرهی این سطر را ذخیره خواهد کرد که مقدار این هش کمتر از مقدار رشته­اش باشد.

  • قسمت­بند ترتیبی : این قسمت­بند به دلایل مختلف از جمله موازنگی بار توصیه نمی­شود. مزیت این قسمت­بند اینست که برای مثال می­توان سطرهایی را که کلید آن­ها بین اسم “حامد” و “حیدر” است را براحتی پیدا کرد. به عبارتی جستجوی محدوده در آن امکان­پذیر و سریع خواهد بود. انواع مختلف آن به صورت زیر است:
    •   ByteOrderedPartitioner: سطرها به ترتیب بایت­ها (نمایش هگزادسیمال) ذخیره و قسمت­بندی خواهند شد. برای مثال A معادل با ۴۱ خواهد بود.
    •    OrderPreservingPartitioner: سطرها براساس مقدار کد UTF8شان مرتب و قسمت­بندی خواهند شد.
    •   CollatingOrderPreservingPartitioner: سطرها براساس ایالات متحده انگلیسی محلی! ذخیره خواهند شد.

منابع:

http://www.datastax.com/docs/0.8/cluster_architecture/replication

https://docs.datastax.com/en/cassandra/3.0/cassandra/…/archPartitionerAbout.html

آدرس کانال تلگرام سایت بیگ دیتا:

t.me/bigdata_channel

آدرس کانال سروش ما:
https://sapp.ir/bigdata_channel

جهت دیدن سرفصل های دوره های آموزشی بر روی اینجا کلیک کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *