Tencent Cloud Data Warehouse ClickHouse Evaluation: "ซูเปอร์คาร์" ในยุคของข้อมูลขนาดใหญ่ใช้งานได้ดีหรือไม่?

2026-05-27 阅读 22
cloud

หากคุณเป็นนักพัฒนาส่วนหลัง DBA หรือนักวิเคราะห์ข้อมูลที่กำลังต่อสู้กับข้อมูลจำนวนมากคุณต้องเคยได้ยิน

ClickHouse

ชื่อ.

ในด้านของข้อมูลขนาดใหญ่แบบโอเพนซอร์สสิ่งนี้เป็นเพียงการดำรงอยู่ในตำนาน: ประสิทธิภาพของเครื่องเดียวบดขยี้ฐานข้อมูลแบบเดิมหลายสิบเท่าและการวิเคราะห์ข้อมูลนับหมื่นล้านระดับการตอบสนองในไม่กี่วินาทีคนที่เคยใช้มันบอกว่าการดูมันวิ่งและสอบถามก็เหมือนกับการดูซูเปอร์คาร์ระเบิดถนนเพื่อคลายความเกลียดชัง

อย่างไรก็ตาม "ความยากในการให้บริการ" ของ ClickHouse แบบโอเพนซอร์สยังเป็นที่รู้จักกันดีในอุตสาหกรรม: การดำเนินการและการบำรุงรักษามีความซับซ้อนมากพารามิเตอร์การกำหนดค่ามีมากมายและการขยายคลัสเตอร์แบบกระจายจะพังทลายลงหากคุณไม่ระมัดระวังสิ่งนี้ยังกีดกัน SMEs จำนวนมาก

เพื่อแก้ปัญหาจุดเจ็บปวดนี้ Tencent Cloud ได้เปิดตัว

คลาวด์ฐานข้อมูล ClickHouse(CDCH)

。หากต้องการพูดอย่างตรงไปตรงมาก็คือผู้เชี่ยวชาญของ Tencent ที่ช่วยเราทำงานสกปรกทั้งหมดของ ClickHouse โอเพ่นซอร์สและห่อหุ้มไว้ในบริการคลาวด์นอกกรอบ

วันนี้จากมุมมองของนักพัฒนาตัวจริงเราจะทำการประเมิน ClickHouse ของ Tencent Cloud ในเชิงลึกอย่ามีส่วนร่วมในรายการคู่มืออย่างเป็นทางการเพียงแค่พูดถึงสินค้าแห้งจุดเจ็บปวดและภาษาท้องถิ่น

1.ทำไม ClickHouse เร็วจัง? (Xiaobai วิทยาศาสตร์ยอดนิยม)

ก่อนที่จะประเมินผลิตภัณฑ์ของ Tencent Cloud เราใช้เวลาสักครู่เพื่อพูดคุยเกี่ยวกับตรรกะพื้นฐานของ ClickHouse ที่วิ่งเร็วคืออะไร?

ฐานข้อมูลเชิงสัมพันธ์แบบดั้งเดิม (เช่น MySQL) คือ

ที่เก็บแถว

。คุณต้องตรวจสอบอายุเฉลี่ยของผู้ใช้ทั้งหมด MySQL ต้องใส่ข้อมูลทั้งบรรทัด (ชื่อรหัสผ่านที่อยู่อายุ...) ของผู้ใช้แต่ละคนอ่านทั้งหมดจากฮาร์ดดิสก์จากนั้นเลือกอายุเพื่อคำนวณมันเหมือนกับการซื้อผักกาดขาวฉันต้องไปที่ตลาดผักทั้งหมดและ IO (การอ่านและเขียนฮาร์ดดิสก์) ก็ระเบิดโดยตรง

และ ClickHouse เป็นเรื่องปกติ

จัดเก็บคอลัมน์

แยกคอลัมน์ "ชื่อ" และ "อายุ" ออกจากกันคุณต้องการที่จะนับอายุเฉลี่ย? มันจะอ่านข้อมูลของคอลัมน์ "อายุ" โดยตรงและคอลัมน์อื่นๆจะไม่แตะต้องด้วยซ้ำ

แถมยังใส่ซีพียู

SIMD (คำสั่งเดียวหลายสตรีมข้อมูล)

ชุดคำสั่งถูกบีบให้รุนแรงโดยตระหนักถึงการคำนวณแบบขนานในระดับกายภาพสถาปัตยกรรมนี้เกิดมาเพื่อ

OLAP (การประมวลผลการวิเคราะห์ออนไลน์)

, การวิเคราะห์บันทึกจำนวนมากและรายงาน BI

2.การประเมิน Tencent Cloud ClickHouse: ช่วยเราแก้ปัญหาอะไรได้บ้าง?

