Graphite 1.1

FAQ




graphite

FAQ

ग्रेफाइट क्या है?

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

ग्रेफाइट का उपयोग किसे करना चाहिए?

कोई भी जो समय के साथ किसी भी चीज़ के मूल्यों को ट्रैक करना चाहेगा। यदि आपके पास एक संख्या है जो समय के साथ संभावित रूप से बदल सकती है, और आप ग्राफ़ पर समय के साथ मूल्य का प्रतिनिधित्व करना चाहते हैं, तो ग्रेफाइट शायद आपकी आवश्यकताओं को पूरा कर सकता है।

विशेष रूप से, ग्रेफाइट को संख्यात्मक समय-श्रृंखला डेटा को संभालने के लिए डिज़ाइन किया गया है। उदाहरण के लिए, ग्रेफाइट स्टॉक की कीमतों को रेखांकन में अच्छा होगा क्योंकि वे संख्याएं हैं जो समय के साथ बदलती हैं। चाहे वह कुछ डेटा बिंदु हों, या हजारों सर्वरों से दर्जनों प्रदर्शन मैट्रिक्स, फिर ग्रेफाइट आपके लिए है। एक बोनस के रूप में, आपको आवश्यक रूप से उन चीजों के नाम पहले से नहीं पता हैं (जो इस तरह के विशाल कॉन्फ़िगरेशन को बनाए रखना चाहते हैं?); आप बस एक मीट्रिक नाम, एक टाइमस्टैम्प और एक मूल्य भेजते हैं, और ग्रेफाइट बाकी का ख्याल रखता है!

ग्रेफाइट कितना स्केलेबल है?

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

एक I / O परिप्रेक्ष्य से, लोड ग्रेफाइट के तहत बहुत तेजी से विभिन्न फ़ाइलों के बहुत सारे छोटे I / O संचालन करता है। ऐसा इसलिए है क्योंकि ग्रेफाइट को भेजे गए प्रत्येक विशिष्ट मीट्रिक को आरआरडी कार्य के शीर्ष पर निर्मित कितने टूल्स (ड्र्रा, कैक्टी, सेंट्रोन, आदि) के समान अपनी डेटाबेस फ़ाइल में संग्रहीत किया जाता है। वास्तव में, ग्रेफाइट मूल रूप से भंडारण के लिए आरआरडी का उपयोग करता था जब तक कि मौलिक सीमाएं उत्पन्न नहीं हुईं जो एक नए भंडारण इंजन की आवश्यकता थी।

उच्च मात्रा (प्रत्येक मिनट में कुछ हज़ार अलग-अलग मेट्रिक्स अपडेट करने वाले) को बहुत अच्छे RAID सरणी और / या SSDs की आवश्यकता होती है। ग्रेफाइट का बैकएंड आने वाले डेटा को कैश करता है यदि डिस्क बड़ी संख्या में छोटे लेखन संचालन के साथ नहीं रख सकता है (प्रत्येक डेटा बिंदु केवल कुछ बाइट्स है, लेकिन अधिकांश मानक डिस्क प्रति सेकंड कुछ हजार I / O संचालन से अधिक नहीं कर सकते हैं, यहां तक ​​कि यदि वे छोटे हैं)। जब ऐसा होता है, तो ग्रेफाइट का डेटाबेस इंजन, कानाफूसी, कार्बन को एक साथ कई डेटा पॉइंट्स लिखने की अनुमति देता है, इस प्रकार समग्र डेटा को केवल मेमोरी में कैश्ड रखने की कीमत पर बढ़ता है जब तक कि इसे लिखा नहीं जा सकता।

ग्रेफाइट वैकल्पिक भंडारण बैकेंड का भी समर्थन करता है जो इन विशेषताओं को बदल सकते हैं।

रेखांकन कितने वास्तविक हैं?

बहुत। यहां तक ​​कि भारी भार के तहत, जहां प्रत्येक समय अंतराल में आने वाले मेट्रिक्स की संख्या उस दर से बहुत अधिक होती है जिस पर आपका स्टोरेज सिस्टम I / O संचालन कर सकता है और बहुत सारे डेटा पॉइंट स्टोरेज पाइपलाइन में कैश्ड हो रहे हैं (स्पष्टीकरण के लिए पिछला प्रश्न देखें ), ग्रेफाइट अभी भी वास्तविक समय के रेखांकन खींचता है। चाल यह है कि जब ग्रेफाइट वेबप को ग्राफ खींचने का अनुरोध मिलता है, तो यह एक साथ डिस्क के साथ-साथ प्री-स्टोरेज कैश (जो आपके कई बैकएंड सर्वर हो तो वितरित किया जा सकता है) और दो स्रोतों को जोड़ती है। एक वास्तविक समय ग्राफ बनाने के लिए डेटा।

पहले से ही ग्रेफाइट का उपयोग कौन करता है?

