Data storage/warehouse Pada Machine Learning
Ada kalanya kita ingin menyimpan data yang telah kita proses ke dalam penyimpanan data tertentu agar kita bisa mengolahnya kembali di lain waktu. Untuk mendukung hal tersebut, ada beberapa tools yang bisa gunakan.
- RDBMS
Dalam model relasional, sebuah database terdiri dari banyak tabel. Sebuah tabel dibentuk dari kolom dan baris yang memuat nilai tertentu. Konsep Relational Database Management System (RDBMS) sendiri merupakan sistem yang mendukung adanya hubungan atau relasi antar tabel pada suatu database. Setiap tabel dihubungkan dengan tabel lainnya dengan menggunakan primary key dan foreign key. Saat ini sudah banyak jenis database yang menerapkan model RDBMS. Sebut saja MySQL, PostgreSQL, dan Microsoft SQL Server. - NoSQL
Sesuai dengan namanya NoSQL adalah jenis basis data yang tidak menggunakan bahasa SQL dalam manipulasi datanya. Dalam penyimpanan datanya, NoSQL memiliki beberapa teknik penyimpanan yaitu:
- Dokumen : menghubungkan setiap kunci dengan struktur data kompleks yang disebut dokumen.
- Graf : menyimpan informasi tentang jaringan data, seperti koneksi sosial.
- Nilai-kunci : adalah database NoSQL paling sederhana di mana setiap elemen dalam database disimpan sebagai nilai yang diasosiasikan dengan sebuah kunci.
- Kolom : menyimpan data yang memiliki volume besar, dimana setiap elemen data disimpan pada kolom bukan pada baris.
Beberapa database NoSQL terpopuler adalah MongoDB, CouchDB, Cassandra, Redis, Neo4J, dan Riak. Jika ingin mengetahui lebih lanjut tentang NoSQL, silahkan Anda kunjungi tautan berikut.
- Firebase Realtime Database
Sesuai namanya, “Database Realtime” adalah database yang menyimpan data yang berubah seiring waktu. Data jumlah penjualan harian, pengunjung mall setiap jam, arus lalu lintas setiap menit, atau fluktuasi saham setiap detik merupakan beberapa contoh data realtime. Data pada database realtime disimpan dalam format waktu dan nilai pada waktu yang terkait seperti gambar di bawah.
Firebase Realtime Database (FRD) adalah database berbasis cloud yang didesain khusus untuk mengelola data realtime. FRD dapat menyimpan dan melakukan sinkronisasi data secara realtime di mana setiap kali ada perubahan data terbaru, FRD langsung menyimpannya pada Cloud. FRD juga dilengkapi fitur offline di mana ketika tidak ada koneksi internet, FRD akan menyimpan data secara lokal, kemudian saat online, akan melakukan sinkronisasi ke Cloud. Keren, kan? - Spark
Apache Spark adalah perangkat lunak untuk pemrosesan dan analisis data berskala besar. Spark dapat digunakan dalam proses ETL (Extract Load Transform), data streaming, perhitungan grafik, SQL, dan machine learning. Untuk machine learning, Spark menyediakan MLlib yang berisi implementasi model machine learning seperti klasifikasi, regresi, pengklasteran, penurunan dimensi, dan pemfilteran kolaboratif. - Big Query
BigQuery adalah data warehouse berbasis cloud untuk perusahaan yang menawarkan penyimpanan data berbasis SQL dan analisis data berukuran besar. Karena berbasis cloud dan tidak ada infrastruktur yang perlu dikelola, pengguna dapat berfokus pada pengolahan data tanpa memerlukan seorang administrator database. Di bawah ini adalah tampilan antarmuka dari Google BigQuery.
Sebagai ML Engineer masa depan, kita harus mampu mengoperasikan berbagai jenis data storage dan data warehouse karena perusahaan tempat kita ingin bekerja sebagai ML Engineer nanti, tidak selalu menggunakan data warehouse atau data storage yang sama