{count, plural, one {Kursus} other {Kursus}}

Kami mengulas gambaran menyeluruh tentang seluk-beluk database NoSQL untuk Data Scientist.
Data Science dan Database NoSQL
Menjadi data scientist bukan hanya tentang membangun model machine learning, tetapi juga tentang mampu memproses, menganalisis, dan mengomunikasikan hasil Anda dengan lebih baik dari data dalam berbagai format.
Selama bertahun-tahun, database SQL tradisional digunakan sebagai satu-satunya jenis database. Namun, karena popularitas internet yang sangat tinggi pada pertengahan 1990-an dan transformasi digital, jenis data baru menjadi menonjol: database NoSQL. Database ini diperkenalkan sebagai respons atas kelemahan database SQL tradisional.
Database NoSQL dapat digunakan, misalnya, oleh Data Scientist dan Machine Learning Engineer untuk menyimpan data, metadata model, fitur, dan parameter operasi. Di sisi lain, data engineer dapat memanfaatkannya untuk menyimpan dan mengambil data yang telah dibersihkan.
Dalam blog konseptual ini (tanpa perlu coding), pertama-tama kami akan membangun pemahaman Anda tentang database NoSQL sebelum menelusuri pentingnya NoSQL. Kami juga akan membandingkan database SQL dan NoSQL serta melihat penggunaan dan kategorinya. Terakhir, kami akan meninjau database NoSQL paling populer untuk data scientist.
Apa itu database NoSQL?
NoSQL adalah singkatan dari Not Only SQL, artinya database NoSQL memiliki kekhasan tidak bersifat relasional karena dapat menyimpan data dalam format tidak terstruktur. Grafik berikut menyoroti lima fitur utama database NoSQL.

