130 साल पुराने अख़बार की digital transformation की कहानी
G1. 2008~2014 : पढ़े गए लेखों के आधार पर news recommendation पर फ़ोकस। SQL Server आधारित
G2. 2014~2016 : ETL की शुरुआत। बड़े पैमाने के डेटा विश्लेषण और नए सवाल, डेटा की मात्रा में वृद्धि
→ SQL Server bottleneck बन गया। Redshift + ETL Framework में बदलाव
→ SQL को रोज़ कई बार चलाने के लिए scheduling automation
→ SQL + Python के साथ complex data model को support
G3. 2016~2018 : FT में big data की शुरुआत
→ डेटा latency को कम से कम करना लक्ष्य। Data Ingestion दिन में एक बार (24h) होता था। इसे घटाना ज़रूरी था ताकि trends पर और तेज़ी से प्रतिक्रिया दी जा सके
→ पाठकों के सभी interactions भेज सकने वाली अपनी tracking library विकसित की
→ सभी events को AWS SNS → SQS → Kinesis → Parquet → Redshift
→ Raw Event को process करने के लिए NodeJS server बनाया, जो अंदरूनी और बाहरी डेटा को मिलाकर event को enrich करने के बाद Kinesis पर डालता था
→ Kinesis Firehose का उपयोग करके events को CSV में बदलकर S3 में स्टोर किया
→ events के duplication की स्थिति आती थी, इसे संभालने के लिए अलग Redshift cluster बनाया गया, लेकिन इसी वजह से latency धीमी हो गई
G4. 2019 : business value बढ़ाने पर ज़ोर देते हुए प्लेटफ़ॉर्म को rebuild किया
→ डेटा प्लेटफ़ॉर्म को PaaS में बदलना चाहते थे
→ Kubernetes की शुरुआत। ECS से EKS पर
→ Airflow की शुरुआत
→ AWS SNS → SQS → Kinesis → Parquet → Airflow → Redshift
G5. 2020 : अब real-time data का युग
→ G4 अच्छा था, लेकिन अभी भी real-time संभव नहीं था
→ SNS,SQS,Kinesis की complex settings से Kafka में बदलाव ( Amazon MSK )
→ stream processing platform है Apache Spark
→ kafka → spark → parquet(delta lake, redshift) ↔ airflow
→ डेटा validation के लिए Apache Avro की शुरुआत : Data Contract
→ Redshift, S3, Kafka आदि को query करने के लिए Presto का उपयोग
आगे की योजना
→ अभी डेटा Airflow, Spark, Kafka इन 3 components से आ रहा है, इसे CDC(Change Data Capture) आधारित में बदलने की योजना
→ ऐसा बदलाव कि सभी लोग real-time data तक पहुँच सकें। Data UI को बेहतर बनाकर stream processing को drag & drop से संभव बनाना
4 टिप्पणियां
ओह, ऐसे ब्लॉग पोस्ट मुझे पसंद हैं। इसमें आर्किटेक्चर की हर पीढ़ी के हिसाब से अलग-अलग चिंताएँ दिखती हैं। मीडिया संस्थान भी इस स्तर का डेटा प्लेटफ़ॉर्म डिज़ाइन करते हैं।
वैसे, यहाँ SQS -> Nodejs loop -> Kinesis जैसी कनेक्शन संरचना बनाई गई है। सोच रहा हूँ कि क्या इसे सिर्फ Kinesis से ही नहीं निपटाया जा सकता था। अभी AWS की उतनी अच्छी समझ नहीं है, इसलिए टीटी
अच्छे लेख के सारांश के लिए धन्यवाद!
अगर आप यहाँ आए शब्दों की व्याख्या देखना चाहते हैं,
तो ऊपर की पोस्ट और GeekNews YouTube का "आधुनिक डेटा इंफ्रास्ट्रक्चर को समझना" वीडियो देखें
और इसी तरह, डिजिटल ट्रांसफॉर्मेशन में सफल रहे New York Times की कहानी भी साथ में देखें
New York Times जो असफल नहीं हुआ - NYT ने डिजिटलीकरण में सफलता कैसे पाई
https://youtu.be/K2qiAFTzDLU
(असफल न होने वाला) New York Times https://hi.news.hada.io/topic?id=3172