Tutorial Pengujian Big Data: Apa itu, Strategi, Cara menguji Hadoop
Pengujian Data Besar
Pengujian Data Besar merupakan proses pengujian suatu aplikasi big data guna memastikan bahwa seluruh fungsi aplikasi big data berfungsi sesuai harapan. Tujuan pengujian big data adalah untuk memastikan sistem big data berjalan lancar dan bebas kesalahan dengan tetap menjaga performa dan keamanan.
Big data adalah kumpulan kumpulan data besar yang tidak dapat diproses menggunakan teknik komputasi tradisional. pengujian kumpulan data ini melibatkan berbagai alat, teknik, dan kerangka kerja untuk diproses. Big data berkaitan dengan pembuatan, penyimpanan, pengambilan, dan analisis data yang luar biasa dalam hal volume, variasi, dan kecepatan. Anda dapat mempelajari lebih lanjut tentang Big Data, Hadoop, dan MapReduce di sini
Apa itu Strategi Pengujian Big Data?
Menguji aplikasi Big Data lebih merupakan verifikasi pemrosesan datanya daripada menguji fitur individual produk perangkat lunak. Dalam hal pengujian data besar, pengujian kinerja dan fungsional adalah kuncinya.
Dalam strategi pengujian Big Data, teknisi QA memverifikasi keberhasilan pemrosesan data berukuran terabyte menggunakan cluster komoditas dan komponen pendukung lainnya. Ini menuntut keterampilan pengujian tingkat tinggi karena prosesnya sangat cepat. Pemrosesan mungkin terdiri dari tiga jenis
Selain itu, kualitas data juga merupakan faktor penting dalam pengujian Hadoop. Sebelum menguji aplikasi, perlu dilakukan pemeriksaan kualitas data dan harus dianggap sebagai bagian dari pengujian database. Ini melibatkan pemeriksaan berbagai karakteristik seperti kesesuaian, keakuratan, duplikasi, konsistensi, validitas, kelengkapan data, dll. Selanjutnya dalam tutorial Pengujian Hadoop ini, kita akan mempelajari cara menguji aplikasi Hadoop.
Cara menguji Aplikasi Hadoop
Gambar berikut memberikan gambaran umum tingkat tinggi tentang fase-fase dalam Pengujian Aplikasi Big Data
Pengujian Big Data atau Pengujian Hadoop secara garis besar dapat dibagi menjadi tiga langkah
Langkah 1: Validasi Pementasan Data
Langkah pertama dalam tutorial pengujian data besar ini disebut sebagai tahap pra-Hadoop yang melibatkan validasi proses.
- Data dari berbagai sumber seperti RDBMS, weblog, media sosial, dll. harus divalidasi untuk memastikan bahwa data yang benar dimasukkan ke dalam sistem
- Membandingkan data sumber dengan data yang dimasukkan ke dalam sistem Hadoop untuk memastikan kecocokannya
- Pastikan data yang benar telah diekstraksi dan dimuat ke lokasi HDFS yang benar
Alat-alat seperti Talend, petugas data, dapat digunakan untuk validasi pementasan data
Langkah 2: Validasi “MapReduce”.
Langkah kedua adalah validasi “MapReduce”. Pada tahap ini, penguji Big Data memverifikasi validasi logika bisnis pada setiap node dan kemudian memvalidasinya setelah dijalankan pada beberapa node, untuk memastikan bahwa
- Proses Pengurangan Peta berfungsi dengan benar
- Aturan agregasi atau segregasi data diterapkan pada data
- Pasangan nilai kunci dihasilkan
- Memvalidasi data setelah proses Map-Reduce
Langkah 3: Fase Validasi Output
Tahap terakhir atau ketiga dari pengujian Hadoop adalah proses validasi keluaran. File data keluaran dihasilkan dan siap untuk dipindahkan ke EDW (Gudang Data Perusahaan) atau sistem lain berdasarkan kebutuhan.
Kegiatan pada tahap ketiga meliputi
- Untuk memeriksa aturan transformasi diterapkan dengan benar
- Untuk memeriksa integritas data dan keberhasilan pemuatan data ke sistem target
- Untuk memeriksa bahwa tidak ada kerusakan data dengan membandingkan data target dengan data sistem file HDFS
ArchiPengujian tekstur
Hadoop memproses data dalam jumlah yang sangat besar dan sangat membutuhkan banyak sumber daya. Oleh karena itu, pengujian arsitektur sangat penting untuk memastikan keberhasilan proyek Big Data Anda. Sistem yang dirancang dengan buruk atau tidak tepat dapat menyebabkan penurunan kinerja, dan sistem tersebut dapat gagal memenuhi persyaratan. Setidaknya, Tes Kinerja dan Failover layanan harus dilakukan di lingkungan Hadoop.
Pengujian kinerja mencakup pengujian waktu penyelesaian pekerjaan, pemanfaatan memori, throughput data, dan metrik sistem serupa. Sedangkan motif layanan pengujian Failover adalah untuk memverifikasi bahwa pemrosesan data terjadi dengan lancar jika terjadi kegagalan pada node data
Pengujian Kinerja
Pengujian Kinerja untuk Big Data mencakup dua tindakan utama
- Penyerapan data dan Sepanjang: Pada tahap ini, penguji Big Data memverifikasi seberapa cepat sistem dapat menggunakan data dari berbagai sumber data. Pengujian melibatkan identifikasi pesan berbeda yang dapat diproses antrian dalam jangka waktu tertentu. Ini juga mencakup seberapa cepat data dapat dimasukkan ke dalam penyimpanan data yang mendasarinya, misalnya tingkat penyisipan ke Mongo dan Cassandra Database.
Pendekatan Pengujian Kinerja
Pengujian kinerja untuk aplikasi data besar melibatkan pengujian data terstruktur dan tidak terstruktur dalam jumlah besar, dan memerlukan pendekatan pengujian khusus untuk menguji data sebesar itu.
Pengujian Kinerja dijalankan dalam urutan ini
- Prosesnya dimulai dengan pengaturan cluster Big data yang akan diuji kinerjanya
- Identifikasi dan rancang beban kerja yang sesuai
- Mempersiapkan klien individu (Skrip Kustom dibuat)
- Jalankan pengujian dan analisis hasilnya (Jika tujuan tidak tercapai, sesuaikan komponen dan jalankan kembali)
- Konfigurasi Optimal
Parameter untuk Pengujian Kinerja
Berbagai parameter yang harus diverifikasi untuk pengujian kinerja adalah
- Penyimpanan Data: Bagaimana data disimpan di node yang berbeda
- Log komit: Seberapa besar log komit dibiarkan bertambah
- Konkurensi: Berapa banyak thread yang dapat melakukan operasi tulis dan baca
- Caching: Sesuaikan pengaturan cache “cache baris” dan “cache kunci”.
- Batas Waktu: Nilai untuk batas waktu koneksi, batas waktu kueri, dll.
- Parameter JVM: Ukuran heap, algoritma pengumpulan GC, dll.
- Kinerja pengurangan peta: Mengurutkan, menggabungkan, dll.
- Antrean pesan: Kecepatan pesan, ukuran, dll.
Uji Kebutuhan Lingkungan
Lingkungan Pengujian harus bergantung pada jenis aplikasi yang Anda uji. Untuk pengujian perangkat lunak Big data, lingkungan pengujian harus mencakup
- Ini harus memiliki ruang yang cukup untuk menyimpan dan memproses data dalam jumlah besar
- Itu harus memiliki cluster dengan node dan data terdistribusi
- Ini harus memiliki penggunaan CPU dan memori minimum untuk menjaga kinerja tetap tinggi untuk menguji kinerja Big Data
Pengujian data besar Vs. Pengujian basis data tradisional
Properties | Pengujian basis data tradisional | Pengujian data besar |
---|---|---|
Data | Penguji bekerja dengan data terstruktur | Penguji bekerja dengan data terstruktur dan tidak terstruktur |
Pendekatan Pengujian | Pendekatan pengujian didefinisikan dengan baik dan telah teruji oleh waktu | Pendekatan pengujian memerlukan upaya penelitian dan pengembangan yang terfokus |
Strategi Pengujian | Penguji memiliki opsi untuk melakukan strategi “Pengambilan Sampel” secara manual atau strategi “Verifikasi Lengkap” dengan alat otomatisasi | Strategi “pengambilan sampel” dalam Big data adalah sebuah tantangan |
Infrastruktur | Itu tidak memerlukan lingkungan pengujian khusus karena ukuran file terbatas | Ini memerlukan lingkungan pengujian khusus karena ukuran data dan file yang besar (HDFS) |
Alat Validasi | Penguji menggunakan yang berbasis Excel Macro atau alat otomatisasi berbasis UI | Tidak ada alat yang ditentukan, jangkauannya sangat luas mulai dari alat pemrograman seperti MapReduce hingga HIVEQL |
Pengujian Peralatan | Alat Pengujian dapat digunakan dengan pengetahuan pengoperasian dasar dan sedikit pelatihan. | Dibutuhkan serangkaian keterampilan dan pelatihan khusus untuk mengoperasikan alat pengujian. Selain itu, alat tersebut masih dalam tahap awal dan seiring berjalannya waktu, alat tersebut mungkin akan menghadirkan fitur-fitur baru. |
Alat yang digunakan dalam Skenario Big Data
Big data Cluster | Alat Data Besar |
---|---|
Tidak SQL: | CouchDB, Basis Data MongoDB, Cassandra, Redis, Penjaga Kebun Binatang, HBase |
Kurangi Peta: | Hadoop, Hive, Babi, Cascading, Oozie, Kafka, S4, MapR, Flume |
penyimpanan: | S3, HDFS (Sistem File Terdistribusi Hadoop) |
Server: | Elastis, Heroku, Elastis, Google App Engine, EC2 |
Pengolahan | R, Yahoo! Pipa, Mechanical Turk, BigSheets, Datameer |
Tantangan dalam Pengujian Big Data
- Otomatisasi
Pengujian otomatisasi karena Big data membutuhkan seseorang dengan keahlian teknis. Selain itu, alat otomatis tidak dilengkapi untuk menangani masalah tak terduga yang muncul selama pengujian
- Virtualisasi
Ini adalah salah satu fase pengujian yang tidak terpisahkan. Latensi mesin virtual menimbulkan masalah waktu dalam pengujian kinerja data besar secara real-time. Mengelola gambar di Big data juga merepotkan.
- Kumpulan Data Besar
- Perlu memverifikasi lebih banyak data dan perlu melakukannya lebih cepat
- Perlu mengotomatiskan upaya pengujian
- Harus dapat menguji di berbagai platform
Tantangan pengujian kinerja
- Beragam teknologi: Setiap sub-komponen memiliki teknologi yang berbeda dan memerlukan pengujian secara terpisah
- Tidak tersedianya alat khusus: Tidak ada satu alat pun yang dapat melakukan pengujian ujung ke ujung. Misalnya, NoSQL mungkin tidak cocok untuk antrean pesan
- Skrip Tes: Skrip tingkat tinggi diperlukan untuk merancang skenario pengujian dan kasus pengujian
- Lingkungan pengujian: Diperlukan lingkungan pengujian khusus karena ukuran datanya yang besar
- Solusi Pemantauan: Ada solusi terbatas yang dapat memantau seluruh lingkungan
- Solusi Diagnostik: solusi khusus perlu dikembangkan untuk menelusuri area hambatan kinerja
Ringkasan
- Seiring kemajuan rekayasa data dan analisis data ke tingkat berikutnya, pengujian data besar tidak bisa dihindari.
- Pemrosesan data besar dapat berupa Batch, Real-Time, atau Interaktif
- 3 tahapan Pengujian aplikasi Big Data adalah validasi pementasan data, validasi “MapReduce”, & fase validasi Output
- ArchiPengujian Arsitektur adalah fase penting dari pengujian Big data, karena sistem yang dirancang dengan buruk dapat menyebabkan kesalahan yang belum pernah terjadi sebelumnya dan penurunan kinerja
- Pengujian kinerja untuk Big data mencakup verifikasi throughput Data, Pemrosesan data, dan kinerja Sub-komponen
- Pengujian data besar sangat berbeda dengan pengujian data tradisional dalam hal Data, Infrastruktur & Alat Validasi
- Tantangan Pengujian Big Data mencakup virtualisasi, otomatisasi pengujian, dan penanganan kumpulan data besar. Pengujian kinerja aplikasi Big Data juga menjadi masalah.