🖌ابزار Apache Accumulo یک ابزار ذخیرهسازی کلید/مقدار توزیع شده و مرتب شده است که ذخیرهسازی و بازیابی دادهها به صورت پایدار و مقیاسپذیر را فراهم میکند. با استفاده از این ابزار، کاربران میتوانند مجموعه دادههای عظیم را در یک خوشه ذخیره و مدیریت کنند. Accumulo از HDFS آپاچی هدوپ برای ذخیره دادهها و از آپاچی زوکیپر برای هماهنگی استفاده میکند. بنابراین Accumulo به اجرای زوکیپر و HDFS نیاز دارد که باید قبل از پیکربندی Accumulo تنظیم شوند. در حالی که بسیاری از کاربران مستقیماً با Accumulo تعامل دارند، پروژههای منبع باز مختلفی از Accumulo به عنوان ابزار ذخیرهسازی اصلی خود استفاده میکنند.
✳️ ویژگیهای اصلی:
♦️برنامهنویسی سمت سرور: Accumulo دارای یک مکانیسم برنامهنویسی به نام Iterators است که میتواند زوجهای کلید/مقدار را در نقاط مختلف فرآیند مدیریت داده تغییر دهد.
♦️ کنترل دسترسی مبتنی بر سلول: هر زوج کلید/مقدار دارای برچسب امنیتی خاص خود است که نتایج کوئری را بر اساس مجوزهای کاربر محدود میکند.
♦️برای مقیاسپذیری طراحی شده است: Accumulo روی یک خوشه با استفاده از یک یا چند نمونه HDFS اجرا میشود. گرهها را میتوان با تغییر مقدار دادههای ذخیره شده در Accumulo اضافه یا حذف کرد.
♦️ پایدار: دارای یک کلاینت API پایدار است. هر نسخه Accumulo تستهای گستردهای را پشت سر میگذارد.
✳️ طراحی Apache Accumulo از BigTable گوگل الهام گرفته شده است. Accumulo یک دیتامدل غنیتر از ذخیرهسازی ساده کلید/مقدار ارائه میکند، اما یک پایگاه داده کاملاً رابطهای نیست. دادهها به صورت زوج کلید/مقدار نمایش داده میشوند که در آن کلید و مقدار از عناصر مختلفی تشکیل میشوند. همه عناصر کلید و مقدار، به جز Timestamp که به صورت long است، بهعنوان آرایههای بایتی نشان داده میشوند.
📍یک نمونه از Accumulo شامل تعداد زیادی TabletServer، یک فرآیند زبالهروبی، یک سرور مدیر و تعداد زیادی کلاینت است.
♦️ تبلت سرور: زیرمجموعهای از تمام تبلتها (پارتیشنهایی از جداول) را مدیریت میکند.
♦️زباله روب (garbage collector): فرآیندهای Accumulo فایلهای ذخیره شده در HDFS را به اشتراک خواهند گذاشت. در فرآیند زبالهروبی، به صورت دورهای، فایلهایی که دیگر توسط هیچ فرآیندی مورد نیاز نمیباشند، شناسایی و حذف میشوند.
♦️سرور مدیر: مدیریت Accumulo مسئول تشخیص و پاسخگویی در صورت خرابی تبلت سرور است. با اختصاص دقیق تبلتها و دستور دادن به تبلت سرورها برای کاهش بار تبلتها در صورت لزوم، این سرور سعی میکند بار را در سراسر تبلت سرور متعادل کند.
♦️ردیاب: فرآیند Accumulo Tracer از API توزیع شده ارائه شده توسط Accumulo پشتیبانی میکند. به طور مثال اطلاعات زمانبندی را در جدول Accumulo مشخص برای ارجاعات بعدی مینویسد.
♦️پایش: پایش در Accumulo یک برنامه تحت وب است که اطلاعات زیادی در مورد وضعیت یک نمونه ارائه میدهد. این برنامه نمودارها و جداولی را نشان میدهد که حاوی اطلاعاتی در مورد نرخ خواندن/نوشتن، نرخ عدم دسترسی به حافظه و غیره است.
♦️کلاینت: Accumulo دارای یک کتابخانه کلاینت است که میتواند برای نوشتن اپلیکیشنهایی که دادهها را در/از Accumulo مینویسند و میخوانند استفاده شود.
✳️از نقطه نظر مدیریت دادهها، Accumulo دادهها را در جداول ذخیره میکند که این جداول به تبلتها تقسیم میشوند. تبلتها بر روی مرزهای ردیف تقسیمبندی میشوند به طوری که تمام ستونها و مقادیر یک ردیف خاص با هم در یک تبلت قرار میگیرند. سرور مدیر هر بار تبلتها را به یک تبلت سرور اختصاص میدهد. این کار تراکنشهای سطح ردیف را قادر میسازد بدون استفاده از قفل توزیع شده یا مکانیزمهای سنکرونسازی پیچیده دیگر انجام شوند. هنگامی که کلاینتها دادهها را وارد میکنند و کوئری میزنند و همچنین هنگامی که ماشینها به خوشه اضافه و یا از آن حذف میشوند، این سرور، تبلتها را انتقال میدهد تا از در دسترس بودن آنها و تعادل بار در کل خوشه اطمینان حاصل شود.
📍این ابزار را میتوانید از لینک زیر دانلود فرمایید:
🔗 https://accumulo.apache.org/downloads/