Video: Sqoop Import and Export data from RDMBS and HDFS 2024
Jika Anda menghadapi fase desain untuk aplikasi Anda dan Anda yakin HBase akan sesuai, maka merancang kunci dan skema baris Anda agar sesuai dengan model dan arsitektur data HBase adalah pendekatan yang tepat Namun, terkadang masuk akal untuk memindahkan database yang awalnya dirancang untuk RDBMS ke HBase.
Skenario umum dimana pendekatan ini masuk akal adalah contoh database MySQL yang telah mencapai batas skalabilitasnya. Teknik ada untuk skala horizontal contoh MySQL ( sharding, dengan kata lain) namun proses ini biasanya tidak praktis dan bermasalah karena MySQL pada awalnya tidak dirancang untuk sharding.
denormalization, duplikasi, dan kunci cerdas (DDI) . Denormalisasi:-
Model basis data relasional bergantung pada a) skema database yang dinormalisasi dan b) bergabung antar tabel untuk merespons operasi SQL. Normalisasi database adalah teknik yang menjaga terhadap kehilangan data, redundansi, dan anomali lainnya karena data diperbarui dan diambil.
Duplikasi:
-
Saat Anda melakukan denormalize skema database Anda, Anda mungkin akan akhirnya menduplikat data karena dapat membantu Anda menghindari operasi baca yang mahal di beberapa tabel. Jangan khawatir tentang penyimpanan ekstra (tentu saja); Anda bisa menggunakan skalabilitas otomatis HBase untuk keuntungan Anda. Sadarilah bahwa pekerjaan ekstra itu akan diminta oleh aplikasi klien Anda untuk menduplikat data dan ingat bahwa HBase secara native hanya menyediakan operasi atomik tingkat baris bukan baris silang (dengan pengecualian yang dijelaskan dalam JASA HBASE-5229) atau lintas meja.
Tombol Cerdas:
-
Karena data yang tersimpan dalam HBase diperintahkan oleh tombol baris, dan tombol baris adalah satu-satunya indeks asli yang disediakan oleh sistem, desain cerdas cerdas dari tombol baris dapat membuat perbedaan besar. Misalnya, kunci baris Anda bisa menjadi kombinasi dari nomor pesanan layanan dan nomor ID pelanggan yang menempatkan pesanan layanan. Desain kunci baris ini akan memungkinkan Anda mencari data yang terkait dengan pesanan layanan atau mencari data yang terkait dengan pelanggan menggunakan tombol baris yang sama di tabel yang sama. Teknik ini akan lebih cepat untuk beberapa query dan menghindari tabel mahal bergabung.
Untuk memperjelas pola pemikiran tertentu ini, ambil tabel Informasi Kontak Pelanggan dan letakkan dalam konteks database pesanan layanan khas. Angka tersebut menunjukkan kepada Anda apa skema database pesanan layanan yang dinormalisasi.
Mengikuti aturan normalisasi RDBMS, siapkan contoh tabel Informasi Kontak Pelanggan sehingga terpisah dari tabel pesanan layanan agar tidak kehilangan data pelanggan saat pesanan layanan ditutup dan mungkin terhapus. Ambil pendekatan yang sama untuk tabel Produk, yang berarti bahwa produk baru dapat ditambahkan ke database perusahaan fiktif secara independen dari pesanan layanan.
Dengan mengandalkan operasi gabungan RDBMS, skema ini mendukung kueri yang mengungkapkan jumlah pesanan layanan yang dibuka terhadap produk tertentu dan juga lokasi pelanggan tempat produk tersebut digunakan.
Itu bagus dan keren, tapi ini adalah skema yang akan Anda gunakan dengan RDBM. Bagaimana Anda mentransisikan skema ini ke skema HBase? Angka berikutnya menggambarkan skema HBase yang mungkin - yang mengikuti pola desain DDI.
Tabel Informasi Kontak Pelanggan telah dinormalkan dengan memasukkan nama pelanggan dan info kontak sebagai pengganti kunci asing yang digunakan sebelumnya. Selain itu, datanya digandakan dengan menjaga tabel Informasi Kontak Pelanggan sebagaimana adanya. Sekarang bergabung di seluruh tabel Order Layanan dan tabel Informasi Kontak Pelanggan tidak diperlukan.
Selain itu, desain kunci baris cerdas telah digunakan yang menggabungkan nomor produk dengan nomor pelanggan untuk membentuk nomor pesanan layanan (A100 | 00001, misalnya). Dengan menggunakan kunci cerdas ini, tabel pesanan layanan dapat memberikan laporan penting tentang kekurangan produk dan pelanggan yang saat ini mengalami masalah produk.
Semua pertanyaan ini semuanya dapat didukung oleh HBase dalam mode atomik tingkat baris untuk aplikasi. Karena Anda tahu bahwa perintah baris perintah HBase dan mengurutkannya dengan cara leksikografis, aplikasi Anda dapat membuat dugaan terdidik tertentu tentang lokalitas data saat mengeluarkan pindaian untuk pelaporan. (Semua seri produk A * akan disimpan bersama-sama, misalnya.)
Database pesanan layanan yang ditunjukkan oleh skema HBase adalah contoh yang relatif sederhana, namun ini menggambarkan bagaimana HBase dapat, dalam kasus tertentu, berpotongan dengan dunia RDBMS dan memberikan nilai yang signifikan. Jika perusahaan fiktif memiliki data panggilan layanan terabyte atau bahkan petabyte untuk disimpan, HBase akan menghasilkan perbedaan besar dalam hal biaya, keandalan, kinerja, dan skala.
Anda bisa, tentu saja, merancang skema layanan pesanan Anda dalam beberapa cara yang berbeda. Diakui, desain semuanya bergantung pada kueri yang harus didukung, namun Anda memiliki kemampuan untuk mentransisikan beberapa basis data relasional ke aplikasi HBase yang sangat kuat untuk penggunaan produksi selama Anda bekerja dari pemahaman yang solid tentang arsitektur HBase dan pola desain DDI.
Contoh ini mengasumsikan bahwa kueri dilakukan oleh aplikasi Java yang memanfaatkan API klien HBase, atau mungkin melalui bahasa lain menggunakan Apache Thrift. Model aplikasi ini mungkin sesuai dengan persyaratannya saja dan memberikan pilihan kinerja dan penyesuaian yang berguna untuk perusahaan layanan fiktif.