Video: 27 RETAS MEMASAK YANG TIDAK BIASA 2024
Pemadatan , proses dimana HBase dibersihkan setelah dirinya sendiri, hadir dalam dua rasa: mayor dan minor. Kompilasi utama bisa menjadi masalah besar, tapi pertama-tama Anda perlu memahami sedikit kompaksi.
Kompilasi minor menggabungkan sejumlah HFSS yang dapat dikonfigurasi menjadi satu HFile yang lebih besar. Anda dapat menyetel jumlah HFiles menjadi kompak dan frekuensi pemadatan kecil. Kompilasi minor penting karena tanpa mereka, membaca baris tertentu dapat meminta banyak disk dibaca dan menyebabkan kinerja keseluruhannya lambat.
Gambar, yang menggambarkan bagaimana konsep ini bekerja, dapat membantu Anda memvisualisasikan bagaimana tabel berikut dapat bertahan pada HDFS.
Baris Kunci | Keluarga Kolom: {Kolom Kualifikasi: Versi: Nilai} |
---|---|
00001 | CustomerName: {'FN':
1383859182496: ' John ', ' LN ': 1383859182858:' Smith ', ' MN ': 1383859183001:' Timothy ', ' MN ': 1383859182915:' T '} ContactInfo: {' EA ': 1383859183030:' Yohanes. Smith @ xyz. com ', ' SA ': 1383859183073:' 1 Hadoop Lane, NY 11111 '} |
00002 | CustomerName: {' FN ':
1383859183103:' Jane ', 'LN': 1383859183163: 'Doe', ContactInfo: { 'SA': 1383859185577: '7 HBase Ave, CA 22222'} |
Perhatikan bagaimana keluarga kolom CustomerName ditulis ke HDFS dengan dua memstore flushes dan bagaimana data dalam keluarga kolom ContactInfo dilanjutkan ke disk dengan hanya satu memstore flush. Contoh ini hipotetis, tapi ini skenario yang mungkin tergantung pada waktu penulisan.
Bayangkan sebuah perusahaan jasa yang mendapatkan lebih banyak informasi kontak pelanggan dari waktu ke waktu. Perusahaan jasa dapat mengetahui nama depan dan belakang kliennya namun tidak mempelajari nama tengahnya sampai jam atau minggu kemudian dalam permintaan layanan berikutnya. Skenario ini akan mengakibatkan bagian Row 00001 bertahan sampai HDFS di HFiles yang berbeda.
Sampai sistem HBase melakukan pemadatan kecil, pembacaan dari Row 00001 memerlukan tiga disk dibaca untuk mengambil konten HFile yang relevan! Kompilasi minor berusaha meminimalkan overhead sistem sekaligus menjaga jumlah HFiles terkendali. Perancang HBase mendapat perawatan khusus untuk memberi administrator HBase kontrol tuning sebanyak mungkin untuk membuat dampak sistem "kecil. "
Sesuai namanya, pemadatan utama berbeda dari perspektif dampak sistem. Namun, pemadatan cukup penting untuk keseluruhan fungsionalitas sistem HBase. Pemadatan utama berusaha menggabungkan semua HFiles menjadi satu HFile besar.
Selain itu, pemadatan utama melakukan pembersihan setelah pengguna menghapus sebuah rekaman. Saat pengguna mengeluarkan panggilan Hapus, sistem HBase menempatkan penanda pada pasangan nilai kunci sehingga dapat dihapus secara permanen selama pemadatan besar berikutnya.
Selain itu, karena kompaksi utama menggabungkan semua HFiles menjadi satu HFile besar, waktu yang tepat bagi sistem untuk meninjau versi data dan membandingkannya dengan waktu untuk tinggal (TTL) properti. Nilai yang lebih tua dari TTL dibersihkan.
Waktu untuk hidup mengacu pada variabel dalam HBase yang dapat Anda tetapkan untuk menentukan berapa lama data dengan beberapa versi akan tetap berada di HBase.
Anda mungkin sudah menduga bahwa pemadatan utama secara signifikan mempengaruhi waktu respons sistem. Pengguna yang mencoba menambahkan, mengambil, atau memanipulasi data dalam sistem selama pemadatan besar, mereka mungkin melihat waktu respons sistem yang buruk.
Selain itu, kelompok HBase mungkin harus membagi daerah pada saat yang sama dengan pemadatan besar terjadi dan menyeimbangkan wilayah di seluruh RegionServer. Skenario ini akan menghasilkan sejumlah besar lalu lintas jaringan antara RegionServer.
Untuk alasan ini, administrator HBase Anda harus memiliki strategi pemadatan besar untuk penerapan Anda.