Apache HBase یک پایگاه داده توزیعشده، بدونساختار و متنباز است که برای ذخیرهسازی دادههای کلان طراحی شده است. این سیستم امکان دسترسی تصادفی، کاملاً منسجم و بلادرنگ به پتابایتها داده را فراهم میکند و برای مدیریت مجموعههای بزرگ و پراکنده داده بسیار مؤثر است.
HBase بهطور یکپارچه با Apache Hadoop و اکوسیستم Hadoop ادغام میشود و بر روی سیستم فایل توزیعشده (HDFS) از Hadoop یا Amazon S3 با استفاده از سیستم فایل Amazon Elastic MapReduce (EMRFS) اجرا میشود. HBase بهعنوان ورودی و خروجی مستقیم برای چارچوب Apache MapReduce در Hadoop عمل میکند و با Apache Phoenix همکاری میکند تا امکان اجرای پرسوجوهای مشابه SQL بر روی جداول HBase فراهم شود.
HBase چگونه کار میکند؟
HBase یک پایگاه داده غیررابطهای و ستونی است. به این معنا که دادهها در ستونهای فردی ذخیره میشوند و با یک کلید ردیف منحصر به فرد ایندکس میشوند. این معماری امکان بازیابی سریع ردیفها و ستونهای فردی و اسکن مؤثر بر روی ستونهای فردی در یک جدول را فراهم میکند. دادهها و درخواستها در تمامی سرورهای یک خوشه HBase توزیع میشوند که به شما این امکان را میدهد که در عرض میلیثانیه نتایج را بر روی پتابایتها داده جستجو کنید. HBase بهطور مؤثر برای ذخیرهسازی دادههای غیررابطهای استفاده میشود که از طریق API HBase قابل دسترسی است. Apache Phoenix معمولاً بهعنوان لایه SQL بر روی HBase استفاده میشود که به شما این امکان را میدهد که از سینتکس آشنای SQL برای درج، حذف و پرسوجو از دادههای ذخیرهشده در HBase استفاده کنید.
مزایای HBase چیست؟
مقیاسپذیری
HBase برای مدیریت مقیاسپذیری در هزاران سرور و دسترسی به پتابایتها داده طراحی شده است. با انعطافپذیری Amazon EC2 و مقیاسپذیری Amazon S3 ،HBase قادر است بهطور آنلاین به مجموعههای داده بزرگ دسترسی داشته باشد.
سرعت
HBase دسترسی تصادفی با تأخیر کم به پتابایتها داده را با توزیع درخواستها از برنامهها در یک کلاستر میزبان فراهم میکند. هر میزبان به دادهها در HDFS و S3 دسترسی دارد و درخواستهای خواندن و نوشتن را در میلیثانیه پاسخ میدهد.
تحمل خطا
HBase دادههای ذخیرهشده در جداول را در بین چندین میزبان در کلاستر تقسیم میکند و بهگونهای ساخته شده است که در برابر خرابیهای فردی میزبانها مقاومت کند. زیرا دادهها بر روی HDFS یا S3 ذخیره میشوند، میزبانهای سالم بهطور خودکار انتخاب میشوند تا دادههایی را که قبلاً توسط میزبان خراب ارائه میشدند، میزبانی کنند و دادهها بهطور خودکار آنلاین میشوند.
موارد استفاده از HBase چیست؟
FINRA، سازمان نظارت بر صنعت مالی ایالات متحده، بزرگترین نهاد مستقل نظارتی در این حوزه است و رفتارهای تجاری مالی را نظارت و تنظیم میکند. FINRA از Amazon EMR برای اجرای Apache HBase بر روی Amazon S3 به منظور دسترسی تصادفی به ۳ تریلیون رکورد (که بهطور روزانه میلیاردها رکورد به آن اضافه میشود) برای یک برنامه تعاملی به منظور جستجو و نمایش رویدادهای مرتبط با بازار استفاده میکند. با جداسازی ذخیرهسازی و محاسبات، FINRA میتواند یک نسخه از دادههای خود را در Amazon S3 ذخیره کند و کلاستر خود را بر اساس ظرفیت محاسباتی مورد نیاز تنظیم کند، به جای اینکه کلاستر خود را برای ذخیرهسازی دادهها در HDFS با سهبرابر تکرار تنظیم کند. این امر به صرفهجویی بیش از ۶۰ درصد در هزینهها، مقیاسپذیری آسان محاسبات و کاهش زمان بازیابی کلاستر در یک منطقه در دسترس جدید EC2 از چند روز به کمتر از ۳۰ دقیقه منجر میشود.
Monster، یک رهبر جهانی در اتصال افراد و مشاغل، از Apache HBase بر روی Amazon EMR برای ذخیرهسازی دادههای کلیک و کمپینهای تبلیغاتی به منظور تحلیلهای بعدی استفاده میکند. این امر به آنها این امکان را میدهد که عملکرد بخشهای مختلف مشتری را در یک کمپین خاص در سطح یک نمایش خاص زیر نظر داشته باشند. تیم تحلیل Monster میتواند به راحتی از طریق ردیفها اسکن کند تا تعداد نمایشها و کلیکها را برای هر کاربر جمعآوری کرده و فعالیت کمپین را شناسایی کند. علاوه بر این، آنها از ادغام نزدیک Apache HBase با اکوسیستم Apache Hadoop بهره میبرند. Monster از Apache Hive بر روی یک کلاستر جداگانه Amazon EMR برای اجرای پرسوجو بر روی جدول HBase خود با SQL استفاده میکند که برای تحلیلهای اضافی و صادرات دادهها از Apache HBase به Amazon Redshift مفید است.