Mengenal IT: Data Science & Data Warehouse. What are they?
--
Objectives:
— Mengenal definisi Data Science dan Data Warehouse
— Memahami implementasi Data Warehouse dalam ilmu Data Science & Data Analytics
— Mengenal best practice implementasi Data Warehouse
Hai semuanya!
Selamat datang di series baru penulis nih, Mengenal IT. Di series ini, kita akan membahas mengenai berbagai hal yang ada di dunia IT. Jadi yang sering mampir ke medium ini, jangan kaget kalau hari ini temanya bukan Android Programming ataupun Object-Oriented Programming ya? 😊
Nah, hari ini kita akan membahas yang bisa dibilang, “lagi booming” di dunia IT nih. Data Science, sering denger kan? Kita juga akan membahas Data Warehouse dan Data Analytics nih karena sangat berhubungan dengan Data Science, tentunya secara step-by-step agar tidak membingungkan oke?
Let’s start from Big Data.
What is it?
Oke, sebelum masuk ke materi kita mengenai Data Warehouse dan Data Science yang lebih spesifik, kita perlu mengenal apa itu Big Data.
The definition of big data is data that contains greater variety, arriving in increasing volumes and with more velocity. Put simply, big data is larger, more complex data sets, especially from new data sources.
- “Oracle,” [Online]. Available: https://www.oracle.com/big-data/what-is-big-data/
Jadi, dikutip dari Oracle official website, bisa dibilang Big Data merupakan kumpulan data yang sangat bervariasi (Variety), jumlahnya terus bertambah (Volumes), dan perkembangannya/perubahannya sangat cepat (Velocity). Oh iya, semua karakteristik Big Data tadi dikenal sebagai 3V characteristics.
Seiring berkembangnya zaman, dari 3V, bertambah lagi 2V baru, yaitu nilai yang terkandung dalam kumpulan data (Value) dan keakuratan kumpulan data (Veracity).
Belakangan ini, muncul juga 10V characteristics. Makin banyak kan? Apa aja sih 10V? Kok banyak banget? Nah ini nih, cek gambar di bawah.
Dari yang sebelumnya 5Vs, tambah lagi 5Vs lagi. Bener enggak nih datanya? (Validity), perubahan data yang dinamis (Variability), mampu didistribusikan ke banyak platforms (Venue), udah menggambarkan data structures belom nih? (Vocabulary), dan jangan sampe membingungkan (Vagueness).
Now,
What is Data Science & Data Warehouse?
Data science is the combination of statistics, mathematics, programming, problem-solving, capturing data in ingenious ways, the ability to look at things differently, and the activity of cleansing, preparing, and aligning data.
- “SimpliLearn,” [Online]. Available: https://www.simplilearn.com/data-science-vs-big-data-vs-data-analytics-article
Jadi, simple-nya Data Science adalah kombinasi dari ilmu matematika, statistika, pemrograman, pemecahan masalah, sampai pengambilan data untuk memisahkan data sesuai dengan karakteristiknya. Contohnya, kalau teman-teman berbelanja di sebuah E-Commerce, pada website terdapat memilih kategori makanan, mainan, pakaian, dan sebagainya. Di sinilah ilmu Data Science berperan untuk memisahkan tiap-tiap produk tersebut dalam jumlah banyak sesuai kategorinya. Bagaimana dengan Data Warehouse?
The data warehouse is a specific infrastructure element that provides down-the-line users, including data analysts and data scientists, access to data that has been shaped to conform to business rules and is stored in an easy-to-query format.
- N. J. Bills, “towards data science,” [Online]. Available: https://towardsdatascience.com/data-warehouse-68ec63eecf78.
Dikutip dari Data Science Website, yaitu “towards data science”, Data Warehouse ialah elemen infrastruktur yang spesifik, yang memberikan point menyeluruh kepada penggunanya, termasuk yang di bidang data analyst dan data scientist. Selanjutnya, dijelaskan juga dalam website tersebut untuk pengaksesan dan penyimpanan data, bahwa akses data dibentuk semudah mungkin mengikuti business rule yang ada dan disimpan dengan easy-to-query format. Artinya, data yang disediakan lebih mudah diakses, yang didukung juga dengan penyimpanan yang bisa langsung di-request dengan query, keren bukan?
Let’s Dive Deeper into Data Warehousing!
The data warehouse typically connects information from multiple “source-of-truth” transactional databases, which may exist within individual business units.
- N. J. Bills, “towards data science,” [Online]. Available: https://towardsdatascience.com/data-warehouse-68ec63eecf78.
Oke, dikutip lagi dari “towards data science”, data warehouse umumnya berfungsi untuk menghubungkan informasi dari satu database dengan database lain dalam suatu model bisnis. Nah! Meanwhile, sesuai definisi di section sebelumnya, ilmu data science berfungsi untuk memperoleh kumpulan informasi yang akan dihubungkan oleh data warehouse. Keren ya relationship mereka? Saling timbal balik, uhuy!
Data Warehouse dalam bahasa Indonesia adalah gudang data. Nah, umumnya untuk menyimpan beberapa barang, mereka menyortir atau memisahkan satu kategori dengan kategori lainnya kan? Yap! Dalam data warehouse juga gitu, enggak boleh tiba-tiba dibuat, tanpa ada konsep atau model gimana nanti mau menyimpan datanya. Ada step-by-step seperti :
1. Architecting the Data Warehouse
2. Enhancing Performance and Adjusting Size
3. Related Data Storage Options
4. Working with Big Data
5. Extract, Transform, Load (ETL)
6. Getting Data out of the Warehouse
7. Data Archiving
1. Architecting the Data Warehouse
Dalam membuat data warehouse, dibutuhkan pengembangan dimension model, yang tahapannya meliputi :
→ Perancangan business model yang mendeskripsikan semua requirements
→ Perancangan logical model yang mendeskripsikan datasets dan column types (data types) yang akan digunakan
→ Penyusunan physical model yang menampilkan blueprint nyata tentang relational data warehouse yang akan dikembangkan
Schematic atau struktur ini umumnya berbentuk ERD seperti gambar, dikenal sebagai star schema, yang digambarkan berupa kumpulan fact table yang menyimpan events atau pendataan dan dimension tables yang menyimpan detail informasinya.
2. Enhancing Performance and Adjusting for Size
Untuk memahami struktur datanya, yang merancang model data warehouse tentunya harus familiar juga dengan apa yang sedang dilakukan olehnya. Improving data performance, artinya kita membuat rancangan data warehouse kita menjadi lebih mantap. Nah, biasanya digunakan suatu teknik, yaitu membuat clustered index untuk data yang sering di-request.
Next, adjusting for Size! Okay, sesuai judulnya, “Mengatur ukuran”, artinya kita mengatur ukuran dari penyimpanan data kita. Misalkan, kita mempunyai table yang sangat besar untuk data customer, nah untuk mempersingkat bisa kita split menjadi table_customer dan table_customer_details. Jadi, enggak pusing juga kan bacanya, ya enggak? Perlu diingat, table memiliki column dan row. So, splitting bisa dilakukan secara horizontal maupun vertical.
3. Related Data Storage Options
Di sini, waktunya kita nge-organize keperluan kita nih. Biar ga berantakan, data warehouse bisa kita pecah data-datanya menjadi kumpulan database kecil yang disebut data mart.
4. Working with Big Data
Ketemu lagi nih sama Big Data, di sini kita berkenalan dengan Apache Hadoop. Hadoop biasa digunakan untuk memproses data yang bervariasi, dalam jumlah besar, yang umum digunakan oleh kalangan data scientist. Data yang diproses menggunakan Hadoop, nantinya dapat di distrubusikan sepanjang computer clusters.
Okay, itu kelebihannya, ada juga sih kekurangannya. Hadoop bagus untuk memproses data yang besar atau lebih kerennya, streaming data. Kelemahannya? Hadoop kurang tepat untuk query yang terlalu kompleks, kecepatan eksekusi query itu sendiri, dan security.
5. Extract, Transform, Load (ETL)
ETL, atau proses memindahkan data dari tempat aslinya (Extraction), ubah bentuknya (Transformation), lalu menginputnya ke dalam data warehouse (Load). Perancangan ETL ini termasuk pembuatan source-to-target mapping. Nah lho, apa hayo itu?
Source-to-target mapping tuh beberapa instruksi untuk mengubah struktur dan isi data dalam source atau asalnya nih vs isi yang nanti bakalan ada di target system. Masih bingung? Coba mampir ke sini.
6. Getting Data Out of the Warehouse
Kalo data warehouse udah jadi, datanya jangan disimpan terus di sana, gunakanlah, kirim query untuk mengeluarkan data dari warehouse. Tapi inget, ada beberapa yang harus diperhatikan :
→ Ubah query yang kompleks
→ Pahami memori / disk / Input Output / processor yang digunakan
→ Coba gunakan query JOINS yang lebih sederhana
→ Coba juga untuk menulis query yang bersifat hierarchial
7. Data Archiving
Last but not least, strategi yang sangat penting, data archiving! Enggak jarang lho, data scientist yang melakukan research atau tugasnya dengan melihat kembali history datanya mereka.
Maka dari itu, peran seorang data architect perlu memikirkan gimana ya biar data yang udah enggak kepake, bisa digunakan lagi di kemudian hari. Jadi, masih ada history atau riwayat yang berharga tersimpan hingga kemudian hari. Iya… Sama seperti barang dari orang tersayang kan? Biasanya terus disimpan karena kenangan yang berharga hehe :)
Summary…
Nice! So, data science, data warehouse bahkan big data sangatlah berkaitan satu sama lain. Okay, segitu dulu untuk series Mengenal IT #1 ini. Semoga bermanfaat buat teman-teman semua. ✌
Prasidya Pramadresana Saftari | D3IF 4301 | 6706193049