Car-tech

यूट्यूब स्केल MySQL गो कोड के साथ

AWS Tutorial For Beginners | AWS Full Course - Learn AWS In 10 Hours | AWS Training | Edureka

AWS Tutorial For Beginners | AWS Full Course - Learn AWS In 10 Hours | AWS Training | Edureka
Anonim

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

यूट्यूब पहले से ही एक सेवा घटक का उपयोग करता है, जिसे वीटीओसीसी कहा जाता है, ताकि सेवा के सभी 800 मिलियन मासिक उपयोगकर्ताओं को वीडियो की सहायता मिल सके। यूट्यूब के इंजीनियर माइक सोलोमन के साथ यूट्यूब के आर्किटेक्ट सूग सूगौमाराने ने कहा कि Google ने 2006 में यूट्यूब हासिल किया था।

वीटीओसीसी "बहुत स्थिर रहा है, और आपके पास उत्पादन वातावरण में उपयोग करने के लिए सभी आवश्यक उपकरण हैं।" इस हफ्ते सैन डिएगो में आयोजित यूज़िक्स लिसा (बड़े स्थापना प्रणाली प्रशासन) सम्मेलन में।

उस विटास गो में लिखा गया है, इस विचार को मान्य करने में मदद कर सकता है कि यह अपेक्षाकृत नई प्रोग्रामिंग भाषा बड़े पैमाने पर उत्पादन वातावरण में उपयोग की जा सकती है। Google ने मार्च में गो का संस्करण 1 पेश किया।

यूट्यूब हर महीने 4 बिलियन घंटे से ज्यादा वीडियो पेश करता है। हर मिनट सेवा के बारे में 72 घंटे के वीडियो अपलोड किए जाते हैं। जबकि यूट्यूब अपने सभी वीडियो सीधे फाइल सिस्टम पर संग्रहीत करता है, यह प्रत्येक वीडियो की सेवा करने के लिए आवश्यक सभी मेटाडेटा को स्टोर करने के लिए MySQL का उपयोग करता है, जैसे उपयोगकर्ता प्राथमिकताएं, विज्ञापन जानकारी, देश अनुकूलन और जानकारी के अन्य आवश्यक बिट्स।

YouTube MySQL का उपयोग करना पसंद करता है सुलैमान ने कहा, इसकी विश्वसनीयता के लिए, मूल रूप से सेवा बनाने वाले इंजीनियरों में से एक। यह quirks है, लेकिन उन quirks अच्छी तरह से जाना जाता है और काफी आसानी से कम किया जा सकता है, उन्होंने कहा। हालांकि, माईएसक्यूएल में स्केलिंग के साथ भी समस्याएं हैं - कम से कम एक यूट्यूब के रूप में बड़ी सेवा को समायोजित करने के लिए स्केलिंग।

"MySQL के साथ बड़ी समस्या यह है कि एक बार जब आप एक निश्चित बिंदु [उपयोग] प्राप्त करते हैं, तो आप बहुत सारे खर्च करते हैं समय प्रबंधन हार्डवेयर और आपके कितने उदाहरण हैं, "सुलैमान ने कहा। "हम उस खंड को स्वचालित करना चाहते हैं। हम जटिल और त्रुटि प्रवण होने वाली हर क्रिया को लेना चाहते हैं और इसे स्वयं ठीक कर सकते हैं।"

बड़ी तैनाती में उपयोग किए जाने पर MySQL भी बहुत प्रभावी नहीं है। आमतौर पर, MySQL के प्रत्येक कनेक्शन को सर्वर पर अपना स्वयं का धागा चाहिए। हालांकि, यह दृष्टिकोण YouTube के संचालन के पैमाने पर व्यवहार्य नहीं है। सुलैमान ने कहा, "हजारों कनेक्शन चलाना वास्तव में व्यवहार्य नहीं है।"

कंपनी के इंजीनियरों, हालांकि, मूल MySQL कोड को बदलने की कोशिश करने के लिए अनिच्छुक रहे हैं, यह देखते हुए कि जटिल में बदलाव करना और कुछ मुश्किल-से -ंडर कोड अक्सर अप्रत्याशित प्रभावों के परिणामस्वरूप हो सकता है। सुलैमान ने कहा, "यह सीधा नहीं है। बस जब आपको लगता है कि आप जानते हैं कि आप क्या कर रहे हैं, तो वह तब होता है जब आप परेशानी में पड़ना शुरू करते हैं।" 99

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

गो का उपयोग करने से YouTube डेवलपर्स को उनके मुकाबले अधिक उत्पादक होने की अनुमति मिली है उन्होंने कहा कि एक और पारंपरिक भाषा का उपयोग कर रहे हैं, सुगौमाराने ने कहा।

कोड को संकलित करें, जल्दी से संकलित करें। विटास में कोड की 30,000 लाइनों को लगभग 30 सेकंड में बाइनरी में संकलित किया जा सकता है। और, पुस्तकालयों के एक समृद्ध सेट के लिए धन्यवाद, कई कार्यों को उस प्रोग्रामिंग की आवश्यकता नहीं है। उदाहरण के लिए, सूगौमारने ने एक 105-लाइन दिनचर्या लिखी जो समय-समय पर फाइलों को ट्रिम करता है, कार्यक्षमता जो सी या सी ++ का उपयोग करके कुछ पंक्तियों में लिखी नहीं जा सकती थी।

"यह अभिव्यक्तिपूर्ण गो है," सूगौमाराने ने कहा। "भाषा की विशेषताएं अच्छी तरह से विचार-विमर्श की जाती हैं। वे आपको पारंपरिक भाषाओं की तुलना में चीजों को अधिक सुंदर तरीके से लिखने में मदद करते हैं।" सूगौमारने ने मल्टीकोर प्रोसेसर में उपयोग के लिए महत्वपूर्ण, गो के समवर्ती समर्थन की भी सराहना की। उन्होंने कहा, "आपको धागे के प्रबंधन के बारे में चिंता करने की ज़रूरत नहीं है। जाओ, उन्हें आपके लिए प्रबंधित करें।"

भाषा में कुछ डाउनसाइड्स भी हैं, सूगौमारने ने भी स्वीकार किया। उदाहरण के लिए, त्रुटि प्रबंधन में सुधार किया जा सकता है। शेड्यूलिंग और कचरा संग्रह कुछ काम भी कर सकता है।

सुलैमान ने कहा कि, समय के साथ, विटास डेटाबेस कर्तव्यों और स्वचालित शेडिंग जैसे अतिरिक्त कर्तव्यों पर विचार करेगा, इसलिए डेटाबेस कई प्रशासकों में बढ़ सकता है, जिनमें प्रशासकों से कोई हस्तक्षेप नहीं होता है।

जोब जैक्सन ने आईडीजी समाचार सेवा के लिए एंटरप्राइज़ सॉफ़्टवेयर और सामान्य तकनीक को तोड़ने वाली खबरें शामिल की हैं। ट्विटर पर योआब का पालन करें @ Joab_Jackson Joab का ई-मेल पता [email protected]