Clickhttp: ไลบรารี Python ที่เพิ่มประสิทธิภาพการเชื่อมต่อ ClickHouse ผ่าน HTTP พร้อมรองรับ DataFrame ขั้นสูง

BigGo Editorial Team
Clickhttp: ไลบรารี Python ที่เพิ่มประสิทธิภาพการเชื่อมต่อ ClickHouse ผ่าน HTTP พร้อมรองรับ DataFrame ขั้นสูง

ชุมชนนักพัฒนาแสดงความสนใจเพิ่มขึ้นต่อเครื่องมือที่เชื่อมช่องว่างระหว่างฐานข้อมูล ClickHouse และเฟรมเวิร์กการประมวลผลข้อมูลสมัยใหม่ การสนทนาล่าสุดชี้ให้เห็นว่านักพัฒนากำลังสำรวจวิธีการต่างๆ ในการทำงานร่วมกับ ClickHouse โดยเฉพาะอย่างยิ่งผ่านโปรโตคอล HTTP ที่มีฟังก์ชันการทำงานที่เพิ่มขึ้น

ภาพรวมคุณสมบัติของไลบรารี Clickhttp สำหรับการเชื่อมต่อกับฐานข้อมูล ClickHouse
ภาพรวมคุณสมบัติของไลบรารี Clickhttp สำหรับการเชื่อมต่อกับฐานข้อมูล ClickHouse

คุณสมบัติขั้นสูงนอกเหนือจาก HTTP แบบดั้งเดิม

ในขณะที่ ClickHouse มีการรองรับ HTTP แบบดั้งเดิมอยู่แล้ว Clickhttp โดย 0xMihalich ได้ขยายความสามารถเหล่านี้ด้วยการปรับปรุงที่โดดเด่นหลายประการ:

การปรับปรุงที่สำคัญ:

  • รองรับ DataFrame หลายรูปแบบ : การผสานรวมกับ pandas, polars, vaex และ dask
  • การประมวลผลหลายคิวรี : ความสามารถในการรันหลายคิวรีต่อเนื่องพร้อมการสร้างตารางชั่วคราว
  • การจัดการข้อมูลอย่างมีประสิทธิภาพ : รองรับโหมดการบีบอัดโดยใช้ gzip
  • การเชื่อมต่อที่ยืดหยุ่น : ตัวเลือกสำหรับการใช้พร็อกซีเซิร์ฟเวอร์และการกำหนดค่าไทม์เอาต์

การผสานรวมกับเครื่องมือข้อมูลสมัยใหม่

หนึ่งในข้อได้เปรียบที่สำคัญที่สุดของ Clickhttp คือความเข้ากันได้กับรูปแบบ DataFrame ต่างๆ ทำให้เหมาะอย่างยิ่งสำหรับนักวิทยาศาสตร์ข้อมูลและนักวิเคราะห์ที่ทำงานกับไลบรารีประมวลผลข้อมูลที่หลากหลาย ไลบรารีนี้ปรับตัวเองตามคอมโพเนนต์ที่ติดตั้งไว้ โดยโหลดเฉพาะสิ่งที่จำเป็นสำหรับความต้องการเฉพาะของผู้ใช้

คุณสมบัติทางเทคนิคที่โดดเด่น:

  • รองรับการสตรีม : จัดการ Big Data อย่างมีประสิทธิภาพ
  • การจัดการตารางชั่วคราว : สร้างและจัดการตารางชั่วคราวโดยอัตโนมัติ
  • การจัดการเซสชัน : รองรับ context managers และการควบคุมเซสชัน
  • การปรับแต่งคิวรี SQL : มีการจัดรูปแบบคิวรีและลบความคิดเห็นในตัว

การพัฒนาของชุมชน

น่าสนใจที่การสนทนายังได้นำความสนใจไปสู่โครงการเสริมอย่าง chDB ซึ่งเป็นเอนจิน ClickHouse แบบในกระบวนการที่ช่วยให้สามารถผสานรวม API HTTP โดยตรงเป็นตาราง ClickHouse แสดงให้เห็นถึงระบบนิเวศของเครื่องมือรอบๆ การเชื่อมต่อฐานข้อมูล ClickHouse ที่กำลังเติบโต

การประยุกต์ใช้งานจริง

ไลบรารีนี้แก้ไขจุดที่เป็นปัญหาเฉพาะในกระบวนการ ETL ที่ต้องใช้ Common Table Expressions (CTEs) หลายตัว ต่างจากการใช้งาน ClickHouse มาตรฐานที่อาจต้องประมวลผลคิวรีเดิมซ้ำๆ ที่ประกาศในส่วน WITH, Clickhttp มอบวิธีการที่มีประสิทธิภาพมากกว่าผ่านตารางชั่วคราวและการรองรับหลายคิวรี

การปรับปรุงล่าสุด:

  • เพิ่มเอกสารประกอบที่รองรับสองภาษา
  • เพิ่มขนาดชั้นเริ่มต้นเป็น 50MB เพื่อประสิทธิภาพที่ดีขึ้น
  • เพิ่มการรองรับโปรโตคอล HTTPS สำหรับพอร์ต 443
  • ปรับปรุงความสามารถในการจัดรูปแบบคิวรี SQL

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