Mengapa database NoSQL penting?
Database NoSQL menjadi populer di industri karena manfaat berikut:
- Data multimode: Database NoSQL menawarkan fleksibilitas lebih dibanding database SQL tradisional karena dapat menyimpan data terstruktur (mis. data yang ditangkap dari sensor), tidak terstruktur (gambar, video, dll.), dan semi-terstruktur (XML, JSON, dll.).
- Skalabilitas mudah: hal ini sederhana karena arsitektur peer-to-peer, yang berarti beberapa mesin dapat ditambahkan ke arsitektur.
- Ketersediaan global: memungkinkan akses data yang sama secara bersamaan melalui berbagai mesin dari zona geografis berbeda karena database dibagikan secara global.
- Fleksibilitas: Database NoSQL dapat dengan cepat beradaptasi dengan kebutuhan yang berubah dengan pembaruan yang sering dan fitur baru.
Database NoSQL vs. Database SQL
|
Database SQL |
Database NoSQL |
|
|
Bahasa |
Database SQL menggunakan bahasa kueri terstruktur untuk melakukan operasi, yang memerlukan skema pradefinisi untuk berinteraksi lebih baik dengan data. |
Di sisi lain, database NoSQL menggunakan skema dinamis untuk mengkueri data. Selain itu, beberapa database NoSQL menggunakan sintaks mirip SQL untuk manipulasi dokumen. |
|
Skema Data |
Database SQL memiliki format pradefinisi dan tetap, yang tidak dapat diubah untuk data baru. |
Database NoSQL lebih fleksibel. Fleksibilitas ini berarti bahwa rekaman dalam database dapat dibuat tanpa memiliki struktur pradefinisi, dan setiap rekaman memiliki strukturnya sendiri. |
|
Skalabilitas |
Database SQL hanya dapat diskalakan secara vertikal, artinya satu mesin perlu meningkatkan CPU, RAM, SSD, pada tingkat tertentu untuk memenuhi permintaan. |
Database NoSQL dapat diskalakan secara horizontal, artinya mesin tambahan ditambahkan ke infrastruktur yang ada untuk memenuhi kebutuhan penyimpanan. |
|
Dukungan Big Data |
Penskalaan vertikal menyulitkan database SQL untuk menyimpan data yang sangat besar (petabyte). |
Penskalaan horizontal dan skema data dinamis membuat NoSQL cocok untuk big data. Selain itu, database NoSQL dikembangkan oleh perusahaan internet terkemuka (Amazon, Google, Yahoo, dll.) untuk menghadapi tantangan jumlah data yang meningkat pesat. |
|
Properti |
Database SQL menggunakan properti ACID (Atomicity, Consistency, Isolation, Durability). |
Database NoSQL, di sisi lain, menggunakan properti CAP (Consistency, Availability, Partition Tolerance). |
Kapan sebaiknya menggunakan database NoSQL?
Dalam lingkungan yang tumbuh cepat dan kompetitif ini, industri perlu mengumpulkan sebanyak mungkin data untuk memenuhi tujuan bisnis mereka. Mengumpulkan data adalah satu hal, tetapi menyimpannya dalam infrastruktur yang tepat adalah tantangan lain. Kesulitannya muncul karena data bisa berupa berbagai jenis seperti gambar, video, teks, dan suara. Menggunakan database relasional untuk menyimpan berbagai jenis data ini tidak selalu langkah yang cerdas. Namun, pertanyaannya tetap:
Kapan menggunakan NoSQL alih-alih SQL?
Anda sebaiknya mempertimbangkan menggunakan NoSQL ketika berada pada skenario berikut:
- Perubahan data konstan: ketika Anda tidak tahu bagaimana sistem atau aplikasi Anda akan berkembang di masa depan, artinya Anda mungkin ingin menambahkan jenis data baru, fungsi baru, dll.
- Data sangat banyak: ketika bisnis Anda menangani data yang sangat besar yang mungkin bertambah seiring waktu.
- Tidak ada konsistensi: ketika konsistensi data dan integritas 100% bukan prioritas Anda. Misalnya, saat Anda mengembangkan platform media sosial untuk bisnis, semua karyawan melihat unggahan Anda secara bersamaan mungkin bukan masalah.
- Skalabilitas dan biaya: Database NoSQL memungkinkan fleksibilitas yang lebih besar dan dapat mengendalikan biaya seiring perubahan kebutuhan data Anda.
4 Jenis Utama Database NoSQL
Database NoSQL dibagi menjadi empat kategori utama. Masing-masing memiliki kekhasan, sehingga Anda harus memilih yang paling sesuai dengan kasus penggunaan Anda: Di bawah ini, kami menyoroti contoh utama database NoSQL. Bagian ini bertujuan membahas masing-masing database tersebut dengan memberikan peran serta daftar kelebihan dan keterbatasan yang tidak lengkap, dan kasus penggunaannya.

1. Database Dokumen
Jenis database ini dirancang untuk menyimpan dan mengkueri dokumen JSON, XML, BSON, dll. Setiap dokumen adalah baris atau rekaman dalam database dan berformat key-value. Sebuah dokumen menyimpan informasi tentang satu objek dan data terkaitnya. Misalnya, database berikut berisi tiga rekaman, masing-masing memberikan informasi tentang seorang mahasiswa. Untuk dokumen pertama, firstname adalah kunci, dan Franck adalah nilainya.
Kelebihan Database Dokumen
- Tanpa skema: tidak ada batasan dalam hal format dan struktur penyimpanan data. Ini menguntungkan, terutama ketika terjadi transformasi berkelanjutan dalam database.
- Mudah diperbarui: informasi baru dapat ditambahkan atau dihapus tanpa mengubah field lain yang sudah ada pada dokumen tersebut.
- Kinerja meningkat: semua informasi tentang suatu dokumen dapat ditemukan dalam dokumen yang sama persis. Tidak perlu merujuk ke informasi eksternal, yang mungkin berbeda dengan database relasional di mana pengguna harus meminta tabel lain.
Keterbatasan Database Dokumen
- Masalah pemeriksaan konsistensi: karena dokumen tidak harus memiliki relasi satu sama lain, dan dua dokumen dapat memiliki field yang berbeda.
- Masalah atomicity: Jika kita harus mengubah dua koleksi dokumen, kita perlu menjalankan kueri terpisah untuk setiap dokumen.
Kapan Menggunakan Database Dokumen
- Direkomendasikan ketika skema data Anda berpotensi mengalami perubahan konstan di masa depan.
Aplikasi Database Dokumen
- Karena fleksibilitasnya, database dokumen praktis untuk profil pengguna online, di mana pengguna berbeda dapat memiliki jenis informasi yang berbeda. Dalam kasus ini, profil setiap pengguna disimpan hanya dengan atribut yang spesifik bagi mereka.
- Dapat digunakan untuk manajemen konten, yang memerlukan penyimpanan data secara efektif dari berbagai sumber. Informasi tersebut kemudian dapat digunakan untuk membuat dan memasukkan jenis konten baru.
2. Database Key-value
Ini adalah jenis database NoSQL yang paling sederhana. Setiap item disimpan dalam database dalam pasangan key-value. Kita dapat menganggapnya sebagai tabel dengan tepat dua kolom. Kolom pertama berisi kunci unik. Kolom kedua adalah nilai untuk setiap kunci. Nilai dapat berupa berbagai tipe data, seperti integer, string, dan float, atau tipe data yang lebih kompleks, seperti gambar dan dokumen.
Contoh berikut menggambarkan database key-value yang berisi informasi tentang pelanggan, di mana kuncinya adalah nomor telepon mereka, dan nilainya adalah pembelian bulanan mereka.