ग्रेफाइट आंतरिक रूप से Orbitz द्वारा विकसित किया गया था, जहां इसका उपयोग विभिन्न प्रकार के संचालन-महत्वपूर्ण डेटा की कल्पना करने के लिए किया जाता है जिसमें एप्लिकेशन मेट्रिक्स, डेटाबेस मेट्रिक्स, बिक्री, आदि शामिल हैं। इस लेखन के समय, ऑर्बिटज़ में उत्पादन प्रणाली लगभग 160,000 विशिष्ट मैट्रिक्स प्रति मिनट संभाल सकती है। बहुत तेजी से सैन पर दो niagra-2 सन सर्वर पर चल रहा है।

ग्रेफाइट किसमें लिखा जाता है?

को Python2। ग्रेफाइट वेबप को Django वेब फ्रेमवर्क पर बनाया गया है और ExtJS जावास्क्रिप्ट GUI टूलकिट का उपयोग करता है। ग्राफ़ प्रतिपादन काहिरा ग्राफिक्स लाइब्रेरी का उपयोग करके किया जाता है। बैकएंड और डेटाबेस शुद्ध पायथन में लिखे गए हैं।

ग्रेफाइट कौन लिखता है और रखता है?

ग्रेफाइट शुरू में Orbitz क्रिस डेविस द्वारा विकसित किया गया था। ऑर्बिट्ज़ लंबे समय से खुले स्रोत समुदाय का हिस्सा रहा है और उसने कई अन्य आंतरिक रूप से विकसित उत्पादों को प्रकाशित किया है।

ग्रेफाइट वर्तमान में Graphite-Project गिटहब संगठन के तहत स्वयंसेवकों की एक टीम द्वारा विकसित किया गया है।

ग्रेफाइट किस लाइसेंस के तहत जारी किया गया है?

अपाचे 2.0 लाइसेंस

क्या ग्रेफाइट RRDtool का उपयोग करता है?

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

दूसरा कारण कानाफूसी लिखा था प्रदर्शन है। RRDtool बहुत तेज है; वास्तव में यह कानाफूसी की तुलना में बहुत तेज है। लेकिन आरआरडी (जिस समय कानाफूसी लिखी गई थी) के साथ समस्या यह थी कि आरआरडी ने आपको एक बार में एक डेटाबेस में एक ही मूल्य सम्मिलित करने की अनुमति दी थी, जबकि कानाफूसी को एक साथ कई डेटा बिंदुओं के सम्मिलन की अनुमति देने के लिए लिखा गया था, उन्हें संकुचित करना एकल लेखन ऑपरेशन। यह अत्यधिक लोड के तहत प्रदर्शन में काफी सुधार करता है क्योंकि ग्रेफाइट कई फाइलों पर काम करता है, और इस तरह के छोटे ऑपरेशन किए जा रहे हैं (कुछ बाइट्स यहां लिखें, कुछ वहां पर, आदि) टोंटी आई / ओ संचालन की संख्या के कारण होता है। उस परिदृश्य पर विचार करें जहां ग्रेफाइट प्रत्येक मिनट में 100,000 भिन्न मीट्रिक मान प्राप्त कर रहा है; उस लोड को बनाए रखने के लिए ग्रेफाइट यह लिखने में सक्षम होना चाहिए कि प्रत्येक मिनट डिस्क पर कई डेटा बिंदु। लेकिन मान लें कि आपका अंतर्निहित भंडारण केवल प्रति मिनट 20,000 I / O संचालन को संभाल सकता है। आरआरडी के साथ (उस समय कानाफूसी लिखी गई थी), रखने का कोई मौका नहीं था। लेकिन कानाफूसी के साथ, हम आने वाले डेटा को तब तक कैशिंग कर सकते हैं जब तक कि हम किसी दिए गए मीट्रिक के लिए 10 मिनट के लायक डेटा नहीं जमा करते हैं, फिर उन 10 डेटा बिंदुओं को लिखने के लिए 10 I / O ऑपरेशन करने के बजाय, व्हिस्पर एक ऑपरेशन में कर सकते हैं। जिस कारण से मैंने "जिस समय कानाफूसी लिखी थी" का उल्लेख किया है कि आरआरडी अब इस व्यवहार का समर्थन करता है। हालाँकि ग्रेफाइट तब तक कानाफूसी का उपयोग करता रहेगा जब तक कि पहला मुद्दा अभी भी मौजूद है।

मैं ग्रेफाइट के लिए समस्याओं या अनुरोध सुविधाओं की रिपोर्ट कैसे करूं?

GitHub जारी करने वाले पृष्ठ पर कृपया कोई भी सुविधा अनुरोध या बग रिपोर्ट पोस्ट करें।

नहीं, ग्रेफाइट इस ग्रेफाइट से पूरी तरह से संबंधित नहीं है।

नहीं। ग्रेफाइट नामक सोर्सफेज परियोजना इस ग्रेफाइट से पूरी तरह से संबंधित नहीं है।

क्या ग्रेफाइट की वास्तुकला का एक चित्र है?

वहाँ निश्चित है! यह रहा:

_images / overview.png