16 poin oleh xguru 2020-12-17 | 4 komentar | Bagikan ke WhatsApp

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

 
kbumsik 2020-12-17

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.

 
kbumsik 2020-12-17

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

 
cbbatte 2020-12-17

Terima kasih atas ringkasan artikelnya yang bagus!

 
xguru 2020-12-17

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