Kelebihan Database Key-value
- Kesederhanaan: struktur key-value sangat lugas. Tidak adanya tipe data membuatnya sederhana untuk digunakan.
- Kecepatan: format data yang sederhana membuat operasi baca dan tulis lebih cepat.
Keterbatasan Database Key-value
- Tidak dapat melakukan penyaringan apa pun pada kolom nilai karena nilai yang dikembalikan adalah semua informasi yang disimpan di field nilai.
- Dioptimalkan hanya dengan memiliki satu kunci dan nilai. Menyimpan beberapa nilai memerlukan parser.
- Nilai diperbarui hanya sebagai satu kesatuan, yang mengharuskan mengambil data lengkap, melakukan pemrosesan yang diperlukan pada data tersebut, dan akhirnya menyimpan kembali seluruh data. Ini dapat menimbulkan masalah kinerja ketika pemrosesan memerlukan banyak waktu.
Kapan Menggunakan Database Key-value
- Cocok untuk aplikasi yang berbasis kueri sederhana berbasis kunci.
- Digunakan untuk aplikasi sederhana yang perlu menyimpan objek sederhana secara sementara seperti cache.
- Juga dapat digunakan ketika diperlukan akses data secara real-time.
Aplikasi
- Lebih baik untuk aplikasi sederhana yang perlu menyimpan objek sederhana sementara seperti cache.
3. Database Kolom-Lebar
Sesuai namanya, database berorientasi kolom digunakan untuk menyimpan data sebagai kumpulan kolom, di mana setiap kolom diperlakukan terpisah, dan logika implementasinya didasarkan pada makalah Google Big Table. Database ini paling banyak digunakan untuk beban kerja analitik seperti business intelligence, manajemen data warehouse, dan customer relationship management.
Misalnya, kita dapat dengan cepat memperoleh usia rata-rata dan harga rata-rata masing-masing pelanggan dan produk dengan fungsi agregasi AVG pada setiap kolom.

4. Database Graf/node
Database graf digunakan untuk menyimpan, memetakan, dan menelusuri hubungan antar node melalui edge. Node merepresentasikan elemen data, juga disebut objek atau entitas. Setiap node memiliki edge masuk atau keluar. Edge merepresentasikan hubungan antara dua node. Edge tersebut berisi beberapa properti yang sesuai dengan node yang dihubungkannya.
“Zoumana belajar di Texas Tech University. Ia suka berlari di Taman di dalam Universitas”

