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

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

بخشبندی
Sharding

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

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

žMurmur3Partitioner

žRandom Partitioner

Byte Ordered Partitioner

بخشبندی در پایگاه داده کاساندرا
بخشبندی در کسندرا
  • قسمت­بند žMurmur3 : žقسمت­بند پيش­فرض کسندرا بوده و بهترين و سریع ترین گزينه محسوب مي ­شود. اين روش از هش مخصوصی بدون قالبت رمز نگاری براي تعيين گرهي که يک سطر خاص را بايد ذخيره کند استفاده مي­کند. این بخش بند سریع ترین بخش بند در بین بقیه است.ž اين روش از الگوریتم žMurmur3 براي تعيين گره اي که يک سطر خاص را بايد ذخيره کند استفاده مي­ کند و 3 žتا5  برابر کارایی را نسبت به نسخه های قبلی افزایش می دهد.
  • با استفاده از الگوريتم Murmur، مقدار MurmurHash براي کليد سطر ايجاد مي­شود (مقادير ممکن براي هش بين -2^63 و +2^63-1 است). گره اي اين سطر را ذخيره خواهد کرد که مقدار اين هش کمتر از مقدار رشته ­اش باشد.
بخشبندی در پایگاه داده کاساندرا
قسمت بند

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

با استفاده از الگوريتم MD5 ، مقدار هش MD5 براي کليد سطر ايجاد مي­شود. (مقادير ممکن براي مقادير هش بين 0 و 127^2 است). گرهي اين سطر را ذخيره خواهد کرد که مقدار اين هش کمتر از مقدار رشته­اش باشد.

  • قسمت­بند ترتيبي : اين قسمت­بند به دلايل مختلف از جمله موازنگي بار توصيه نمي­شود. مزيت اين قسمت­بند اينست که براي مثال مي­توان سطرهايي را که کليد آن­ها بين اسم “حامد” و “حیدر” است را براحتي پيدا کرد. به عبارتي جستجوي محدوده در آن امکان­پذير و سريع خواهد بود. انواع مختلف آن به صورت زير است:
    •   ByteOrderedPartitioner: سطرها به ترتيب بايت­ها (نمايش هگزادسيمال) ذخيره و قسمت­بندي خواهند شد. براي مثال A معادل با 41 خواهد بود.
    •    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

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

بازدیدها: 1751

همچنین ببینید

پايگاه داده کاساندرا

پايگاه داده کاساندرا، روش نصب و بررسی نقاط ضعف و قوت

پايگاه داده کاساندرا یک سیستم انبار‌ه داده ی توزیع‌شده و کاملاً متن باز و رایگان …

مدل داده ای ستون گرا در کسندرا

مدل داده ای ستون گرا و تعریف شِمای مبتنی بر ستون در کاساندرا

پایگاه داده های ستون گرا به طور بالقوه می توانند به عنوان یک انبار داده …

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