Kisah pembangunan platform data Financial Times
(medium.com)Kisah transformasi digital surat kabar berusia 130 tahun
G1. 2008~2014: Berfokus pada rekomendasi berita berdasarkan artikel yang dibaca. Berbasis SQL Server
G2. 2014~2016: Pengenalan ETL. Analisis data skala besar dan pertanyaan-pertanyaan baru, volume data meningkat
→ SQL Server menjadi bottleneck. Beralih ke Redshift + framework ETL
→ Otomatisasi penjadwalan agar SQL dijalankan beberapa kali setiap hari
→ Mendukung model data yang kompleks dengan SQL + Python
G3. 2016~2018: Awal mula big data di FT
→ Menargetkan minimisasi latensi data. Data ingestion dilakukan sekali sehari (24h). Ini perlu dikurangi agar bisa merespons tren lebih cepat
→ Mengembangkan library tracking internal yang dapat mengirim seluruh interaksi pembaca
→ Semua event melalui AWS SNS → SQS → Kinesis → Parquet → Redshift
→ Membuat server NodeJS untuk memproses raw event, menggabungkan data internal dan eksternal untuk memperkaya event lalu mengirimkannya ke Kinesis
→ Menggunakan Kinesis Firehose untuk mengubah event menjadi CSV dan menyimpannya ke S3
→ Karena terjadi duplikasi event, dibuat klaster Redshift terpisah untuk menanganinya, tetapi ini menyebabkan latensi melambat
G4. 2019: Membangun ulang platform dengan fokus pada penambahan nilai bisnis
→ Ingin mengubah platform data menjadi PaaS
→ Mengadopsi Kubernetes. Dari ECS ke EKS
→ Mengadopsi Airflow
→ AWS SNS → SQS → Kinesis → Parquet → Airflow → Redshift
G5. 2020: Kini era data real-time
→ G4 sudah bagus, tetapi real-time masih belum memungkinkan
→ Beralih dari konfigurasi SNS, SQS, Kinesis yang kompleks ke Kafka (Amazon MSK)
→ Platform stream processing adalah Apache Spark
→ kafka → spark → parquet(delta lake, redshift) ↔ airflow
→ Mengadopsi Apache Avro untuk validasi data: data contract
→ Menggunakan Presto untuk melakukan query ke Redshift, S3, Kafka, dan lainnya
Rencana ke depan
→ Saat ini data masuk dari tiga komponen, yaitu Airflow, Spark, dan Kafka; ini akan diubah ke basis CDC (Change Data Capture)
→ Mengubah sistem agar semua orang dapat mengakses data real-time. Meningkatkan Data UI agar stream processing bisa dilakukan dengan drag & drop
4 komentar
Oh, saya suka tulisan blog seperti ini. Terlihat ada pertimbangan untuk tiap generasi arsitektur. Ternyata perusahaan media juga merancang platform data dengan skala sebesar ini.
Ngomong-ngomong, mereka menghubungkannya seperti SQS -> loop Nodejs -> Kinesis ya. Saya jadi penasaran apakah ini tidak bisa diringkas cukup dengan satu Kinesis saja. Saya masih belum terlalu paham AWS sih T_T
Terima kasih atas ringkasan artikelnya yang bagus!
Jika ingin melihat penjelasan istilah-istilah yang muncul di sini,
Silakan rujuk tulisan di atas dan video GeekNews YouTube "Memahami infrastruktur data modern"
Selain itu, lihat juga kisah New York Times yang berhasil melakukan transformasi digital dengan cara serupa
New York Times yang tidak gagal - bagaimana NYT berhasil dalam digitalisasi
https://youtu.be/K2qiAFTzDLU
New York Times (yang tidak gagal) https://id.news.hada.io/topic?id=3172