Kelebihan Database Graf/node
- Strukturnya lincah dan fleksibel.
- Hubungan antar node dalam database dapat dibaca manusia dan eksplisit, sehingga mudah dipahami.
Keterbatasan Database Graf/node
- Tidak ada bahasa kueri terstandar karena setiap bahasa bergantung pada platform.
- Alasan sebelumnya membuat sulit mencari dukungan online saat menghadapi masalah.
Kapan Menggunakan Database Graf/node
- Dapat digunakan ketika Anda perlu membuat hubungan antar elemen data dan mampu dengan cepat mengambil kembali hubungan tersebut.
Aplikasi
- Dapat digunakan untuk melakukan deteksi penipuan yang canggih dalam transaksi keuangan real-time.
- Dapat digunakan untuk menggali data dari media sosial. Misalnya, LinkedIn menggunakan database graf untuk mengidentifikasi pengguna mana yang saling mengikuti, serta hubungan antara para pengguna tersebut dan keahliannya (ML Engineer).
- Pemetaan jaringan sangat cocok direpresentasikan sebagai graf karena jaringan tersebut memetakan hubungan antara perangkat keras dan layanan yang didukungnya.
7 Database NoSQL Terbaik untuk Data Science
Sekarang Anda memiliki pemahaman yang lebih baik tentang database NoSQL, mari lihat daftar database NoSQL yang populer untuk proyek data science. Analisis ini hanya berfokus pada database NoSQL open-source.

1. MongoDB
MongoDB adalah database berorientasi dokumen open-source yang menyimpan data dalam format JSON. Ini adalah database yang paling umum digunakan dan dirancang untuk ketersediaan tinggi serta skalabilitas, menyediakan auto-sharding dan replikasi bawaan. Kursus Pengantar MongoDB kami membahas penggunaan MongoDB dan Python. Kursus ini membantu memperoleh keterampilan untuk memanipulasi dan menganalisis data berstruktur fleksibel dengan MongoDB. Uber, LaunchDarkl, Delivery Hero, dan 4300 perusahaan menggunakan MongoDB dalam tumpukan teknologi mereka.
2. Cassandra
Cassandra juga merupakan database kolom besar open-source. Ia dapat mendistribusikan data Anda ke beberapa mesin dan secara otomatis melakukan repartisi saat Anda menambahkan mesin baru ke infrastruktur Anda. Uber, Facebook, Netflix, dan 506 perusahaan lainnya menggunakannya dalam tumpukan teknologi mereka.
3. Elasticsearch
Mirip dengan MongoDB, Elasticsearch juga merupakan database berorientasi dokumen dan bersifat open-source. Ini adalah alat pencarian dan analitik terkemuka di dunia yang berfokus pada skalabilitas dan kecepatan. Uber, Shopify, Udemy, dan sekitar 3760 perusahaan lainnya menggunakannya dalam tumpukan mereka.
4. Neo4J
Neo4J adalah database berorientasi graf open-source. Terutama digunakan untuk menangani data yang berkembang dengan relasi. Sekitar 220 perusahaan dilaporkan menggunakannya dalam tumpukan teknologi mereka.
5. HBase
Ini adalah database terdistribusi dan berorientasi kolom. Ia juga menyediakan kapabilitas yang sama seperti BigTable milik Google di atas Apache Hadoop. Dilaporkan, 81 perusahaan menggunakan HBase dalam tumpukan teknologi mereka.
6. CouchDB
CouchDB juga merupakan database berorientasi dokumen open-source yang mengumpulkan dan menyimpan data dalam format JSON. Sekitar 84 perusahaan menggunakannya dalam tumpukan teknologi mereka.
7. OrientDB
Juga merupakan database open-source, OrientDB adalah database multi-model yang mendukung model graf, dokumen, key-value, dan objek. Hanya 13 perusahaan yang dilaporkan menggunakannya dalam tumpukan teknologi mereka.
Kesimpulan
Blog ini telah membahas aspek utama database NoSQL dan bagaimana database tersebut dapat bermanfaat bagi proyek data science Anda di lingkungan yang tumbuh pesat saat ini. Anda memiliki semua alat yang diperlukan untuk memilih dan menerapkan database yang tepat untuk kasus penggunaan Anda. Jika Anda masih ragu untuk menggunakannya, sekaranglah saatnya bagi Anda dan tim memanfaatkan kekuatan database ini.
Untuk mempelajari lebih lanjut, kursus kami tentang konsep NoSQL akan memperkuat pengetahuan Anda tentang empat database utama yang telah kita bahas sebelumnya.
