HBase
 sql >> Teknologi Basis Data >  >> NoSQL >> HBase

Konsep pengembangan aplikasi Database Operasional Cloudera

Database Operasional Cloudera sekarang tersedia dalam tiga faktor bentuk yang berbeda di Cloudera Data Platform (CDP).

Jika Anda baru mengenal Database Operasional Cloudera, lihat posting blog ini. Dan, lihat dokumentasinya di sini.

Dalam postingan blog ini, kita akan melihat konsep Apache HBase dan Apache Phoenix yang relevan dengan pengembangan aplikasi untuk Database Operasional Cloudera.

Tapi pertama-tama, ini adalah berbagai faktor bentuk di mana Database Operasional Cloudera tersedia untuk pengembang:

Awan publik:

  • Template Database Operasional Pusat Data CDP 
  • Pengalaman Cloudera Operational Database (COD) yang merupakan solusi dbPaaS terkelola

Di tempat:

  • Basis Cloud Pribadi CDP

Faktor bentuk yang berbeda memungkinkan Anda mengembangkan aplikasi yang dapat berjalan di tempat, di cloud publik, atau keduanya.

Database Operasional Cloudera didukung oleh Apache HBase dan Apache Phoenix. Di Cloudera Operational Database, Anda menggunakan Apache HBase sebagai penyimpanan data dengan HDFS dan/atau S3 yang menyediakan infrastruktur penyimpanan. Anda memiliki pilihan untuk mengembangkan aplikasi menggunakan salah satu aplikasi Apache HBase asli, atau Anda dapat menggunakan Apache Phoenix untuk akses data. Apache Phoenix adalah lapisan SQL yang menyediakan antarmuka ANSI SQL terprogram. Ini bekerja di atas Apache HBase, dan memungkinkan untuk menangani data menggunakan kueri SQL standar. (Pernyataan DML bukan SQL standar).

Banyak pengembang lebih suka menggunakan Structured Query Language (SQL) untuk mengakses data yang disimpan dalam database dan Apache Phoenix di Cloudera Operational Database membantu Anda mencapainya. Jika Anda adalah administrator atau pengembang basis data, Anda dapat langsung mulai menulis kueri menggunakan Apache Phoenix tanpa harus mempermasalahkan kode Java.

Untuk menyimpan dan mengakses data dalam database operasional, Anda dapat melakukan salah satu hal berikut:

Gunakan API klien Apache HBase asli untuk berinteraksi dengan data di HBase:

  • Gunakan HBase API untuk Java
  • Gunakan server REST HBase

Anda juga dapat mengakses data Anda menggunakan aplikasi Hue HBase. Aplikasi ini adalah konsol yang dapat Anda gunakan untuk mengakses data yang disimpan di Apache HBase.

Atau, gunakan Apache Phoenix dengan salah satu driver Apache Phoenix untuk berinteraksi dengan data yang disimpan di Apache HBase:

  • Gunakan driver JDBC untuk Apache Phoenix
  • Gunakan driver ODBC untuk Apache Phoenix
  • Gunakan driver Python untuk Apache Phoenix

Mari kita lihat konsep di Apache HBase dan Apache Phoenix yang Anda perlukan untuk pengembangan aplikasi Anda.

Ruang nama

Namespace adalah pengelompokan logis dari tabel yang analog dengan database dalam sistem database relasional.

Tabel dan baris

Satu atau lebih kualifikasi kolom membentuk satu baris; satu atau lebih baris membentuk sebuah tabel. Setiap baris dapat diidentifikasi dengan kunci baris. Saat menulis aplikasi, Anda dapat mengakses baris atau urutan baris menggunakan kunci baris unik.

Kelompok kolom

Keluarga kolom ditentukan pada saat pembuatan tabel berdasarkan bagaimana mereka terkait satu sama lain. Keluarga kolom dapat memiliki kualifikasi kolom tempat nilai dapat disimpan. Kualifikasi kolom juga terkadang hanya disebut kolom dan diatur ke dalam kelompok kolom. Keluarga kolom terletak bersama di penyimpanan.

