ClusterControl वास्तविक समय में TimescaleDB के प्रदर्शन की निगरानी के लिए उपयोग में आसान उपकरण है। उदाहरण के लिए, यह उपयोगकर्ताओं, थ्रूपुट, टेबलस्पेस, रीडो लॉग्स, बफ़र्स, कैशे और I/O से संबंधित विभिन्न प्रकार के प्रदर्शन आँकड़े प्रदर्शित करने के लिए दर्जनों पूर्वनिर्धारित चार्ट प्रदान करता है। यह डेटाबेस वर्कलोड पर वास्तविक समय की जानकारी भी प्रदान करता है। मेरे सहयोगी सेबस्टियन ने पहले लिखा था कि TimescaleDB को आसानी से कैसे तैनात किया जाए। इस ब्लॉग में, हम आपको दिखाएंगे कि कैसे ClusterControl के साथ TimescaleDB प्रदर्शन के विभिन्न पहलुओं की निगरानी करें। सबसे पहले, मुझे TimescaleDB के बारे में थोड़ा परिचय प्रदान करने की अनुमति दें।
TimescaleDB को PostgreSQL पर एक एक्सटेंशन के रूप में लागू किया गया है, जिसका अर्थ है कि Timescale डेटाबेस PostgreSQL इंस्टेंस के भीतर चलता है। विस्तार मॉडल डेटाबेस को PostgreSQL की कई विशेषताओं जैसे विश्वसनीयता, सुरक्षा और तीसरे पक्ष के उपकरणों की एक विस्तृत श्रृंखला के लिए कनेक्टिविटी का लाभ उठाने की अनुमति देता है। उसी समय, TimescaleDB PostgreSQL के क्वेरी प्लानर, डेटा मॉडल और निष्पादन इंजन में गहराई से हुक जोड़कर एक्सटेंशन के लिए उपलब्ध उच्च स्तर के अनुकूलन का लाभ उठाता है। यह पारिस्थितिकी तंत्र मूल भाषा बोलता है जो PostgreSQL करता है, और समय-श्रृंखला डेटा के साथ काम करने के लिए विशेष कार्य (और क्वेरी अनुकूलन) जोड़ता है। IoT या समय-श्रृंखला डेटा संग्रहीत करने के लिए TimescaleDB अन्य विशिष्ट डेटास्टोर पर जो लाभ प्रदान करता है, उनमें से एक यह है कि, आप SQL सिंटैक्स का उपयोग कर सकते हैं जिसका अर्थ है कि आप जॉइन का लाभ उठा सकते हैं। इसलिए डेवलपर्स के लिए विविध मेटाडेटा को क्वेरी करना आसान है - यह उनके स्टैक को सरल करता है और डेटा साइलो को समाप्त करता है।
TimescaleDB को सैकड़ों अरबों पंक्तियों के साथ परीक्षण और बेंचमार्क किया गया है, और यह बहुत अच्छी तरह से स्केल करता है - विशेष रूप से वेनिला पोस्टग्रेएसक्यूएल की तुलना में अप्सर्ट या इंसर्ट के साथ। यदि आप उनके बेंचमार्किंग टूल में रुचि रखते हैं, तो आप उनके टाइम सीरीज़ बेंचमार्क सूट (TSBS) पर एक नज़र डालने पर विचार कर सकते हैं।
यदि आप RDBMS जैसे MySQL या PostgreSQL से परिचित हैं तो TimescaleDB का उपयोग करना बहुत आसान है। आपको अपना डेटाबेस निर्दिष्ट करना होगा और TimescaleDB के लिए एक एक्सटेंशन बनाना होगा। एक बार बनाने के बाद, आप एक हाइपरटेबल बनाते हैं, जो वस्तुतः TimescaleDB के साथ सभी उपयोगकर्ता इंटरैक्शन को संभालता है। नीचे एक उदाहरण देखें:
nyc_data=# CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;
WARNING:
WELCOME TO
_____ _ _ ____________
|_ _(_) | | | _ \ ___ \
| | _ _ __ ___ ___ ___ ___ __ _| | ___| | | | |_/ /
| | | | _ ` _ \ / _ \/ __|/ __/ _` | |/ _ \ | | | ___ \
| | | | | | | | | __/\__ \ (_| (_| | | __/ |/ /| |_/ /
|_| |_|_| |_| |_|\___||___/\___\__,_|_|\___|___/ \____/
Running version 1.2.2
For more information on TimescaleDB, please visit the following links:
1. Getting started: https://docs.timescale.com/getting-started
2. API reference documentation: https://docs.timescale.com/api
3. How TimescaleDB is designed: https://docs.timescale.com/introduction/architecture
Note: TimescaleDB collects anonymous reports to better understand and assist our users.
For more information and how to disable, please see our docs https://docs.timescaledb.com/using-timescaledb/telemetry.
CREATE EXTENSION
nyc_data=# SELECT create_hypertable('rides_count', 'one_hour');
create_hypertable
--------------------------
(1,public,rides_count,t)
(1 row)
इतना ही आसान। हालाँकि, एक बार जब डेटा बड़ा हो जाता है, तो आपके पास एक अनुवर्ती प्रश्न हो सकता है कि "आप TimescaleDB के प्रदर्शन की निगरानी कैसे कर सकते हैं"? खैर, यही हमारा ब्लॉग है। आइए देखें कि आप इसे ClusterControl के साथ कैसे कर सकते हैं।
TimescaleDB क्लस्टर की निगरानी करना
ClusterControl में TimescaleDB क्लस्टर की निगरानी करना लगभग PostgreSQL डेटाबेस क्लस्टर की निगरानी के समान है। हमारे पास क्लस्टर- और नोड-स्तरीय ग्राफ़, डैशबोर्ड, टोपोलॉजी, क्वेरी मॉनिटरिंग और प्रदर्शन है। आइए इनमें से प्रत्येक के बारे में जानें।
"अवलोकन" टैब
ओवरव्यू ग्राफ़ को क्लस्टर → ओवरव्यू . पर जाकर देखा जा सकता है टैब।
इस दृश्य पर, आप अन्य मेट्रिक्स पर सर्वर लोड, कैश हिट अनुपात या फ़िल्टर देख सकते हैं - ब्लॉक-हिट, ब्लॉक-रीड, कमिट, या कनेक्शन की संख्या।
आप नीचे दिए गए मेरे उदाहरण की तरह यहां अपनी कस्टम डैशबोर्ड सेटिंग भी बना सकते हैं जो ब्लॉक-हिट और ब्लॉक-रीड प्राप्त करता है।
यह शुरू करने के लिए एक अच्छी जगह है और साथ ही आप नेटवर्क गतिविधि की निगरानी करते हैं, स्थानांतरण की जांच करते हैं और पैकेट प्राप्त करते हैं।
"नोड्स" टैब
नोड्स ग्राफ़ को क्लस्टर → नोड्स . पर जाकर पाया जा सकता है टैब। इसमें होस्ट और डेटाबेस-स्तरीय मेट्रिक्स के साथ आपके नोड्स का गहन दृश्य होता है। नीचे दिया गया ग्राफ़ देखें:
यदि आप "शीर्ष . पर क्लिक करते हैं तो आप होस्ट सिस्टम में चल रही शीर्ष प्रक्रियाओं को भी देख सकते हैं " टैब। नीचे एक उदाहरण स्क्रीनशॉट देखें:
नोड पर राइट-क्लिक करने पर कुछ विशेषताएं भी हैं जिसमें आप WAL संग्रह को सक्षम कर सकते हैं या PostgreSQL डेमॉन को पुनरारंभ कर सकते हैं या होस्ट को रीबूट कर सकते हैं। नीचे दिखाए अनुसार चित्र देखें:
यह सहायक हो सकता है यदि आप खराब प्रदर्शन करने वाले नोड पर रखरखाव शेड्यूल करना चाहते हैं।
"डैशबोर्ड" टैब
डैशबोर्ड पिछले साल ही जारी किया गया था और PostgreSQL डैशबोर्ड के समर्थन से, आप इन ग्राफ़ का लाभ उठा सकते हैं। उदाहरण के लिए, मैंने nyc_data डेटाबेस में 1M पंक्तियाँ डालीं। नीचे देखें कि यह PostgreSQL अवलोकन डैशबोर्ड में कैसे प्रदर्शित होता है:
1.1 M पंक्तियों को सम्मिलित करने के बाद, हम देख सकते हैं कि नोड 192.168.70.40 अभी भी प्रदर्शनकारी है और उच्च CPU और उच्च डिस्क उपयोग का कोई संकेत नहीं है। जब हम इसके प्रदर्शन की निगरानी करते हैं तो निम्न डैशबोर्ड देखें:
क्लस्टर ओवरव्यू डैशबोर्ड के अलावा, आप सिस्टम के प्रदर्शन का एक बारीक दृश्य भी देख सकते हैं। नीचे दी गई छवि देखें:
"टोपोलॉजी" टैब
यह टैब सरल है लेकिन आपके मास्टर-दास प्रतिकृति टोपोलॉजी का एक दृश्य प्रस्तुत करता है। यह आपको संक्षिप्त लेकिन संक्षिप्त जानकारी देता है कि आपके स्वामी और दास कैसा प्रदर्शन करते हैं। नीचे दी गई छवि देखें:
"क्वेरी मॉनिटर" टैब
TimescaleDB में मॉनिटरिंग क्वेश्चन DBA के साथ-साथ एप्लिकेशन लॉजिक को संभालने वाले डेवलपर्स के लिए बहुत महत्वपूर्ण है। यह टैब यह समझने के लिए बहुत महत्वपूर्ण है कि क्वेश्चन कैसा प्रदर्शन करते हैं। आप यहां शीर्ष क्वेरी, चल रही क्वेरी, क्वेरी आउटलेयर और क्वेरी आँकड़े देख सकते हैं। उदाहरण के लिए, आप सभी होस्ट पर चल रहे प्रश्नों को देख सकते हैं, या आप उस नोड के आधार पर फ़िल्टर कर सकते हैं जिसे आप मॉनिटर करने का प्रयास कर रहे हैं। नीचे दिया गया एक उदाहरण दिखाता है कि क्वेरी मॉनिटर के अंतर्गत देखने पर यह कैसा दिखता है।
यदि आप अपने TimescaleDB भाग/अनुक्रमणिका के आँकड़े एकत्र करना चाहते हैं, तो आप यहाँ क्वेरी सांख्यिकी के अंतर्गत लाभ उठा सकते हैं। यह आपके इंडेक्स की एक सूची दिखाता है जो TimescaleDB द्वारा उपयोग किया जाता है। नीचे दी गई छवि देखें:
न केवल आप विशिष्ट अनुक्रमणिका के आँकड़े देख सकते हैं, आप इसे इसकी तालिका I/O आँकड़े, अनुक्रमणिका I/O आँकड़े, या इसके अनन्य लॉक प्रतीक्षा द्वारा भी फ़िल्टर कर सकते हैं। इसलिए आप "सांख्यिकीय" सूची में अन्य आइटम देख सकते हैं जिन्हें आप मॉनिटर करना पसंद करते हैं।
"प्रदर्शन" टैब
इस टैब के तहत, यह वह जगह है जहां आप अनुकूलन और ट्यूनिंग के लिए निर्धारित चर की समीक्षा करने, सलाहकारों को स्थापित करने, डेटाबेस वृद्धि की जांच करने और प्राथमिक कुंजी के बिना तालिकाओं को इकट्ठा करने के लिए एक स्कीमा विश्लेषण उत्पन्न करने में सक्षम हैं।
उदाहरण के लिए, आप सेटअप में उपलब्ध नोड्स को साथ-साथ देख सकते हैं और चरों की तुलना कर सकते हैं। नीचे टैब देखें:
अभी के लिए इतना ही। आपकी प्रतिक्रिया सुनना बहुत अच्छा होगा, और विशेष रूप से हमें बताएं कि हम क्या याद कर रहे हैं।