- LogHouse ने सिर्फ 1 साल में 19PiB से बढ़कर 100PB+ log data को प्रोसेस किया और लगभग 500 trillion rows तक स्केल किया
- OpenTelemetry(OTel) की data processing सीमाओं और inefficiency के कारण, core systems के लिए उपयुक्त custom pipeline (SysEx) पर स्विच किया गया
- इस बदलाव के बाद event throughput 20 गुना बढ़ने पर भी CPU utilization 10% से नीचे बनाए रखने वाली efficiency हासिल हुई
- ClickHouse के HyperDX और ClickStack अपनाने से UI और data integration, schema flexibility, और powerful data exploration environment तैयार हुआ
- Wide events और high-cardinality model अपनाने से, बिना pre-aggregation के सभी events को store और analyze करना संभव हुआ
पृष्ठभूमि और बदलाव
- ClickHouse Cloud के लिए internal logging platform LogHouse सिर्फ 1 साल में 19PiB से 100PB+ data scale, और 37 trillion rows से लगभग 500 trillion rows तक बढ़कर एक बड़े सिस्टम के रूप में विकसित हुआ
- शुरुआत में सभी telemetry को OpenTelemetry(OTel) के जरिए collect किया गया, लेकिन large-scale data environment में performance, resource limits, और data transformation process के दौरान CPU waste और data loss की समस्याएं स्पष्ट हो गईं
OTel की सीमाएं और custom pipeline अपनाने का कारण
- OTel pipeline में logs पहले JSON में बदले जाते थे, फिर OTel format में remap किए जाते थे, और कई बार conversion व marshaling दोहराए जाते थे, जिससे efficiency बेहद कम हो जाती थी
- वास्तव में OTel-based setup में प्रति सेकंड 20 million rows प्रोसेस करने के लिए लगभग 8,000 CPU cores की जरूरत पड़ती थी
- traffic spike के दौरान Collector overload हो जाता था और logs drop होने लगते थे, जिससे uncollected data पैदा होता था
SysEx अपनाना और इसकी संरचना
- SysEx(System Tables Exporter) ClickHouse की system tables से data को उसके मूल type में, बिना conversion के, सीधे LogHouse तक पहुंचाता है
- hash ring structure के जरिए distributed scraping, time-delay buffer और sliding window approach के माध्यम से data miss होने से बचाव, और internal SLA को पूरा करना संभव हुआ
- Go language और ClickHouse client की custom capabilities का उपयोग करके data marshaling के बिना byte-to-byte transfer संभव हुआ
- schema variability को संभालने के लिए schema hash और dynamic schema management लागू किया गया, और Merge table engine के जरिए कई schema versions को एक logical view में जोड़ा गया
- snapshot-based memory table collection के जरिए advanced diagnostics और analysis workflows को support किया गया
performance और efficiency में सुधार
- SysEx अपनाने के बाद जहां OTel Collector 800 CPU के साथ प्रति सेकंड 2 million logs प्रोसेस करता है, वहीं SysEx 70 CPU में 37 million logs प्रोसेस कर सकता है
- इस efficiency gain से resource usage में भारी कमी, event loss की रोकथाम, और real-time support environment संभव हुआ
OTel की लगातार भूमिका
- OTel अब भी standard, vendor-neutral platform उपलब्ध कराता है और service outage या abnormal state में जरूरी बना रहता है
- crash या abnormal situations, जिन्हें SysEx handle नहीं कर पाता, उनमें भी log capture संभव है
- फिलहाल trace level से नीचे के logs हटाकर, सिर्फ info level और उससे ऊपर के logs collect किए जा रहे हैं ताकि resources optimize किए जा सकें
UI और HyperDX, ClickStack integration
- मौजूदा custom Grafana UI से धीरे-धीरे HyperDX आधारित ClickHouse-native UI की ओर migration किया जा रहा है
- HyperDX, schema-independent, Lucene query support और SQL support जैसी सुविधाओं के साथ ClickHouse के व्यापक data types के साथ पूरी compatibility देता है
- अलग-अलग table structures और custom Exporter sources से आने वाला data भी UI बदले बिना integrate किया जा सकता है
- Grafana अभी भी Prometheus-based metrics और fixed dashboards संभालता है, यानी दोनों solutions एक-दूसरे को complement करते हैं
Wide Events और high-cardinality model को अपनाना
- Wide events एक ऐसा नया तरीका है जिसमें हर row में query ID, Pod name, version info जैसे अनेक context शामिल होते हैं, जिससे बिना aggregation के सारा data store किया जा सकता है
- यह approach Prometheus आदि से अलग है, क्योंकि इसमें pre-aggregation, label limits, या cardinality explosion की चिंता के बिना deep analysis और flexible queries संभव हैं
- analysis के समय जरूरी aggregation करके, large-scale data environment में performance और cost दोनों को संतुलित किया जाता है
data visualization और query flexibility
- ClickHouse की Plotly, Jupyter notebook आदि के साथ integration बहुत अच्छी है, इसलिए कई visualization tools को आसानी से इस्तेमाल किया जा सकता है
- Lucene-based HyperDX की fast exploration के अलावा, complex relationship और conditional queries (SQL, JOIN आदि) के जरिए advanced root-cause analysis सीधे ClickHouse में किया जा सकता है
Wide Event आधारित data sources का विस्तार
- kubenetmon: Kubernetes network monitoring open source, L3/L4 traffic, connection, और cost analysis
- Kubernetes Event Exporter: ClickHouse sink जोड़े गए fork का उपयोग, large-scale cluster state changes को track करना, और full object snapshot पर experiment जारी
- Control Plane Data, RUM(Real User Monitoring), Istio Access Log जैसे कई layers के data के जरिए interpretation scope और correlation analysis क्षमता में बड़ा विस्तार हुआ
operational considerations और आगे की दिशा
- SysEx query के दौरान logs और metrics में exposed हो सकता है, लेकिन इसे memory limits और error impact minimization को ध्यान में रखकर design किया गया है
- Zero-impact scraping: पूरी तरह decoupled structure (जैसे S3-based plain rewritable disk का उपयोग) के जरिए cluster पर पड़ने वाले प्रभाव को मूल रूप से खत्म करने के तरीकों पर काम चल रहा है
- OTel शुरुआती service stage और abnormal states में log capture के लिए अब भी महत्वपूर्ण है, लेकिन zero-impact approach स्थिर होने पर इसकी dependency और कम होने की संभावना है
ClickHouse JSON type का विकास और उपयोग
- JSON type आधिकारिक GA के रूप में जारी हो चुका है, जिससे field-wise dynamic column creation, multiple type support, और schema explosion को flexible तरीके से handle करना संभव हुआ
- बड़ी संख्या में columns वाले JSON queries के लिए optimization अभी पूरी तरह perfect नहीं है, इसलिए shape-based parallel storage और Map type की practical utility जैसी approaches को और बेहतर बनाया जा रहा है
- HyperDX integration के साथ Map और JSON fields की automatic extraction और analysis संभव है, और भविष्य में JSON का और व्यापक उपयोग करने की योजना है
निष्कर्ष और सांस्कृतिक बदलाव
- LogHouse अब performance analysis से लेकर real-time debugging तक ClickHouse Cloud operations का core observability platform बन चुका है
- cost reduction इस पहल की शुरुआत थी, लेकिन SysEx जैसे custom tools, OTel के साथ संतुलित उपयोग, और HyperDX आधारित flexible UI expansion के जरिए एक technical और cultural transformation देखने को मिला है
- large-scale, high-accuracy Wide Event आधारित data model engineering, support, और data analysis के सभी क्षेत्रों में नई value और efficiency दे रहा है
- आगे भी 100PB और 500 trillion rows scale पर मिले अनुभव के आधार पर observability के भविष्य का नेतृत्व जारी रखने की योजना है
1 टिप्पणियां
Hacker News टिप्पणियाँ
grepसे खोजना व्यवहारिक रूप से असंभव है। Log DB ऐसी संरचना देते हैं जिसमें storage nodes और storage capacity बढ़ाकर horizontal scale करना संभव होता है