Meskipun Hadoop telah terbukti memberikan solusi yang scalable dan cost effective, namun banyak perusahaan yang masih belum yakin untuk mengadopsinya. Salah satu hambatan bagi perusahaan maupun organisasi yang ingin mengimplementasi Hadoop adalah kebutuhan akan sumber daya yang cukup ‘mumpuni’ untuk dapat menggunakan dan memanfaatkannya secara maksimal. Saat ini kebanyakandata analisis sudah cukup familiar dengan SQL, sehingga solusi SQL-on-Hadoop merupakan sebuah pilihan yang banyak digunakan.
Apache Hive adalah SQL engine di atas Hadoop yang muncul pertama kali, dan banyak penggunanya. Saat ini sudah banyak berkembang engine SQL lain yang dibuat untuk Hadoop dan Big Data, diantaranya adalah:- Hive on Spark
- Hive on Tez
- Spark SQL
- Presto
- Apache Drill
- Apache HAWQ
- Apache Impala
- Apache Phoenix
- MemSQL
Dengan begitu banyak pilihan, apa saja hal yang harus dipertimbangkan dalam memilih solusi SQL untuk Big Data?
Setidaknya ada 3 hal penting yang perlu diperhatikan dalam memilih solusi SQL on Hadoop, yaitu:- Kinerja dalam mengolah data besar : apakah engine dapat memproses data sampai jutaan bahkan miliaran record dengan konsisten, tanpa terjadi error, dengan waktu response yang cepat
- Kecepatan dalam pengolahan data berukuran kecil : SQL engine dapat memberikan hasil query secara interaktif untuk data yang relatif kecil (ribuan sampai jutaan records)
- Stabilitas untuk banyak concurrent user : tetap handal ketika diakses secara bersamaan oleh banyak pengguna (puluhan, ratusan atau bahkan ribuan), dengan load kerja yang tinggi
Di samping ketiga kriteria di atas, beberapa pertanyaan lain yang perlu kita ajukan ketika mengevaluasi solusi SQL on Hadoop adalah sebagai berikut:
- Solusi proprietary atau open-source?
- Bagaimana tingkat skalabilitasnya?
- Solusi mana yang memberikan dukungan terlengkap untuk berbagai query SQL?
- Versi SQL apa yang perlu disupport?
- Bagaimana arsitektur solusinya? Di atas Hive dan MapReduce? In-memory?
- Apakah solusi SQL tersebut terikat pada distribusi Hadoop yang spesifik dari vendor tertentu?
- Seberapa banyak support yang tersedia?
- Seberapa fleksibel jenis eksplorasi data yang perlu disupport?
- Seberapa mudah dan baik solusi tersebut diintegrasikan dengan datawarehouse atau sistem lain yang sudah ada? API apa saja yang disupport? Apakah mensupport REST-ful API?
- Berapa banyak training yang akan dibutuhkan user untuk dapat menggunakannya?
https://zdatainc.com/2016/12/sql-hadoop-paradox-choice/ http://blog.atscale.com/how-different-sql-on-hadoop-engines-satisfy-bi-workloads
Contributor :
Penyuka kopi dan pasta (bukan copy paste) yang sangat hobi makan nasi goreng. Telah berkecimpung di bidang data processing dan data warehousing selama 12 tahun. Salah satu obsesi yang belum terpenuhi saat ini adalah menjadi kontributor aktif di forum idBigdata.