เนื่องจากโอเพ่นซอร์สมีความแข็งแกร่งอยู่แล้วทำไมต้องใช้ Tencent Cloud? เราเปิดชุดคลัสเตอร์บนคอนโซลและสัมผัสประสบการณ์เชิงลึกประสิทธิภาพของมิติข้อมูลต่อไปนี้น่าประทับใจที่สุด:

1.ความยากในการดำเนินการและการบำรุงรักษา: จาก "โหมดนรก" เป็น "คนโง่ในคลิกเดียว"

ใครก็ตามที่เคยเล่น ClickHouse แบบโอเพ่นซอร์สจะรู้ดีว่าแพลตฟอร์มแบบกระจายนั้นขึ้นอยู่กับ ZooKeeper อย่างมากในการซิงโครไนซ์ข้อมูลเมตาและการทำงานร่วมกันที่สอดคล้องกันเมื่อปริมาณข้อมูล

ในช่วงเวลาที่ดี ZooKeeper มักจะสูญเสียโซ่เมื่อติดอยู่คลัสเตอร์ ClickHouse ทั้งหมดจะเป็นอัมพาต

วิธีแก้ปัญหาของ Tencent Cloud: Tencent Cloud มีสถาปัตยกรรมที่โฮสต์อย่างสมบูรณ์และ ZooKeeper ได้รับการปรับแต่งอย่างลึกซึ้งและแยกออกจากชั้นล่างสุด

ประสบการณ์จริง: ในการสร้างคลัสเตอร์บนคอนโซลคุณจะต้องเลือกการกำหนดค่าเท่านั้น (หลายคอร์และหลาย G หลายโหนด) จากนั้นคลัสเตอร์แบบกระจายทั้งหมดจะถูกสร้างขึ้นภายในไม่กี่นาทีด้วยการกำหนดค่าพื้นฐานที่ซับซ้อนเช่นการซิงโครไนซ์สำเนาและกฎการแบ่งส่วน Tencent Cloud จะช่วยให้คุณทำแนวทางปฏิบัติที่ดีที่สุดเมื่อเริ่มต้นคุณไม่จำเป็นต้องดูไฟล์คอนฟิกูเรชัน XML หลายร้อยบรรทัดอีกต่อไปซึ่งช่วยผมของนักเรียนที่ทำงานและบำรุงรักษาจำนวนนับไม่ถ้วน

2.การขยายตัวและความยืดหยุ่น: ในที่สุดก็ไม่จำเป็นต้องนอนดึกเพื่อย้ายข้อมูล

ภาระทางประวัติศาสตร์ที่ใหญ่ที่สุดของโอเพ่นซอร์ส ClickHouse คือ

ไม่สนับสนุนความยืดหยุ่นที่แท้จริง

。เนื่องจากเป็นสถาปัตยกรรม "การเชื่อมต่อการประมวลผลและการจัดเก็บข้อมูล" เมื่อฮาร์ดดิสก์เต็มและคุณต้องเพิ่มเครื่องคุณต้องเปลี่ยนไฟล์คอนฟิกูเรชันด้วยตนเองและคุณต้องเขียนสคริปต์เพื่อย้ายชิ้นส่วนข้อมูลทางกายภาพ (ชิ้นส่วน) ของเครื่องเก่าไปยังเครื่องใหม่, กระบวนการนี้เปรียบได้กับการเปลี่ยนเครื่องยนต์ในอากาศ, ข้อมูลหายไปโดยไม่ได้ตั้งใจ

วิธีแก้ปัญหาของ Tencent Cloud: Tencent Cloud ตระหนักถึงการแยกการประมวลผลแบบยืดหยุ่นและที่เก็บข้อมูลคอมพิวเตอร์ (รองรับบางเวอร์ชัน)

ประสบการณ์จริง: เมื่อปริมาณข้อมูลการทดสอบของเราเพิ่มขึ้นอย่างรวดเร็วให้คลิก "เปลี่ยนการกำหนดค่า" บนคอนโซลเพื่อเพิ่มโหนดหรือขยายดิสก์บนคลาวด์ทางออนไลน์โดยตรงในระหว่างกระบวนการทั้งหมดการปรับสมดุลข้อมูลจะถูกกำหนดโดยอัตโนมัติโดยพื้นหลังของ Tencent Cloud และการสืบค้นระดับธุรกิจแทบจะไม่ได้รับผลกระทบสิ่งนี้เพียงอย่างเดียวก็คุ้มค่ากับค่าโดยสาร

3.คอนโซลและการแสดงภาพ: ในที่สุดก็มี "แดชบอร์ด" ที่ดี

