Twitter बैकएंड को प्रोटोकॉल बफ़र्स पर स्विच किया गया

यद्यपि उपयोगकर्ता ट्वीट्स की मुख्य प्रतियां MySQL और Cassandra डेटाबेस में संग्रहीत की जाती हैं, कंपनी Hadoop पर अतिरिक्त भंडारण को भी दर्शाती है, जिसका उपयोग एनालिटिक्स और अतिरिक्त सॉफ़्टवेयर अनुप्रयोगों के लिए किया जा सकता है।

इस प्रणाली की जानकारी जावा मेप्रेड्यूस या सुअर, हाडोप की अपनी SQL जैसी क्वेरी भाषा का उपयोग करके मांगी जा सकती है। फिलहाल, इस बैकएंड पर एक खोज प्रणाली पहले ही स्थानांतरित हो चुकी है, और भविष्य में अन्य एप्लिकेशन दिखाई देंगे।

XML, CSV और JSON जैसी लोकप्रिय तकनीकों को अस्वीकार करने के बाद, ट्विटर प्रोग्रामर्स ने Google द्वारा विकसित अपेक्षाकृत अज्ञात प्रोटोकॉल बफ़र्स प्रारूप (इसे पहले ही चर्चा की गई थी) को बैकएंड डेटा संग्रहीत करने के लिए एक प्रारूप के रूप में चुना। कार्यान्वयन के तकनीकी विवरणों की घोषणा मंगलवार को HadoopWorld सम्मेलन में ट्विटर द्वारा की गई थी।

ट्विटर डेटाबेस में हर दिन 12 टीबी का नया डेटा जोड़ा जाता है। ऐसे संस्करणों के साथ, सही प्रारूप चुनना महत्वपूर्ण है। प्रोटोकॉल बफ़र्स, Hadoop, और संबंधित तकनीकों का संयोजन इस समस्या को हल करता है।

प्रत्येक ट्वीट में डेटाबेस में 17 फ़ील्ड शामिल हैं, जिनमें से छह में कम से कम एक सबफ़ील्ड है। भविष्य में, ट्विटर की योजना अन्य उपक्षेत्रों को जोड़ने की है। भविष्य में, भंडारण प्रणाली को एक अरब उपयोगकर्ताओं के ट्रिलियन ट्वीट्स के साथ प्रभावी ढंग से सामना करना चाहिए और काम करना चाहिए।

उपयोगकर्ता सामग्री के अलावा, आंतरिक लॉग (सिस्टम में होने वाले 80 से अधिक प्रकार के संचालन) से सेवा की जानकारी भी डेटाबेस में भंडारण के लिए प्राप्त होती है। इस डेटा का अधिकांश हिस्सा मुफ्त Scribe प्रौद्योगिकी (फेसबुक द्वारा विकसित) का उपयोग करके एकत्र किया गया है।

XML पर प्रोटोकॉल बफ़र्स का लाभ बड़े डेटा वॉल्यूम पर स्पष्ट हो रहा है। ट्विटर डेवलपर्स के अनुसार, एक ट्रिलियन एक्सएमएल ट्वीट एक के बजाय लगभग दस पेटाबाइट ले सकता है। JSON बहुत अधिक अनावश्यक जानकारी संग्रहीत करता है। दूसरे चरम पर, CSV, जहाँ डेटा को केवल अल्पविराम द्वारा अलग किया जाता है। वहाँ कुछ भी शानदार नहीं है, लेकिन उपक्षेत्रों की संरचना करना मुश्किल है।

प्रोटोकॉल बफ़र्स में ये नुकसान नहीं हैं। इसके अलावा, यह डेटा संरचनाओं के पुनर्निर्माण की प्रक्रिया को स्वचालित करता है। जैसा कि प्रोटोकॉल बफ़र ट्यूटोरियल में कहा गया है, यह एक बार संरचित डेटा के लिए एक विधि को परिभाषित करने के लिए पर्याप्त है, जिसके बाद आप विभिन्न धाराओं और विभिन्न भाषाओं में / से संरचित डेटा को आसानी से लिखने और पढ़ने के लिए विशेष रूप से उत्पन्न कोड का उपयोग कर सकते हैं।

Source: https://habr.com/ru/post/In106169/


All Articles