بخشبندی در پایگاه داده : در این مبحث در مورد قسمتبند یا بخش بندی (partitioning) کسندرا صحبت خواهیم کرد. قبل از شروع به توضیحات، اشاره ای به مبحث بخش بندی خواهیم نمود. به طور خلاصه وظیفه بخش بند، تقسیم داده ها به صورت تقریبا مساوی در کامپیوترهای متفاوت در یک خوشه است به نحوی که کم هزینه ترین روش خواندن و نوشتن بر روی داده ها به صورت اتوماتیک انجام شود. ضمن این که اندازه بخش ها تقریبا برابر باشد. آنچه که درک آن بسیار با اهمیت است این است که ما بدانیم که بین قابلیت بخشبندی و تکرار (Replication) تفاوت های اساس وجود دارد. بخشبندی روشی برای خرد کردن داده ها به قسمت های کوچکتر برای افزایش توان جستجو در داده ها و همچنین قطعه کردن داده ها به منظور عدم نیاز به ذخیره ساز های بزرگ تر است در صورتی که Replication روشی برای ایجاد نسخه بیشتر از یک داده ی یکسان به منظور افزایش سطح دسترسی پذیری و بهبود کارایی و تقسیم بار است. گاهی از بخشبندی نیز به عنوان partitioning نیز یاد میشود.
انواع بخشبندی در پایگاه داده کاساندرا
سه نوع قسمتبند یا بخشبندی در پایگاه داده کاساندرا قابل استفاده است که معمولا انتخاب بر اساس سیاست های سازمان است. که توسط مدیرسیستم تعیین شده و بعد از تعیین کسندرا به طور خودکار آن را بدون دردسر و کار اضافی برای مدیر پایگاه داد اعمال می کند. بهتر است قبل از عملیاتی شدن کسندرا بخشبند مطلوب مشخص شده باشد.
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
آدرس کانال تلگرام سایت بیگ دیتا:
آدرس کانال سروش ما:
https://sapp.ir/bigdata_channel
جهت دیدن سرفصل های دوره های آموزشی بر روی اینجا کلیک کنید.