Video: Sqoop Import and Export data from RDMBS and HDFS 2024
Jika anda menghadapi fasa reka bentuk untuk aplikasi anda dan anda percaya bahawa HBase akan menjadi baik, kemudian mereka bentuk kunci dan skema baris anda agar sesuai dengan model data HBase dan seni bina adalah pendekatan yang betul. Walau bagaimanapun, kadang-kadang masuk akal untuk memindahkan pangkalan data yang asalnya direka untuk RDBMS kepada HBase.
Senario umum di mana pendekatan ini masuk akal ialah contoh pangkalan data MySQL yang telah mencapai had skalabiliti. Teknik ada untuk mendatar secara mendatar contoh MySQL ( sharding, dengan kata lain) tetapi proses ini biasanya rumit dan bermasalah kerana MySQL semata-mata tidak direka untuk sharding.
Peralihan dari model hubungan kepada model HBase adalah disiplin yang agak baru. Walau bagaimanapun, corak pemikiran tertentu yang muncul telah muncul dan telah menjadi tiga prinsip penting untuk diikuti apabila mendekati peralihan. Prinsip-prinsip ini adalah denormalization, duplikasi, dan kunci pintar (DDI) .
-
Denormalization: Model pangkalan data relasi bergantung kepada a) skema pangkalan data yang dinormalisasi dan b) bergabung antara jadual untuk bertindak balas terhadap operasi SQL. Normalisasi pangkalan data adalah teknik yang mengawasi terhadap kehilangan data, redundansi, dan anomali lain kerana data dikemas kini dan diambil.
Terdapat beberapa peraturan pakar yang mengikuti untuk tiba di skema pangkalan data yang dinormalisasi (dan pangkalan data pangkalan data adalah keseluruhan kajian itu sendiri), tetapi prosesnya biasanya melibatkan membahagikan jadual yang lebih besar ke dalam jadual yang lebih kecil dan menentukan hubungan antara mereka. Denalisasi pangkalan data adalah bertentangan dengan normalisasi, di mana jadual yang lebih kecil dan lebih kecil disatukan ke jadual yang lebih besar, lebih umum.
Ini adalah corak yang sama apabila beralih ke HBase kerana bergabung tidak disediakan di seluruh jadual, dan bergabung boleh menjadi lambat kerana ia melibatkan operasi cakera mahal. Menjaga terhadap pembaruan dan pengambilan semula anomali kini menjadi tugas permohonan klien HBase anda, kerana perlindungan yang diberikan oleh normalisasi adalah batal dan tidak sah.
-
Duplikasi: Seperti yang anda menamakan semula skema pangkalan data anda, anda mungkin akan menduplikasi data kerana ia dapat membantu anda mengelakkan operasi membaca yang mahal di beberapa jadual. Jangan bimbang tentang simpanan tambahan (dalam keadaan tentu saja); anda boleh menggunakan skop kebolehan automatik HBase untuk kelebihan anda.
Perlu diketahui, bahawa kerja tambahan diperlukan oleh aplikasi klien anda untuk menduplikasi data dan ingat bahwa asli HBase hanya menyediakan operasi atom peringkat baris tidak berseberangan (dengan pengecualian yang dijelaskan dalam JIRA HBASE-5229) atau salib jadual.
-
Kunci Pintar: Kerana data yang disimpan dalam HBase diperintahkan oleh kunci baris, dan kunci baris adalah satu-satunya indeks asli yang disediakan oleh sistem, reka bentuk pintar pintar kunci baris dapat membuat perbezaan besar. Sebagai contoh, kunci baris anda boleh menjadi kombinasi nombor pesanan perkhidmatan dan nombor ID pelanggan yang meletakkan pesanan perkhidmatan.
Reka bentuk utama baris ini membolehkan anda mencari data yang berkaitan dengan pesanan perkhidmatan atau mencari data yang berkaitan dengan pelanggan menggunakan kunci baris sama dalam jadual yang sama. Teknik ini akan lebih cepat untuk beberapa pertanyaan dan mengelakkan jadual mahal bergabung.
Untuk memperjelas corak pemikiran ini, ambil jadual Maklumat Hubungan Pelanggan dan letakkannya dalam konteks pangkalan data tempahan biasa. Angka ini menunjukkan kepada anda apa skema pangkalan data tempahan yang normal.
Berikutan peraturan norma RDBMS, sediakan contoh jadual Maklumat Hubungan Pelanggan supaya ia berasingan daripada jadual pesanan perkhidmatan untuk mengelakkan kehilangan data pelanggan apabila pesanan perkhidmatan ditutup dan mungkin dihapuskan. Mengambil pendekatan yang sama untuk jadual Produk, yang bermaksud bahawa produk baru boleh ditambah kepada pangkalan data syarikat fiksyen secara bebas daripada pesanan perkhidmatan.
Dengan bergantung kepada operasi gabungan RDBMS, skema ini menyokong pertanyaan yang mendedahkan bilangan pesanan perkhidmatan yang dibuka terhadap produk tertentu bersama dengan lokasi pelanggan di mana produk sedang digunakan.
Itu baik dan bagus, tetapi skema yang anda gunakan dengan RDBM. Bagaimanakah anda menukarkan skema ini ke skema HBase? Angka seterusnya menggambarkan skema HBase yang mungkin - satu yang mengikuti pola reka bentuk DDI.
Jadual Maklumat Hubungan Pelanggan telah dinamakan semula dengan memasukkan nama pelanggan dan maklumat hubungan di tempat kekunci asing yang digunakan sebelum ini. Juga, data itu diduplikasi dengan menyimpan jadual Maklumat Hubungan Pelanggan seperti yang ada. Sekarang menyertai di seluruh jadual Perintah Perkhidmatan dan jadual Maklumat Hubungan Pelanggan tidak perlu.
Selain itu, reka bentuk utama baris pintar telah digunakan yang menggabungkan nombor produk dengan nombor pelanggan untuk membentuk nombor pesanan perkhidmatan (contohnya A100 | 00001). Menggunakan kunci cerdas ini, jadual pesanan perkhidmatan dapat memberikan laporan penting tentang kekurangan produk dan pelanggan yang saat ini mengalami masalah produk.
Semua pertanyaan ini semua boleh disokong oleh HBase dalam fesyen atom tahap berturut-turut untuk aplikasi itu. Kerana anda tahu bahawa HBase memerintahkan kunci baris dan menyusunnya dalam fonetik leksikografik, aplikasi anda dapat membuat tipi-punan berpelajaran tertentu tentang lokasi data apabila mengeluarkan imbasan untuk pelaporan. (Semua nombor siri A * akan disimpan bersama-sama.)
Pangkalan data pesanan perkhidmatan yang diwakili oleh skema HBase adalah contoh yang agak sederhana, tetapi ia menggambarkan bagaimana HBase dapat, dalam hal tertentu, berpotongan dengan dunia RDBMS dan memberikan nilai yang signifikan. Jika syarikat fiksyen mempunyai terabytes atau petabytes data panggilan perkhidmatan untuk menyimpan, HBase akan membuat perbezaan besar dari segi kos, kebolehpercayaan, prestasi, dan skala.
Anda boleh, tentu saja, mereka bentuk pesanan perkhidmatan anda skema HBase dalam beberapa cara yang berbeza. Diakui, reka bentuk semuanya bergantung kepada pertanyaan yang mesti disokong, tetapi anda mempunyai keupayaan untuk memindahkan beberapa pangkalan data hubungan kepada aplikasi HBase yang sangat kuat untuk kegunaan pengeluaran selagi anda bekerja dari pemahaman yang solid terhadap seni bina HBase dan corak Reka bentuk DDI.
Contoh ini telah mengandaikan bahawa pertanyaan telah dilakukan oleh aplikasi Java yang memanfaatkan API klien HBase, atau mungkin melalui bahasa lain menggunakan Apache Thrift. Model aplikasi ini mungkin sesuai dengan kehendaknya dan menyediakan pilihan prestasi dan penyesuaian berguna untuk syarikat perkhidmatan fiksyen.