सॉफ्टवेयर इंजीनियर को लॉग के बारे में जो कुछ जानना चाहिए | Apache Kafka के जन्म की पृष्ठभूमि
(link.medium.com)Linkedin में Apache Kafka विकसित करने वाले Jay Kreps ने 2013 में लिखा था यह लेख, उसका अनुवाद और व्याख्या करने वाला एक आर्टिकल
- लॉग(Log): सबसे सरल रूप में abstract किया गया storage है, जिसमें केवल append-only संभव है, और यह एक data structure है जिसमें सभी events समय क्रम में व्यवस्थित होते हैं
- पारंपरिक database systems में replication लागू करने के लिए लॉग की केंद्रीय भूमिका होती है
- state machine replication पर आधारित distributed systems भी वास्तव में लॉग को replicate करने वाली systems ही हैं
- लॉग और table मूलतः समान प्रकृति रखते हैं।
- बैंक के उदाहरण में, लॉग जमा-निकासी का रिकॉर्ड है और table खाते का balance दिखाती है। लॉग से table बनाई जा सकती है, और इसके उलट table से लॉग निकाला जा सकता है
- कई कंपनियाँ big data अपनाने में तो सक्रिय थीं, लेकिन भरोसेमंद data pipeline बनाने में उनकी रुचि कम थी
- End-to-End तरीके से data को जोड़ना failures, maintenance, data fragmentation, और event data के विकास के कारण धीरे-धीरे अधिक कठिन हो गया।
- Apache Kafka का विचार इस प्रेरणा से शुरू हुआ कि लॉग(Log) नाम की इस data structure को main network layer के रूप में abstract किया जाना चाहिए
- Jay Kreps ने Quora पर समझाया कि पहले message queue इंफ्रास्ट्रक्चर की दुनिया में बहुत छोटा क्षेत्र था। उनका मानना था कि real-time data को event stream के रूप में abstract किया जाना चाहिए, और persistence वाली commit log इसके लिए उपयुक्त data structure है
अभी कोई टिप्पणी नहीं है.