
Kami selalu kekurangan data. Dan kami tidak hanya ingin lebih banyak data ... kami ingin jenis data baru yang memungkinkan kami untuk lebih memahami produk, pelanggan, dan pasar kami. Kami selalu mencari data baru, data dari semua bentuk dan ukuran, terstruktur dan tidak terlalu. Kami ingin membuka pintu kami ke generasi baru spesialis bisnis dan teknis yang dengan antusias akan membuka basis data dan teknologi baru bersama kami, yang selanjutnya akan mengubah sifat bagaimana kami berinteraksi dengan data dan dampak apa yang mereka miliki terhadap kehidupan kami.
Saya akan memberikan contoh hidup sehingga Anda lebih memahami apa yang saya maksud. Sekitar dua tahun lalu, data menyelamatkan nyawa putri teman saya. Ketika dia lahir dia didiagnosis dengan tujuh cacat jantung. Berkat teknologi baru, seperti grafik 3D interaktif, pemodelan virtual, analisis EKG yang lebih cerdas, solusi modern untuk memantau pasien yang menjalani tirah baring, dan berkat prosedur medis canggih lainnya berdasarkan data, ia berhasil selamat dari dua operasi jantung terbuka dan sekarang menjalani kehidupan yang sehat . Data menyelamatkan hidupnya. Inilah yang mendorong saya setiap hari untuk mencari solusi inovatif baru dan cara untuk mentransfer data lebih cepat kepada mereka yang membutuhkannya lebih dari yang lain.
Saya bangga menjadi bagian dari tim Cloudera Data Warehouse (CDW), yang ditenagai oleh Cloudera Data Platform (CDP). CDP dibuat dari awal sebagai cloud data perusahaan atau Enterprise Data Cloud (EDC). EDC adalah alat multifungsi untuk mengimplementasikan banyak tugas pada satu platform. Berkat penggunaan sistem hybrid dan multi-cloud, CDP dapat bekerja di mana saja - baik pada platform tanpa sistem operasi, dan dalam cloud pribadi dan publik. Karena semakin banyak solusi cloud yang diperkenalkan sebagai bagian dari rencana pengembangan digital kami, kami melihat solusi hybrid dan multi-cloud menjadi norma baru. Namun, solusi gabungan ini menciptakan masalah dalam mengelolanya, yang pada gilirannya menciptakan risiko keamanan baru, kemungkinan pengawasan oleh pengguna, dan selanjutnya merupakan pelanggaran hukum. Untuk mengatasi masalah ini, CDP memiliki kemampuan keamanan dan kontrol canggih yang akan membuat akses ke data terbuka tanpa risiko melanggar kebijakan keamanan siapa pun atau bahkan hukum.
CDW pada CDP adalah layanan baru yang memungkinkan Anda membuat gudang data swalayan untuk tim analisis BI. Anda dapat dengan cepat membuat gudang data baru dan menggunakannya sendiri, atau memberi mereka akses ke sekelompok orang dan menggunakan satu database dengan mereka. Apakah Anda ingat saat-saat ketika Anda bisa mengelola data warehouse Anda sendiri? Mengelolanya tanpa partisipasi platform dan infrastruktur yang diperlukan untuk operasinya? Ini belum pernah terjadi sebelumnya. CDW memungkinkan ini terjadi.
Berkat CDW, berbagai mesin SQL telah tersedia, tetapi kebingungan hadir dengan banyak pilihan. Mari kita lihat mesin SQL yang tersedia dalam CDW pada CDP, dan diskusikan opsi SQL mana yang lebih cocok untuk tugas tertentu.
Pilihan yang sangat bagus! Impala? Sarang LLAP? Spark? Apa yang digunakan dan kapan? Mari kita cari tahu.
Mesin Impala sql
Impala adalah mesin MPP open source populer dengan berbagai fitur di Cloudera Distribution Hadoop (CDH) dan CDP. Impala telah mendapatkan kepercayaan pasar dengan pertanyaan SQL yang sangat interaktif dan sangat laten. Kemampuan Impala sangat luas, Impala tidak hanya mendukung Sistem File Terdistribusi Hadoop (HDFS - Sistem File Terdistribusi Hadoop) dengan Parket, Kolom Baris Dioptimalkan (ORC - Node Penyimpanan yang Dioptimalkan), Notasi Objek JavaScript (JSON), Avro, dan format teks, tetapi juga format teks, tetapi juga memiliki dukungan bawaan untuk Kudu, Microsoft Azure Data Lake Storage (ADLS), dan Amazon Simple Storage Service (S3). Impala memiliki tingkat keamanan yang tinggi baik menggunakan penjaga atau ranger dan, seperti yang Anda tahu, dapat mendukung ribuan pengguna dengan kelompok ratusan node pada kumpulan data multi-petabyte. Mari kita lihat keseluruhan arsitektur Impala.