Keluarga kolom mempartisi data secara vertikal. Jika Anda memiliki kasus penggunaan di mana Anda ingin mengakses sekumpulan qualifier kolom, mempartisi kelompok kolom akan mengurangi jumlah file penyimpanan untuk dibaca dan meningkatkan kinerja baca. Anda harus menghindari partisi jika Anda ingin mengakses dua atau lebih keluarga kolom secara bersamaan.

Kompresi dan encoding diterapkan pada tingkat kolom-keluarga. Anda tidak harus mendeklarasikan tipe data untuk setiap keluarga kolom dan keluarga kolom dapat berisi data dari beberapa tipe data.

Komposisi tabel Apache HBase

Tabel Apache HBase terdiri dari satu atau lebih keluarga kolom dan mungkin dibagi menjadi beberapa wilayah. Data untuk setiap keluarga kolom di setiap wilayah disimpan di beberapa HFile, yang berada di HDFS atau penyimpanan objek seperti S3 dan ADLS.

Setiap wilayah menyimpan baris dalam rentang keyspace tertentu, yaitu antara kunci baris awal dan kunci baris akhir. Kunci baris unik untuk suatu wilayah dan tidak ada dua wilayah yang tumpang tindih. Suatu wilayah dilayani oleh satu RegionServer pada satu waktu, memastikan konsistensi dalam satu baris.

Untuk mengetahui lebih lanjut tentang pemisahan dan penggabungan wilayah Apache HBase, lihat posting blog di sini:https://blog.cloudera.com/Apache-hbase-region-splitting-and-merging/

Tata letak data Apache HBase

Apache HBase unggul dalam kasus penggunaan Pemrosesan Transaksi Online (OLTP) karena mungkin ada lebih dari satu versi unit penyimpanan dasarnya yang disebut qualifier kolom (CQ) berdasarkan stempel waktu. Nilai unik dari setiap versi kualifikasi kolom disimpan secara terpisah. Keluarga kolom dapat memiliki jumlah sel berapa pun dan mereka dapat sepenuhnya acak dan memiliki tipe data, angka, dan nama yang berbeda di setiap baris. Anda bisa menyimpan sejumlah sel dalam keluarga kolom, tetapi perhatikan bahwa kualifikasi kolom dalam satu keluarga kolom disimpan secara terpisah dari kualifikasi kolom di keluarga kolom lainnya.

Jika Anda tertarik dengan bagaimana Apache HBase melakukan Multiversion Concurrency Control (MVCC), Anda dapat membaca posting blog ini:https://blogs.Apache.org/hbase/entry/Apache_hbase_internals_locking_and.

Tabel Apache Phoenix

Tabel Apache Phoenix memiliki hubungan 1:1 dengan tabel Apache HBase. Anda dapat memilih untuk membuat tabel baru menggunakan pernyataan Apache Phoenix DDL seperti CREATE TABLE, atau membuat tampilan pada tabel Apache HBase yang ada menggunakan pernyataan VIEW.

Buat, jatuhkan, atau ubah konten tabel Apache HBase menggunakan pernyataan Apache Phoenix DDL. Dalam banyak kasus, Anda mungkin dapat mengubah tabel Apache Phoenix secara langsung menggunakan API asli Apache HBase. Ini tidak didukung di Cloudera Operational Database dan akan mengakibatkan kesalahan, indeks yang tidak konsisten, hasil kueri yang salah, dan terkadang data yang rusak.

Penyerapan data

