ClickHouse के लिए शक्तिशाली नया JSON data type विकसित
(clickhouse.com)परिचय
- JSON आधुनिक data systems में semi-structured और unstructured data को संभालने का standard format बन चुका है.
- ClickHouse JSON के महत्व को पहचानता है और बड़े पैमाने पर JSON का प्रभावी उपयोग करने में आने वाली कुछ चुनौतियों का समाधान करता है.
चुनौतियाँ
-
चुनौती 1: सच्चा column-oriented storage
JSON data को दूसरे column types की तरह कुशलता से संभालने के लिए JSON paths को column-oriented तरीके से store करना चाहिए. -
चुनौती 2: dynamically बदलते data और type integration की समस्या
JSON paths के लिए अलग-अलग data types store करने की क्षमता होनी चाहिए ताकि data integrity बनी रहे. -
चुनौती 3: disk पर column data files की अनियंत्रित वृद्धि रोकना
जब बहुत अधिक unique JSON keys हों, तो column files की बेतहाशा वृद्धि रोकने के लिए column creation पर सीमा लगानी चाहिए. -
चुनौती 4: dense storage
जब unique लेकिन कम उपयोग होने वाली JSON keys बहुत हों, तो NULL या default values को बार-बार store नहीं करना चाहिए.
नया JSON data type
- ClickHouse high-performance JSON data processing के लिए नया JSON data type पेश करता है.
- यह type dynamically बदलते data को support करता है और high data compression तथा query performance बनाए रखता है.
- JSON parsing के लिए hints देकर performance को tune किया जा सकता है.
Building Block 1 - Variant type
- Variant type एक ही table column के भीतर अलग-अलग data types के values को कुशलता से store करने में मदद करता है.
- हर data type के लिए अलग subcolumn का उपयोग करके data integrity बनाए रखी जाती है.
Building Block 2 - Dynamic type
- Dynamic type, Variant type का विस्तार है, जो पहले से type निर्दिष्ट किए बिना विभिन्न data types store करने की सुविधा देता है.
- store किए जाने वाले types की संख्या सीमित रखकर column files की अनियंत्रित वृद्धि रोकी जाती है.
ClickHouse JSON type
- Variant और Dynamic types के आधार पर नया JSON type लागू किया गया है, जो सभी चुनौतियों का समाधान करता है.
- JSON object की संरचना चाहे जैसी भी हो, उसे store किया जा सकता है, और values को पढ़ने के लिए JSON paths को subcolumns के रूप में इस्तेमाल किया जा सकता है.
GN⁺ की संक्षिप्त टिप्पणी
- ClickHouse का नया JSON data type बड़े पैमाने के data analysis में JSON की performance समस्याओं को हल करने पर केंद्रित है.
- यह type विभिन्न data types को support करता है और high performance व scalability प्रदान करता है.
- JSON के अलावा XML, YAML जैसे अन्य semi-structured types को support करने की नींव भी तैयार करता है.
- ClickHouse इस्तेमाल करने वाले developers के लिए यह उपयोगी है और data compression तथा query performance में लाभ देता है.
1 टिप्पणियां
Hacker News टिप्पणियाँ
PostHog में ClickHouse का उपयोग करने का फैसला सबसे बेहतरीन फैसलों में से एक था। परफॉर्मेंस को scale करते हुए उसी data set के साथ ज़्यादा products बनाए जा सके
यह जानने की जिज्ञासा है कि JSON में data types जोड़ने के बाद क्या वह JSON कहलाने योग्य रहता है
ClickHouse में यह फीचर देखना अच्छा है
ClickHouse का मूल्यांकन करते समय Apache Pinot पर भी विचार करना उचित है
Dynamically बदलने वाले data के लिए यह दिलचस्प लगता है
ClickHouse के JSON support का इंतज़ार था, और नया type व dynamic columns खास तौर पर उपयोगी होंगे
ClickHouse एक शानदार tool है
कुछ हफ्ते पहले जब ClickHouse आज़माया था, तब यह column names के आधार पर files के नाम रख रहा था, जिससे लंबे file names और slash की वजह से file system में errors आए
ClickHouse का पर्याप्त उपयोग नहीं हो रहा है