Impala menggunakan StateStore untuk memverifikasi kesehatan cluster. Jika karena alasan tertentu simpul Impala offline, StateStore akan mengirim pesan tentang hal ini ke semua simpul dan melewati simpul yang tidak bisa diakses. Layanan Direktori Impala mengelola metadata untuk semua pernyataan SQL untuk semua node di cluster. StateStore dan layanan direktori bertukar data dengan Hive MetaStore untuk menyimpan blok dan file, dan kemudian mentransfer metadata ke node kerja. Ketika permintaan datang, itu diteruskan ke salah satu dari banyak program yang cocok di mana kompilasi dilakukan dan perencanaan dimulai. Potongan-potongan rencana dikembalikan, dan program koordinasi mengatur implementasinya. Hasil antara disahkan antara layanan Impala dan kemudian dikembalikan.
Arsitektur ini sangat ideal untuk kasus-kasus di mana kita membutuhkan data mart untuk intelijen bisnis untuk mendapatkan jawaban atas pertanyaan dengan latensi rendah, seperti biasanya dengan jenis ad-hoc, swalayan dan penemuan. Dalam skenario ini, kami memiliki pelanggan yang memberi tahu kami jawaban atas pertanyaan kompleks dari kurang dari satu detik hingga lima detik.
Untuk data Internet of Things (IoT) dan skenario terkait, Impala, bersama dengan solusi streaming seperti NiFi, Kafka atau Spark Streaming, dan gudang data terkait seperti Kudu, dapat menyediakan pemipaan berkelanjutan dengan waktu tunda kurang dari sepuluh detik . Dengan kemampuan baca / tulis bawaan pada S3, ADLS, HDFS, Hive, HBase, dan banyak lagi, Impala adalah mesin SQL yang sangat baik untuk digunakan saat memulai cluster hingga 1000 node, dan lebih dari 100 triliun baris dalam tabel atau kumpulan data 50BP atau lebih.
Sarang LLAP
Live Long And Process, atau Long Delay Analytics Processing, juga dikenal sebagai LLAP, adalah mesin eksekusi berbasis Hive yang mendukung proses jangka panjang menggunakan sumber daya caching dan pemrosesan yang sama. Mekanisme pemrosesan ini memberi kami respons dari SQL dengan latensi yang sangat rendah, karena kami tidak punya waktu untuk memulai sumber daya yang diminta.

Selain itu, LLAP menyediakan dan menetapkan kendali atas pelaksanaan kebijakan keamanan, sehingga semua pekerjaan LLAP untuk pengguna transparan, yang membantu Hive untuk bersaing dalam hal kinerja beban kerja bahkan dengan media penyimpanan yang paling populer dan digunakan secara tradisional saat ini.
Hive LLAP menawarkan mesin SQL paling canggih dalam ekosistem data besar. Hive LLAP dibuat untuk sejumlah besar data, memberikan pengguna dengan kemampuan luas Enterprise Data Warehouse (EDW), yang mendukung konversi data dalam volume besar, pelaksanaan kueri panjang atau kueri SQL berat dengan ratusan gabungan. Hive mendukung pandangan terwujud, kunci pengganti, dan berbagai pembatasan serupa dengan sistem manajemen basis data relasional tradisional, termasuk caching bawaan untuk hasil kueri dan data kueri. Hive LLAP dapat mengurangi beban permintaan berulang dengan mengurangi waktu respons menjadi sepersekian detik. Hive LLAP dapat mendukung permintaan gabungan untuk HDFS (Sistem File Terdistribusi Hadoop) dan penyimpanan objek, serta streaming waktu-nyata, bekerja dengan Kafka dan Druid.
Dengan demikian, Hive LLAP secara ideal cocok sebagai solusi Enterprise Data Warehouse (EDW), di mana kita akan dihadapkan dengan sejumlah besar pertanyaan panjang yang membutuhkan transformasi besar atau beberapa gabungan antara tabel dan kumpulan data besar. Berkat teknologi caching yang termasuk dalam Hive LLAP, kami sekarang memiliki pelanggan yang dapat bergabung dengan 330 miliar catatan dengan 92 miliar catatan lainnya dengan atau tanpa kunci partisi dan mendapatkan hasil dalam hitungan detik.
Spark sq
Spark adalah mesin pemrosesan data tujuan umum kinerja tinggi yang mendukung pemrosesan dan distribusi data dan memiliki beragam aplikasi. Ada banyak perpustakaan data Spark untuk ilmu data dan ahli pembelajaran mesin yang mendukung model pemrograman tingkat tinggi untuk pengembangan cepat. Spark di atas adalah Spark SQL, MLlib, Spark Streaming, dan GrapX.