โอเพ่นซอร์ส ClickHouse มีไคลเอนต์บรรทัดคำสั่งเย็นเพียงรายเดียวโดยค่าเริ่มต้นต้องการดูว่าซีพียูของคลัสเตอร์วิ่งไปไกลแค่ไหน? แบบสอบถามใดบีบหน่วยความจำขออภัยคุณต้องตรวจสอบตารางระบบด้วยตัวเอง

System.processes

หรือสร้างชุด Prometheus Grafana ด้วยตัวเอง

วิธีแก้ปัญหาของ Tencent Cloud: Tencent Cloud มาพร้อมกับ DMC บริการตรวจสอบและจัดการข้อมูลที่สมบูรณ์แบบมาก

ประสบการณ์จริง: เข้าสู่คอนโซลปริมาณงานของคลัสเตอร์ความล่าช้าในการอ่านและการเขียนและการใช้ดิสก์จะชัดเจนในพริบตาสิ่งที่ดีที่สุดคือฟังก์ชันการวิเคราะห์แบบสอบถามช้าหาก SQL ทำงานเป็นเวลา10วินาทีโดยไม่มีผลลัพธ์คอนโซลจะจับโดยตรงและแสดงแผนการดำเนินการโดยละเอียดเพื่อบอกคุณว่า Join ใดติดอยู่นี่เป็นเพียงสิ่งประดิษฐ์สำหรับนักพัฒนาเพื่อปรับแต่ง SQL

3.ฉากต่อสู้จริง: อะไรคือสิ่งที่เหมาะสมที่สุดสำหรับ Tencent Cloud ClickHouse?

ในการประเมินธุรกิจจริงของเรา ClickHouse แสดงให้เห็นถึงข้อดีอย่างล้นหลามในสามสถานการณ์ต่อไปนี้:

สถานการณ์ที่1: บันทึกจำนวนมากและการวิเคราะห์การตรวจสอบ (ฆ่า ELK)

ทุกคนเคยทำการวิเคราะห์บันทึกมาก่อน

ใช้ ELK(Elasticsearch Logstash Kibana) แต่ Elasticsearch กินหน่วยความจำมากและมีอัตราการขยายตัวสูง (บันทึกต้นฉบับ100G อาจกลายเป็น200G เมื่อบันทึกไว้)

บันทึกของ ClickHouse: เทบันทึกพฤติกรรมผู้ใช้หลายพันล้านรายการลงใน ClickHouse ด้วยอัตราส่วนการบีบอัดข้อมูลที่สูงเป็นพิเศษที่1:5หรือ1:10ทำให้พื้นที่บนฮาร์ดดิสก์น้อยกว่าหนึ่งในสามของ ES และตรวจสอบข้อมูลการรวมที่หลากหลาย (เช่นการนับแนวโน้มข้อผิดพลาดของอินเทอร์เฟซเมื่อเดือนที่แล้ว) ClickHouse เร็วกว่า ES หลายเท่า

สถานการณ์ที่2: การโฆษณาและการดำเนินการที่ละเอียดอ่อน (การเลือกกลุ่มฝูงชน)

นักศึกษาปฏิบัติการมักจะถามเกี่ยวกับความต้องการของพวกเขา: "ช่วยฉันวนเวียนอยู่กับผู้ใช้ในปักกิ่งที่ลงชื่อเข้าใช้แอปในช่วง7วันที่ผ่านมาเติมเงินมากกว่า100หยวนและมีอายุระหว่าง18-25ปี"

ClickHouse Records: การวิเคราะห์ช่องทางหลายมิติตามฉลาก (Bitmap) นี้เป็นผลงานชิ้นเอกของ ClickHouse ด้วยการใช้ฟังก์ชันขั้นสูงในตัวเช่น bitmapAnd และ bitmapOr ฝูงชนนับหมื่นล้านจะถูกเลือกและผลลัพธ์จะออกมาในไม่กี่วินาทีและนักเรียนปฏิบัติการไม่จำเป็นต้องรอจนกว่าจะได้รับข้อมูลในวันถัดไปอีกต่อไป

4."ด้านหลังเหรียญ" ของ Tencent Cloud ClickHouse: หลุมที่มือใหม่ต้องหลีกเลี่ยง

แม้ว่า Tencent Cloud จะห่อหุ้มไว้เป็นอย่างดีแต่ ClickHouse ก็คือ ClickHouse และ "ลักษณะทางกายภาพ" ที่อยู่ด้านล่างระบุว่าไม่ใช่ยาครอบจักรวาลเมื่อมือใหม่ใช้งานอย่าใช้เป็น MySQL ต้องข้ามเขตที่วางทุ่นระเบิดต่อไปนี้:

