Lanjutin AI Skills Challenge nya Microsoft - Fabric Analytics Engineer
Jadi kemarin tuh gw udah post pengenalan terkait Microsoft Fabrics sebagai solusi end-to-end data, platform kayak Snowflake lah. Nah karena gw gabut, lagi gak kondusif untuk belajar use case ETL di GCP dan lagi hopeless lanjutin belajar machine learning, jadi gw memutuskan untuk lanjut belajar Microsoft Fabrics.
Gw akan buat quick review gw di sini, sebagai notes apa aja pembahasan penting di tiap modul nya, karena gw pikir klo gw buat notes 1 post 1 modul gw rasa pendek nya nanggung, panjang nya kebanyakan copas. Oke tanpa berlama-lama mari kita lanjut.
1. Introduction to end-to-end analytics using Microsoft Fabrics
Microsoft Fabric itu adalah platform end-to-end analitik, yang mengintegrasikan beberapa service/layanan yang memungkinkan kita melakukan memuat, menyimpan, memproses, dan menganalisis data dalam 1 environment.
Ada beberapa tools yang diintegrasikan dalam Microsoft Fabrics, yaitu:
- Data integration
- Data engineering
- Data warehousing
- Real-time analytics
- Data science
- Business intelligence
Gw sebenarnya agak sangsi sama nama tools nya, kenapa gak dibuat nama khusus aja kayak misal untuk pengolahan di Snowflake dikasih nama Snowpark dan sebagainya. Tapi mari kita lanjut dulu aja, pasti nanti tercerahkan untuk setiap tools nya.
Next chapter nya kita dikasih pembahasan mengenai OneLake, sebagai istilah untuk arsitektur OneLake yang menyediakan layanan terintegrasi. Anggaplah kayak ada ETL di GCP, beberapa data nya di simpan di Cloud Storage, Cloud SQL, dan BigQuery. Sedangkan yang gw tangkap di sini tuh, semua data nya disimpan dan di akses di/dari OneLake, makanya ada disebut kayak begini
Fabric's OneLake architecture facilitates collaboration between data team members and saves time by eliminating the need to move and copy data between different systems and teams. OneCopy is a key component of OneLake that allows you to read data from a single copy, without moving or duplicating data.
Ya kan ya? Nah ini dijelasin juga tuh, produk untuk setiap layanannya, jadi akan gw petakan lagi di bawah ini:
- Data integration > Data Factory
- Data engineering > Synapse Data Engineering
- Data warehousing > Synapse Data Warehouse
- Real-time analytics > Synapse Real Time Analytics
- Data science > Synapse Data Science
- Business intelligence > Power BI
- Insight to action > Data Activator (Coming soon)
Trus dijelasin lagi ni, OneLake itu dibangung di atas Azure Data Lake Storage (lakehouse), inget ini data lake, jadi bisa nyimpan semua format data, termasuk CSV, JSON, Delta, Parquet dan lainnya. Kemudian dari yang gw baca lagi, berarti bener ni metode nya kayak yg gw jelasin di atas yg pake perbandingan penyimpanan data di GCP, jadi kita gak perlu lagi memindahkan atau menyalin data, dan untuk data tabular itu nanti mesin analitik di Fabric nya bakalan nulis data ke format delta-parquet dan mesin bisa berintdak dengan format seperti pada umumnya.
Ada lagi fitur penting di OneLake, yaitu kemampuan untuk membuat 'shortcuts', karena gw gak terlalu jago menerjemahkan, jadi baca aja sendiri yak :v
One important feature of OneLake is the ability to create shortcuts, which are embedded references within OneLake that point to other files or storage locations. Shortcuts allow you to quickly source your existing cloud data without having to copy it, and enables Fabric experiences to derive data from the same source to always be in sync.
Yang gw tangkep, fungsi shortcut ini ya kayak icon pintasan di desktop kita, tapi bedanya ini di tools yang kita pakai, misalnya nih kita asumsikan di environment GCP, anggaplah kita punya data yang lagi kita olah di BigQuery, nah data nya kan tabular yang padahal dia di simpan di Cloud Storage, kita bisa langsung mengakses dan melihat lokasi asli raw data di Cloud Storage nya.
Gw tau Spark, tapi gak tau itu serverless compute yang lain apaan wkwkwk
2. Get started with lakehouses in Microsoft Fabric
Pengenalan singkat, dijelasin ulang bahwa fondasi Microsoft Fabric itu menggunakan OneLake (lakehouse), dan untuk mesin yang memproses data nya itu menggunakan Apache Spark dan SQL Gampang nya, lakehouse (data lake and data warehouse), jadi si OneLake ini flexible and scalable sebagai penyimpanan data lake, dan punya kemampuan untuk query dan menganalisa data sebagai data warehouse. Akhirnya gw mengetahui apa itu lakehouse wkwkwk padahal gak pernah ada niatan tau ini sebelumnya, ini ada analogi yang bagus kenapa kita perlu pakai lakehouse
Imagine your company has been using a data warehouse to store structured data from its transactional systems, such as order history, inventory levels, and customer information. You have also collected unstructured data from social media, website logs, and third-party sources that are difficult to manage and analyze using the existing data warehouse infrastructure. Your company's new directive is to improve its decision-making capabilities by analyzing data in various formats across multiple sources, so the company chooses Microsoft Fabric.
Poin 'Flexible schema-on-read semantics' ini keren juga ya, jadi kita gak harus mendefinisikan struktur/skema nya dulu sebelum ngeload data, melainkan pas data di-load atau diproses. Tapi kan inni data lake, ngapain pake ngomongin skema?
- Upload, ya manual upload kek biasa
- Dataflows (Gen2), seinget gw ini tuh kek Dataflow di GCP, ya untuk ingest dan sink nya ke lakehouse OneLake ini, mesin utamanya dinamain Power Query Online
- Notebooks, ya biasa lah ya, untuk ingest dan transform data, trus load
- Data Factory pipelines, ini kurang lebih tujuannya kek dataflow juga, tapi ada orkestrator macam Composer.
Use the Copy Data activity when you need to copy data directly between a supported source and destination without applying any transformations, or when you want to import the raw data and apply transformations in later pipeline activities.
If you need to apply transformations to the data as it is ingested, or merge data from multiple sources, consider using a Data Flow activity to run a dataflow (Gen2). You can use the Power Query user interface to define a dataflow (Gen2) that includes multiple transformation steps, and include it in a pipeline.
Dataflows are a type of cloud-based ETL (Extract, Transform, Load) tool for building and executing scalable data transformation processes. Traditionally, data engineers spend significant time extracting, transforming, and loading data into a consumable format for downstream analytics. The goal of Dataflows Gen2 is to provide an easy, reusable way to perform ETL tasks using Power Query Online.
First, let's discuss what Fabric notebooks offer over the other ingestion options. Unlike manual uploads, notebooks provide automation, ensuring a smooth and systematic approach. Dataflows offer a UI experience; however, they aren't as performant with large semantic models. Pipelines allow you to orchestrate the Copy Data, and may require dataflows or notebooks for transformations. Therefore, notebooks provide a comprehensive, automated solution for ingestion and transformation.
V-Order and Optimize Write enhance Delta tables by sorting data and creating fewer, larger Parquet files.
Fabric's data warehouse is a relational data warehouse that supports the full transactional T-SQL capabilities you'd expect from an enterprise data warehouse. It's a fully managed, scalable, and highly available data warehouse that can be used to store and query data in the Lakehouse. Using the data warehouse, you're fully in control of creating tables, loading, transforming, and querying data using either the Fabric portal or T-SQL commands. You can use SQL to query and analyze the data, or use Spark to process the data and create machine learning models.
10. Load data into a Microsoft Fabric data warehouse
Gak tau apa bedanya atau benefit atau key point terkait data warehouse di Microsoft Fabrics
Intinya aja nih mungkin dari yg gw baca, data warehouse di support kemampuan T-SQL layaknya enterprise data warehouse (lah klo bilang gini bukannya malah fitur yang ada harusnya tetap ada atau di-upgrade ya? Tapi malah disebut kemampuan macam fitur terbaru)
Di modul data warehouse ini kita dikasih tau untuk menaruh data di staging layer sebelum masuk ke data warehouse, tujuannya untuk melakukan pre-processing data. Tapi gw gak tau ini modul nya kek gak konsisten, beberapa kali bilang staging layer di data warehouse, beberapa kali juga bilang staging layer sebelum masuk ke data warehouse (terpisah).
Ada 2 tipe dalam mekanisme saat load data:
- Full (initial load), biasa dilakukan buat masukin data secara keseluruhan, sifatnya akan menghapus seluruh data histori yang ada lalu memasukan seluruh data nya.
- Incremental load, ini mungkin kayak CDC ya, mode load nya kek append, tujuannya buat upload data lah.
Gw gak ngerti analogi SCD di sini
Slowly Changing Dimensions change over time, but at a slow pace and unpredictably. For example, a customer’s address in a retail business. When a customer moves, their address changes. If you overwrite the old address with the new one, you lose the history. But if you want to analyze historical sales data, you might need to know where the customer lived at the time of each sale. This is where SCDs come into play.
Trus ada beberapa tipe SCD juga
Ya sisanya ngasih tau beberapa cara load data ke data warehouse, ada yg pakai SQL, TSQL, Dataflow, data pipeline pakai Data Factory
11. Use tools to optimize Power BI performance
Pembahasan pertama, menggunakan Performance Analyzer
Jadi ada fitur di Power BI Desktop (apa cuma desktop nya aja?), yaitu Performance analyzer, yang dapat memabntu kita melihat gimana report kita bekerja dari query yang udah dibuat.
The Performance analyzer displays and records logs that measure how each of your report elements performs when users interact with them.
Dari kalimat nya aja dah menjelaskan ini buat apaan, Performance analyzer ini menunjukan dan merekam log, yang menghitung gimana setiap elemen report nya bekerja ketika user berinteraksi, kita bisa ngeliat mana yang performa nya paling rendah, jadi bisa kita lakukan perubahan, analisis lagi dan liat perubahannya.
Performance Analyzer ngambil data dari beberapa subsistem yang menjalankan Power BI Report, sebagai berikut:
- Report Canvas, yang menyediakan UI untuk Power BI reports, kurang lebih gw pahamin canvas ini bekerja sebagai media yang menjembatani user dengan data, karena disebut Report Canvas ini bisa mengembalikan data dengan high-level, internal, Power BI query languange atau disebut Semantic Query
- Data Shape Engine (DSE), mengevaluasi si Semantic Query, dengan membuat dan menjalankan 1 atau lebih DAX query pada data yang disimpan di Power BI, PB Desktop, Azure Analysis atau SQL Server.
- Data Model Engine (AS),
Iya nih bener, jadi ada fitur namanya Performance Analyzer, kita bisa melakukan analisis terhadap performa dari query yang udah kita buat dalam melakukan reporting.
Kalau dari penjelasannya sih, kita tinggal klik Start recording, trus pindah tab report, trus balik lagi buat ngeliat gimana si aspek report nya ngequery.
Komentar
Posting Komentar