Spark SQL adalah modul untuk pemrosesan data terstruktur, kompatibel dengan berbagai sumber data, dengan dukungan untuk Hive, Avro, Parket, ORC, JSON dan JDBC. Spark SQL efisien pada dataset semi-terstruktur dan terintegrasi dengan repositori Hive MetaStore dan NoSQL seperti HBase. Spark sering digunakan dengan berbagai API perangkat lunak dalam bahasa pemrograman favorit kami seperti Java, Python, R, dan Scala.
Spark bisa sangat berguna jika Anda perlu menyematkan query SQL dengan program Spark jika bekerja dengan sejumlah besar data dan beban tinggi. Spark membantu banyak pengguna kami yang bekerja di perusahaan Global 100 untuk mengurangi pemrosesan data streaming. Menggabungkan ini dengan MLlib, kami melihat berapa banyak pelanggan kami yang merespon positif terhadap Spark, sebagai sistem luar biasa yang mampu mempelajari mesin saat bekerja dengan aplikasi data warehouse. Dengan kinerja tinggi, latensi rendah, dan integrasi yang sangat baik dari alat pihak ketiga, Spark SQL menyediakan kondisi terbaik untuk beralih antara pemrograman dan SQL.
Jadi mesin SQL mana yang digunakan?
Karena Anda dapat menggabungkan data yang sama dalam CDW ke CDP, Anda dapat memilih mesin yang tepat untuk setiap jenis beban kerja, seperti rekayasa data, EDW tradisional, analisis ad hoc, dashboard BI, Online Analytical Processing (OLAP) atau Online Pemrosesan Transaksi (OLTP). Diagram di bawah ini menunjukkan beberapa prinsip yang bertujuan menyederhanakan pemilihan, yang menurutnya mesin dan mekanismenya sangat cocok untuk masing-masing tujuan yang dinyatakan.

Kesimpulan
Jika Anda menggunakan dashboard BI yang mendukung EDW, Hive LLAP akan memberikan Anda hasil terbaik. Saat Anda membutuhkan pergudangan data ad-hoc, swalayan, dan penelitian, arahkan mata Anda pada manfaat Impala. Jika Anda melihat Rekayasa Data dengan kueri yang sudah berjalan lama dan tanpa konkurensi tinggi, Spark SQL adalah pilihan yang bagus. Jika Anda membutuhkan dukungan konkurensi tinggi, Anda dapat melihat Hive on Tez. Cari dukungan OLAP dengan data deret waktu, tambahkan Druid, dan jika Anda mencari OLTP dengan latensi rendah dan konkurensi tinggi, maka mungkin Anda harus menambahkan Phoenix.
Total - ada banyak mesin SQL di CDW ke CDP, dan ini dilakukan dengan sengaja. Membuat pilihan sebelum mengambil keputusan adalah cara terbaik untuk mengoptimalkan proses untuk aplikasi berkinerja tinggi dengan pemrosesan multi-utas pada gudang data besar. CDW dalam CDP menyediakan berbagi data dan berbagi di bawah satu sistem keamanan, manajemen, pelacakan data dan metadata, yang memungkinkan Anda untuk menggabungkan komponen SQL dalam repositori yang dioptimalkan. Dengan demikian, ini memberikan pengguna kebebasan untuk memilih mesin SQL terbaik tergantung pada beban kerjanya.