อย่าเขียนปริมาณงานเล็กน้อยที่มีความซับซ้อนสูง: ClickHouse ชอบ "กินมากเกินไปในปริมาณมาก" และไม่ชอบ "กินน้อยลงและมากขึ้น" หากคุณเขียน1,000ครั้งต่อวินาทีและเขียนข้อมูลเพียงครั้งละ1ชิ้นพื้นหลังของ ClickHouse จะรวมชิ้นส่วนข้อมูล (Merge) อย่างบ้าคลั่งและในไม่ช้าคุณจะรายงานข้อผิดพลาดร้ายแรงของ Too many parts ที่ทำให้คลัสเตอร์หยุดทำงานคำแนะนำจากคนจริง: คุณต้องทำการแคชภายใน (บัฟเฟอร์) ที่ชั้นธุรกิจหรือรวบรวมแบทช์ผ่าน Kafka และแต่ละชุดมีอย่างน้อย10,000ชิ้นจากนั้นจึงเขียนโดยรวม

ไม่ดีในการสืบค้นจุดความละเอียดสูงพร้อมกันสูง: ClickHouse เป็นสัตว์ร้ายบางส่วนคุณปล่อยให้มันนับผลรวมของข้อมูล1พันล้านชิ้นและจะให้คุณ0.5วินาทีแต่ถ้าคุณต้องการสร้างแอปที่มีการใช้งานพร้อมกันหลายหมื่นครั้งให้ตรวจสอบข้อมูลพื้นฐานของผู้ใช้ที่เฉพาะเจาะจงตาม ID ผู้ใช้ (SELECT * FROM table WHERE id = 123) มันจะทำให้ CPU เต็มคำแนะนำที่แท้จริง: สำหรับธุรกิจการตรวจสอบจุดพร้อมกันสูงประเภทนี้ให้ใช้ Redis หรือ MySQL อย่างตรงไปตรงมา

ความสามารถในการสืบค้นพร้อมกันที่จำกัดมาก (Max

Concurrent Queries): ขีดจำกัดเริ่มต้นของ ClickHouse สำหรับจำนวนแบบสอบถามพร้อมกันคือ100เนื่องจาก SQL ที่ซับซ้อนจะระดมแกน CPU ทั้งหมดที่อยู่เบื้องหลังหาก100คนส่งแบบสอบถามรายงานที่ซับซ้อนในเวลาเดียวกันคลัสเตอร์จะติดอยู่โดยตรงเหมาะสำหรับนักวิเคราะห์ข้อมูลการดำเนินการและป้ายโฆษณาภายในและไม่เหมาะสำหรับการโทรพร้อมกันขนาดใหญ่โดยตรงไปยังผู้ใช้ที่ใช้งานอยู่หลายล้านคนในฝั่ง C

5.สรุปและข้อเสนอแนะในการเลือก

หลังจากการประเมินเชิงลึกความรู้สึกโดยรวมของ Tencent Cloud ClickHouse(CDCH) คือ:

ข้อบกพร่องไม่ได้ปกปิดข้อบกพร่องอยู่ที่ยีนโอเพ่นซอร์สและ Yu ได้รับการประมวลผลใน Tencent

มันสืบทอดประสิทธิภาพการสืบค้นขั้นสูงสุดของโอเพ่นซอร์ส ClickHouse ที่ทำให้อะดรีนาลีนพุ่งสูงขึ้นในขณะเดียวกันด้วยวิธีการโฮสติ้งแบบเนทีฟบนคลาวด์ภูเขาทั้งสามที่ถูกวิพากษ์วิจารณ์มากที่สุดของ "ความยากลำบากในการดำเนินการและการบำรุงรักษาการขยายกำลังการผลิตและการตรวจสอบ" ได้ถูกลบออกไปโดยสิ้นเชิง

สุดท้ายให้คำแนะนำในการเลือกประโยค:

หากปริมาณข้อมูลทางธุรกิจของคุณเกินหลายสิบล้านหรือหลายร้อยล้าน MySQL แบบเดิมจะใช้เวลาสองสามนาทีในการเรียกใช้รายงานและคุณไม่มีงบประมาณพิเศษในการเพิ่มทีมปฏิบัติการและบำรุงรักษาข้อมูลขนาดใหญ่โดยเฉพาะ

ไปที่ ClickHouse ของ Tencent Cloud โดยตรง

。สามารถใช้ฮาร์ดแวร์และต้นทุนแรงงานที่ต่ำมากเพื่อพาบริษัทของคุณไปสัมผัสกับ "ความรู้สึกผลักกลับ" ในยุคของข้อมูลขนาดใหญ่ล่วงหน้า

cloud
← 返回新闻中心