Basis Data Operasional (COD) CDP adalah database transaksional otonom yang didukung oleh Apache HBase dan Apache Phoenix. Ini adalah salah satu Layanan Data utama yang berjalan di Cloudera Data Platform (CDP) Public Cloud. Anda dapat mengakses COD langsung dari konsol CDP Anda. Dengan COD, pengembang aplikasi sekarang dapat memanfaatkan kekuatan HBase dan Phoenix tanpa biaya tambahan yang sering dikaitkan dengan penerapan dan manajemen. COD mudah disediakan dan dikelola sendiri, artinya pengembang dapat menyediakan instans database baru dalam hitungan menit dan mulai membuat prototipe dengan cepat. Fitur otonom seperti penskalaan otomatis, pemulihan otomatis, dan penyetelan otomatis memastikan tidak ada manajemen dan administrasi database yang perlu dikhawatirkan.
Di blog ini, kami akan membagikan bagaimana Database Operasional CDP dapat memberikan ketersediaan tinggi untuk aplikasi Anda saat berjalan di beberapa zona ketersediaan di AWS.
Untuk sepenuhnya memahami apa itu Penerapan Multi-AZ berarti untuk infrastruktur Anda, sangat penting untuk mengenali bagaimana Amazon Web Services dikonfigurasi di seluruh dunia dan dengan demikian bagaimana menyediakan layanan redundansi di mana pun lokasi Anda. Seperti yang dibahas dalam dokumentasi resmi Amazon, AWS Cloud terdiri dari sejumlah wilayah, yang merupakan lokasi fisik di seluruh dunia. Sementara pemadaman AZ tidak dilacak secara resmi, pelanggan Cloudera telah melaporkan mengalami pemadaman AZ 1-2 kali setahun. Jadi, penerapan peregangan Multi-AZ diperlukan untuk mencapai ketersediaan 99,95+%.
Setiap wilayah terdiri dari sejumlah pusat data fisik terpisah, yang dikenal sebagai zona ketersediaan (AZ) . Setiap AZ adalah fasilitas mandiri dengan kekuatan, konektivitas, dan kemampuan jaringannya sendiri. Sebagian besar wilayah adalah rumah bagi 2-3 zona ketersediaan yang berbeda masing-masing, memberikan redundansi yang memadai dalam wilayah tertentu (AZ diwakili oleh kode wilayah diikuti dengan pengenal huruf; misalnya, us-west-1a) .
Namun, redundansi ini hanya diterapkan pada lapisan penyimpanan (S3) dan tidak ada untuk mesin virtual yang digunakan untuk instans database Anda. Jika ada sesuatu yang menyebabkan Availability Zone tempat instance server Anda berada mengalami pemadaman, database Anda akan berhenti berfungsi, karena seluruh infrastruktur komputasi akan offline.
Di sinilah Multi-AZ Deployment berperan. Multi-AZ Deployment berarti infrastruktur komputasi untuk Server Master dan Wilayah HBase didistribusikan di beberapa Availability Zone memastikan bahwa ketika Availability Zone tunggal mengalami pemadaman, hanya sebagian Server Wilayah yang akan digunakan. terpengaruh dan klien akan secara otomatis beralih ke server yang tersisa di AZ yang tersedia. Demikian pula, master cadangan (dengan asumsi master utama berada di AZ yang mengalami gangguan) akan secara otomatis mengambil alih peran master yang gagal karena digunakan di AZ terpisah dari server master utama. Semua ini otomatis tidak memerlukan pengaturan, tidak ada manajemen, dan tidak ada tindakan dari sudut pandang pengguna / administratif. Ini hanya berfungsi untuk memastikan aplikasi tidak mengalami pemadaman karena hilangnya satu AZ.
Demo
Basis data COD yang baru dibuat akan secara otomatis memanfaatkan semua zona ketersediaan yang dikonfigurasi di lingkungan. Oleh karena itu, sangat penting untuk mengatur lingkungan dengan zona yang ingin kita gunakan.
Misalnya, kami memiliki lingkungan dengan AZ berikut:us-west-1a, us-west-1b dan us-west-1c. Saat kami menerapkan basis data COD, basis data tersebut secara otomatis disebarkan dalam mode multi-AZ — tidak ada yang bisa dilakukan! Mari kita periksa di balik layar dan lihat apa yang ada di konsol AWS.
COD memastikan bahwa node pekerja tersebar secara merata di seluruh AZ yang dikonfigurasi. (Master dan Pemimpin juga ditempatkan di AZ yang berbeda untuk menyediakan ketersediaan tinggi bagi kuorum ZooKeeper.)
Apache HBase sudah memiliki kemampuan failover bawaan, jadi jika satu AZ offline, sistem sudah siap untuk secara instan dan otomatis melanjutkan layanan database Anda.
Untuk menambahkan sedikit lebih menyenangkan, mari kita jalankan uji beban HBase sederhana selama pengujian kami. HBase memiliki alat uji beban bawaan yang dapat kita gunakan untuk uji tulis yang berjalan lama:
hbase ltt -tulis 10:1024:10 -num_keys 10000000
Mari simulasikan kegagalan AZ sekarang dan lihat apa yang terjadi. Cara termudah untuk melakukannya adalah menambahkan ACL Jaringan baru yang menonaktifkan lalu lintas masuk dan keluar dari subnet tertentu yang melakukan kondisi serupa dengan pemadaman AWS nyata.
Di menit pertama kami tidak melihat sesuatu yang menarik di halaman status, karena dari sudut pandang COD, databasenya masih sehat.
Tetapi perhatikan bahwa klien telah berhenti membuat kemajuan.
Dalam 10-20 detik, Master menyadari bahwa beberapa Server Wilayah mati.
Jika pemadaman mempengaruhi master aktif, HBase akan secara otomatis beralih ke cadangan yang mengambil alih peran setelah 10-20 detik..
Kegagalan tidak memakan waktu terlalu lama, setelah 2-3 menit dan beberapa kesalahan wilayah sementara, klien dapat membuat kemajuan lagi. Master harus mentransisikan wilayah mati ke Server Wilayah hidup.
Untuk mensimulasikan akhir pemadaman, mari batalkan pembuatan ACL jaringan dengan menghapusnya. Server Wilayah terhubung kembali ke Master.
Sekarang kita kembali ke tempat awal kita memulai. COD telah sepenuhnya pulih dari pemadaman. Dalam permintaan tulis, kita dapat melihat dua penurunan:yang pertama adalah saat klien bertransisi ke Server Wilayah aktif yang tersisa, yang kedua sedikit kemudian adalah saat penyeimbang beban HBase memindahkan kembali wilayah ke server yang terhubung kembali.
COD pada HDFS
Penyimpanan Objek di Cloud adalah lapisan penyimpanan default untuk COD dan menyebarkan data ke 3 zona ketersediaan di belakang dan akan menyeimbangkan kembali di belakang layar. HBase hanya perlu melakukan beberapa housekeeping (transisi wilayah) untuk melayani wilayah oleh server yang tersisa sehingga operasi ini relatif cepat.
Untuk kasus penggunaan kinerja tinggi, COD mendukung penggunaan HDFS sebagai penyimpanan dasarnya. Dalam paradigma penerapan ini, kami secara otomatis mengonfigurasi kesadaran rak HDFS untuk toleransi kesalahan dengan menempatkan satu replika blok di rak yang berbeda dan memetakan rak ke Availability Zone. Ini menyediakan ketersediaan data jika terjadi kegagalan sakelar jaringan atau partisi di dalam cluster. Jadi, perilaku dalam demo di atas sangat mirip dengan apa yang akan Anda lihat saat menerapkan COD dengan HDFS.
Ringkasan
Penerapan multi-AZ sangat penting untuk database yang sangat tersedia dan sekarang COD mendukungnya di AWS sebagai pratinjau teknis di balik layar tanpa biaya tambahan. Itu membuat beban kerja operasional Anda lebih kuat dan andal tanpa konfigurasi tambahan. Keduanya akan tersedia secara umum dan mendukung penyedia cloud tambahan (Microsoft, Google) segera.
Hubungi tim akun Cloudera Anda jika Anda tertarik untuk mempelajari lebih lanjut tentang cara bermigrasi dari penerapan HBase ke Basis Data Operasional CDP di cloud publik atau mencobanya dengan Cloudera Test Drive.