Bootstrap Tumpukan Data Modern dalam 5 menit dengan Terraform
Apa itu Data Stack Modern dan bagaimana Anda menerapkannya? Panduan ini akan memotivasi Anda untuk memulai perjalanan ini dengan petunjuk penyiapan untuk Airbyte, BigQuery, dbt, Metabase, dan semua yang Anda perlukan menggunakan Terraform.
By Tuan Nguyen, CTO & anggota Dewan di Joon Solutions.
Arsitektur Data Stack Modern (gambar oleh penulis).
Apa itu Tumpukan Data Modern
Modern Data Stack (MDS) adalah tumpukan teknologi yang membuat gudang data modern berkinerja 10–10,000x lebih baik daripada gudang data lama. Pada akhirnya, MDS menghemat waktu, uang, dan tenaga. Empat pilar MDS adalah: konektor data, Sebuah gudang data cloud, Sebuah transformator data, Dan BI & eksplorasi data tool.
Mudah integrasi dimungkinkan dengan alat sumber terbuka dan terkelola yang membuat ratusan konektor siap pakai sebelumnya. Apa yang dulu membutuhkan tim insinyur data untuk membangun dan memelihara secara teratur sekarang dapat diganti dengan alat untuk kasus penggunaan sederhana. Solusi terkelola seperti Menjahit dan Fivetrans, bersama dengan solusi sumber terbuka seperti Airbyte dan Meltano, membuat ini terjadi.
Menggunakan gudang data kolumnar berbasis cloud telah menjadi tren baru-baru ini karena kinerjanya yang tinggi dan efektivitas biaya. Daripada membayar $100K per tahun untuk database MPP (pemrosesan paralel besar-besaran) di tempat, Anda dapat mulai membayar mulai $100 (atau kurang) per bulan. Gudang data cloud-native dikatakan 10–10,000x kali lebih cepat daripada OLTP tradisional. Pilihan populer dalam kategori ini adalah Pertanyaan Besar, Kepingan salju, dan Redshift.
Di masa lalu, pemrosesan data di dalam gudang data adalah hambatan karena keterbatasan teknologi. Akibatnya, perusahaan harus memilih ETL daripada ELT untuk mengurangi beban kerja gudang data. Namun, dengan kemajuan gudang data asli cloud, banyak alat transformasi dalam gudang data menjadi populer. Yang paling menonjol dalam kategori ini adalah dbt (alat pembuatan data) dan Dataform.
Alat BI digunakan untuk menangani beberapa transformasi untuk mengurangi beban kerja pada gudang data lama juga. Namun, dengan tumpukan data modern, fokus alat BI telah dialihkan (menurut saya) untuk mendemokratisasi akses data, layanan mandiri, dan penemuan data. Beberapa alat yang menurut saya menuju ke arah yang benar adalah Penonton, metabase, dan Superset.
Arsitektur kami
Memulai dengan Modern Data Stack dapat menjadi hal yang menakutkan karena banyak alat dan proses berbeda yang terlibat. Artikel ini bertujuan untuk membantu Anda memulai perjalanan ini semulus mungkin. Ada banyak langkah persiapan, tetapi hanya perlu lima menit untuk memutar semua sumber daya setelah Anda selesai.
Kami akan menggunakan Terraform, alat sumber terbuka infrastruktur sebagai kode untuk menyediakan semua yang ada di Google Cloud. Jika Anda mengikuti petunjuk di bawah ini, berikut adalah sumber daya yang akan dibuat.
- Proyek Google Cloud dengan API yang diperlukan diaktifkan
- Penyerapan: instans GCE yang menjalankan Airbyte
- Pergudangan: set data BigQuery
- Orkestrasi (opsional): instance GCE yang menjalankan Airflow
- BI & penemuan data: instance GCE yang menjalankan Metabase
- Akun layanan untuk berbagai layanan & ikatan izin IAM-nya
Memulai
Buat akun Google Cloud dan aktifkan penagihan
Kode Terraform dalam proyek ini akan berinteraksi dengan Google Cloud Platform. Oleh karena itu, langkah pertama kami adalah membuat akun Google dan aktifkan penagihan. Perhatikan ID penagihan dengan format berikut di Halaman Penagihan: ######-######-######-#####. Anda akan membutuhkan nilai ini di langkah berikutnya.
Instal Google Cloud CLI
Instal Google Cloud SDK dengan mengikuti petunjuk di sini untuk OS Anda masing-masing. Setelah Anda memiliki gcloud CLI diinstal, jalankan perintah berikut di jendela terminal dan ikuti instruksi. Ini akan memungkinkan Terraform menggunakan kredensial default untuk otentikasi.
login default aplikasi autentikasi gcloud
Instal terraform
Ikuti petunjuk di sini untuk menginstal Terraform CLI secara lokal. Jalankan perintah berikut sesudahnya untuk memeriksa instalasi Anda:
terraform -v
Anda akan melihat sesuatu seperti ini:
Terraform v1.0.0 di darwin_amd64 + penyedia registry.terraform.io/hashicorp/google v3.71.0
Garpu atau klon repo ini secara lokal
Anda dapat garpu repo ini ke akun Anda atau mengkloningnya ke mesin lokal Anda. Untuk mengkloning repo, jalankan yang berikut ini:
git clone https://github.com/tuanchris/modern-data-stack cd modern-data-stack
Membuat terraform.tfvars fillet
Membuat terraform.tfvars file dengan konten berikut:
# ID Penagihan dari langkah pertama billing_id = ######-######-###### # ID folder tempat Anda ingin proyek Anda berada di bawah # Biarkan kosong jika Anda menggunakan a personal account folder_id = "" # ID organisasi tempat Anda ingin menempatkan proyek Anda # Biarkan kosong jika Anda menggunakan akun pribadi org_id = "" # Proyek untuk membuat project_id = ""
peringatan: Ini dianggap nilai sensitif. Jangan komit file ini dan *.tfstate file ke repo publik.
Sesuaikan nilai di variabel.tf
Variabel dalam variabel.tf akan digunakan untuk konfigurasi sumber daya.
Gambar oleh penulis.
Anda dapat menyesuaikan jenis mesin untuk layanan yang berbeda dengan mengubah variabel. Jika Anda tidak ingin menggunakan layanan apa pun, beri komentar di gce.tf file.
Anda juga dapat membuat kumpulan data yang berbeda untuk sistem sumber Anda dengan menambahkannya ke kamus kumpulan data sumber.
Buat tumpukan data modern
Terakhir, untuk menyediakan semua sumber daya ini di Google Cloud, jalankan perintah berikut:
terraform berlaku
Gambar oleh penulis.
Pelajari output di terminal untuk memastikan bahwa semua pengaturan sumber daya sesuai dengan yang Anda inginkan. Jenis iya nih dan tekan Enter.
Terraform akan membuat proyek Google Cloud dengan tumpukan data modern kami. Seluruh proses akan memakan waktu sekitar 2-3 menit. Diperlukan tambahan 2-3 menit untuk menginstal layanan pada instans VM. Seluruh proses hanya akan memakan waktu 5 menit atau kurang.
Menggunakan tumpukan data modern
Ambil akun layanan untuk layanan yang berbeda
Gambar oleh penulis.
Google merekomendasikan penggunaan akun layanan yang berbeda untuk layanan yang berbeda. Kode terraform dalam proyek telah membuat akun berbeda untuk berbagai teknologi yang sudah digunakan. Untuk mengambil akun layanan untuk layanan tertentu, jalankan perintah berikut:
keluaran terraform [nama_layanan]_sa_key
Izin default untuk semua akun ini adalah role/bigquery.admin. Anda dapat menyesuaikan ini di iam.tf file.
Nilai yang Anda dapatkan kembali dikodekan base64. Untuk mengembalikan nilai ini ke format JSON, jalankan perintah berikut:
echo "[nilai dari perintah sebelumnya]" | base64 -d
Anda dapat menggunakan akun layanan JSON untuk mengautentikasi akses layanan ke sumber daya proyek Anda.
peringatan: Siapa pun yang memiliki akun layanan ini dapat mengakses proyek Anda.
Serap data dengan Airbyte
Airbyte adalah alat integrasi data sumber terbuka yang sangat baik. Untuk mengakses UI Airbyte, pertama-tama, dapatkan perintah gcloud SSH.
Gambar oleh penulis.
Anda akan mendapatkan perintah yang mirip dengan ini:
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-airbyte" --project "tf-airbyte-demo"
Selanjutnya, tambahkan perintah berikut ke port-forward UI Airbyte secara lokal:
--L 8000:localhost:8000 -L 8001:localhost:8001 -N -f
Perintah terakhir Anda akan terlihat seperti ini:
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-airbyte" --project "tf-airbyte-demo" -- -L 8000:localhost:8000 -L 8001:localhost:8001 - N -f
Catatan: Pastikan untuk menghapus karakter baris baru setelah menyalin dari UI GCP.
Jika instans Airbyte telah selesai dimulai, Anda dapat mengaksesnya dengan membuka browser Anda dan mengunjungi localhost: 8000. Jika tidak, tunggu lima menit hingga instans menyelesaikan penginstalan.
Gambar oleh penulis.
Sekarang Anda dapat mengintegrasikan sumber Anda, menambahkan tujuan BigQuery menggunakan airbyte_sa_key, dan dapatkan data Anda di BigQuery dalam waktu singkat.
Anda dapat mengakses instalasi Airbyte di /airbyte/ di dalam VM.
Model data dengan dbt
dbt (alat pembuatan data) adalah alat transformasi data sumber terbuka yang kuat menggunakan SQL. Ini memungkinkan Analis Data untuk melakukan pekerjaan yang sebelumnya disediakan untuk Insinyur Data. Ini juga membantu menciptakan posisi yang sama sekali baru yang disebut Analytics Engineer, gabungan antara Data Analyst dan Data Engineer. Anda dapat membaca lebih lanjut tentang posisi di blog saya di sini.
Gambar oleh penulis.
Tidak seperti Airbyte, Airflow, dan Metabase, Anda tidak memerlukan server untuk menjalankan dbt. Anda dapat mendaftar untuk akun 1 kursi gratis (selamanya) dengan mengunjungi situs web.
Atur alur kerja dengan Airflow
Aliran udara adalah alat orkestrasi alur kerja yang terbukti dalam pertempuran yang dibuat oleh Airbnb. Dengan tumpukan data modern, semoga, Anda tidak perlu terlalu sering menggunakan Airflow. Namun, dalam beberapa kasus di mana beberapa penyesuaian diperlukan, Airflow dapat menjadi alat bantu Anda.
Untuk mengakses UI, dapatkan perintah SSH yang mirip dengan bagian di atas dengan Airbyte. Gunakan perintah berikut untuk port-forward:
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-airflow" --project "tf-airbyte-demo" -- -L 8080:localhost:8080 -N -f
Sekarang Anda dapat mengakses instalasi Airflow di localhost: 8080. Nama pengguna & kata sandi default adalah admin dan admin.
Gambar oleh penulis.
Anda dapat mengakses instalasi aliran udara di /aliran udara/ di dalam VM.
Visualisasikan data dengan Metabase
metabase adalah alat visualisasi dan penemuan data sumber terbuka. Ini sangat ramah pengguna dan mudah untuk memulai.
Untuk mengakses Metabase UI, dapatkan perintah SSH yang mirip dengan bagian di atas dengan Airbyte. Kemudian, gunakan perintah berikut untuk port-forward:
gcloud beta komputasi ssh --zone "asia-southeast1-a" "tf-airbyte-demo-metabase" --project "tf-airbyte-demo" -- -L 3000:localhost:3000 -N -f
Gambar oleh penulis.
Membersihkan
Untuk menghindari biaya yang tidak diinginkan, pastikan untuk membersihkan sumber daya yang dibuat dalam proyek ini dengan menjalankan.
terraform menghancurkan
Peringatan: Ini akan menghapus semua data dan sumber daya yang ada dalam proyek. Atau, Anda dapat mematikan GCE yang tidak digunakan untuk menghemat biaya juga.
Original. Diposting ulang dengan izin.
Bio: Tuan Nguyen adalah CTO dari Joon Solutions, sebuah perusahaan Data sebagai Layanan. Pengalaman profesionalnya berkisar pada membangun dan mengelola tim ilmu data, infrastruktur analitik, dan kasus penggunaan analitik. Dia suka menggabungkan hasratnya untuk analitik data dan komputasi awan untuk membantu bisnis tetap kompetitif di zaman digital ini. Dia memiliki berbagai minat, termasuk astronomi, membaca, musik, dan IoT.
Terkait:
Sumber: https://www.kdnuggets.com/2021/08/bootstrap-modern-data-stack-terraform.html
- "
- &
- mengakses
- Akun
- Tambahan
- Airbnb
- Semua
- analis
- analisis
- Apache
- api
- arsitektur
- sekitar
- artikel
- astronomi
- Otentikasi
- mobil
- beta
- permintaan besar
- penagihan
- Blog
- papan
- anggota dewan
- batas
- Browser
- membangun
- Bangunan
- bisnis
- yang
- kasus
- awan
- komputasi awan
- Platform Cloud
- kode
- Perusahaan
- perusahaan
- menghitung
- komputasi
- Konten
- Biaya
- membuat
- CTO
- data
- akses data
- Data Analytics
- integrasi data
- ilmu data
- visualisasi data
- data warehouse
- gudang data
- Basis Data
- hari
- belajar mendalam
- menghancurkan
- digital
- Kepala
- penemuan
- insinyur
- Insinyur
- Pengalaman
- Pertama
- Fokus
- mengikuti
- format
- Gratis
- Gold
- Google Cloud
- GPU
- membimbing
- di sini
- High
- Seterpercayaapakah Olymp Trade? Kesimpulan
- HTTPS
- Ratusan
- Hibrida
- IAM
- gambar
- Termasuk
- Infrastruktur
- integrasi
- terlibat
- idiot
- IT
- BELAJAR
- pengetahuan
- lokal
- lokal
- Mesin belajar
- Membuat
- medium
- ML
- uang
- musik
- secara online
- Buka
- open source
- Pendapat
- Opsi
- Kata Sandi
- prestasi
- Platform
- Populer
- proyek
- publik
- jarak
- Bacaan
- menurunkan
- sumber
- Sumber
- Run
- berjalan
- Ilmu
- ilmuwan
- SDK
- Swalayan
- Layanan
- Sederhana
- Solusi
- Berputar
- SQL
- awal
- mulai
- tinggal
- cerita
- sistem
- Teknologi
- waktu
- puncak
- Transformasi
- mengubah
- ui
- nilai
- visualisasi
- menunggu
- Gudang
- Apa itu
- Kerja
- alur kerja
- X
- tahun