Anda dapat menggunakan pernyataan Apache Phoenix SQL untuk menyerap data ke Cloudera Operational Database (COD). COD juga terintegrasi erat dengan layanan Cloudera Data Platform lainnya. Anda dapat melihat cara menggunakan beberapa kemampuan penyerapan data di tautan berikut.

  • Gunakan Spark atau Hive bersama dengan Apache HBase untuk menyerap data. Anda dapat menggunakan konektor HBase-Spark. Lihat juga daftar cara mengimpor data ke HBase Mengimpor data ke HBase.
  • Gunakan Spark atau Hive bersama dengan Apache Phoenix untuk menyerap data. Anda dapat menggunakan konektor Phoenix-Spark dan Phoenix-Hive. Lihat, Memahami konektor Apache Phoenix-Spark dan Memahami konektor Apache Phoenix-Hive.
  • Gunakan Cloudera DataFlow (Apache NiFi) untuk menyerap data. Lihat Menyerap Data ke Apache HBase di CDP Public Cloud.
  • Gunakan Cloudera Data Engineering (Spark) untuk menyerap data. Lihat Database Operasional Cloudera – Rekayasa Data Cloudera menggunakan Phoenix.

Perintah DML Apache Phoenix

Anda dapat menggunakan perintah Apache Phoenix DML seperti UPSERT atau DELETE. Pastikan perintah DML yang ingin Anda gunakan didukung oleh Apache Phoenix. Untuk informasi lebih lanjut, lihat referensi tata bahasa Apache Phoenix.

Warna antarmuka pengguna untuk mengakses data

Hue adalah editor SQL interaktif berbasis web yang memungkinkan Anda berinteraksi dengan data yang disimpan di Cloudera Operational Database. Untuk informasi selengkapnya tentang menggunakan Hue dengan layanan Cloudera Operational Database, lihat akses Cloudera Operational Database Hue.

Menjalankan aplikasi di Data Hub dan COD

Database Operasional Cloudera mendukung aplikasi yang ditulis dalam bahasa yang didukung ini menggunakan Apache Phoenix. Anda juga dapat mengembangkan aplikasi Apache HBase menggunakan API HBase asli untuk Java. Kami akan membahas lebih lanjut tentang mengembangkan aplikasi dan beberapa contoh aplikasi yang dapat Anda gunakan dalam beberapa posting blog berikutnya.

Pengalaman Cloudera Operational Database (COD) menyediakan akses mudah ke informasi konektivitas klien dari antarmuka pengguna. Untuk informasi lebih lanjut, lihat Informasi konektivitas klien untuk mengkompilasi aplikasi Anda terhadap COD Anda. Untuk informasi selengkapnya, lihat Menggunakan Apache Phoenix untuk Menyimpan dan Mengakses Data.

Di CDP Private Cloud Base, Anda dapat menemukan informasi ini dari antarmuka pengguna Apache Knox jika Anda ingin terhubung ke Phoenix Query Server (PQS) melalui Apache Knox, atau menggunakan driver JDBC dan JAR klien Phoenix yang ada di lokasi berikut dalam sebuah cluster node dengan peran phoenix-gateway /opt/cloudera/parcels/CDH/lib/phoenix.

Kesimpulan

Pada postingan selanjutnya, kita akan melihat pertimbangan pengembangan dan pembuatan aplikasi termasuk contoh aplikasi.

Anda dapat melihat beberapa contoh aplikasi dan dokumentasi yang ada untuk Cloudera Operational Database di Data Hub dan Cloudera Operational Database experience solusi dbPaaS di tautan berikut:

  • Ikhtisar pengalaman Database Operasional Cloudera
  • Mulai cepat Basis Data Operasional Cloudera
  • Memulai template Pusat Data Basis Data Operasional
  • Membangun Aplikasi Pembelajaran Mesin Dengan Meja Kerja Cloudera Data Science Dan Basis Data Operasional

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cara menerapkan model ML ke produksi

  2. Bagaimana-untuk:Menggunakan Pemuatan Massal HBase, dan Mengapa

  3. Keamanan Basis Data Operasional – Bagian 1

  4. Spark di HBase dengan Spark shell

  5. Hadoop Partitioner – Pelajari Dasar-dasar MapReduce Partitioner