Sobes.tech
Middle

რა არის partition-ი ClickHouse-ში?

sobes.tech AI

პასუხი AI-სგან

ClickHouse-ში, ბლოკი — ეს არის ცხრილის ლოგიკური ნაწილი, რომელიც გამოიყენება მონაცემთა შენახვის ორგანიზებისა და ოპტიმიზაციისთვის. ბლოკი საშუალებას აძლევს ცხრილს დაყოფილიყო ცალკეულ სეგმენტებად კონკრეტული გასაღების (მაგალითად, თარიღის) მიხედვით, რაც აჩქარებს ამ გასაღებით ფილტრირებულ შეკითხვებს და ამარტივებს მონაცემების მართვას (მაგალითად, ძველი ბლოკების წაშლა).

ClickHouse-ში ბლოკები შექმნილია ცხრილის შექმნის დროს განსაზღვრული გამოთვლის საფუძველზე და ჩვეულებრივ შეესაბამება მნიშვნელობების დიაპაზონებს (მაგალითად, თვე, დღე). ეს ეხმარება მონაცემების ეფექტურად წაკითხვასა და კომპრესირებაში, ასევე TTL და წმენდის ოპერაციების განხორციელებაში.

მაგალითი — თვიური ბლოკით ცხრილის შექმნა:

CREATE TABLE მაგალითი (
    მოვლენის_თარიღი Date,
    მომხმარებლის_ნომერი UInt32,
    მნიშვნელობა Float32
) ENGINE = MergeTree()
PARTITION BY toYYYYMM(მოვლენის_თარიღი)
ORDER BY (მომხმარებლის_ნომერი);

აქ, თითო თვესთვის შექმნილია ბლოკი, რაც საშუალებას აძლევს სწრაფად აირჩიოს მონაცემები კონკრეტული პერიოდისთვის.