Polars Cloud เปิดตัวพร้อม Distributed Computing Engine ท้าทายการครองตำแหน่งของ Spark

ทีมชุมชน BigGo
Polars Cloud เปิดตัวพร้อม Distributed Computing Engine ท้าทายการครองตำแหน่งของ Spark

Polars ไลบรารีประมวลผลข้อมูลที่เติบโตอย่างรวดเร็ว ได้เปิดตัวแพลตฟอร์มคลาวด์อย่างเป็นทางการพร้อมกับ distributed computing engine ที่อยู่ในช่วง open beta ขณะนี้ นี่ถือเป็นก้าวสำคัญในภารกิจของบริษัทที่จะเชื่อมโยงสิ่งที่พวกเขาเรียกว่า DataFrame scale gap ซึ่งเป็นช่องว่างทางประวัติศาสตร์ระหว่างความง่ายในการใช้งานแบบ local ของ pandas กับความสามารถในการขยายขนาดแบบ remote ของ PySpark

ชุมชนตั้งคำถามเกี่ยวกับการลงทุนต่อเนื่องใน Spark

การเปิดตัวครั้งนี้ได้จุดประกายการอภิปรายที่น่าสนใจในชุมชนนักพัฒนาเกี่ยวกับอนาคตของการประมวลผล big data นักพัฒนาบางคนตั้งคำถามว่าทำไมผู้เล่นรายใหญ่อย่าง Databricks จึงยังคงลงทุนอย่างหนักใน Apache Spark ในขณะที่ทางเลือกใหม่อย่าง Polars และ DuckDB อาจเพียงพอสำหรับหลายกรณีการใช้งาน โดยเฉพาะสำหรับ startup และบริษัทขนาดเล็ก

จังหวะเวลานี้ดูเหมาะสมเป็นพิเศษ เนื่องจากบริษัทอย่าง Palantir ได้สนับสนุนโมเดล bring your own compute แล้ว ซึ่งบ่งบอกถึงการเปลี่ยนแปลงไปสู่แนวทางโครงสร้างพื้นฐานที่ยืดหยุ่นและควบคุมโดยผู้ใช้มากขึ้น

การจัดการโครงสร้างพื้นฐานที่เรียบง่ายดึงดูดความสนใจ

หนึ่งในแง่มุมที่ถูกพูดถึงมากที่สุดของ Polars Cloud คือแนวทางในการทำ infrastructure abstraction แม้ว่าตัวอย่างเริ่มต้นจะแสดงให้เห็นว่าผู้ใช้ระบุประเภท instance ของ AWS โดยตรง แต่แพลตฟอร์มนี้รองรับการระบุทรัพยากรที่เข้าใจง่ายกว่าโดยใช้ความต้องการ CPU และหน่วยความจำแทนชื่อ instance เฉพาะของคลาวด์

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

วิธีการระบุทรัพยากร:

 วิธีที่ 1: ประเภท instance ของ AWS
pc.ComputeContext(
    instance_type="m6i.large",
    cluster_size=8,
    storage=64
)

 วิธีที่ 2: ความต้องการทรัพยากร  
pc.ComputeContext(
    cpus=4,
    memory=16
)

กลยุทธ์การขยายขนาดที่เป็นเอกลักษณ์ทำให้แตกต่าง

สิ่งที่ทำให้ Polars Cloud น่าสนใจเป็นพิเศษคือแนวทางการขยายขนาดแบบหลายทิศทาง ไม่เหมือนกับระบบกระจายแบบดั้งเดิมที่เน้นการขยายขนาดแนวนอนเป็นหลัก (เพิ่มเครื่องมากขึ้น) Polars เสนอกลยุทธ์การขยายขนาดแนวตั้ง แนวนอน และแนวทแยง หมายความว่าระบบสามารถเลือกระหว่างการใช้ worker ขนาดเล็กจำนวนมากหรือเครื่องที่มีประสิทธิภาพสูงจำนวนน้อยขึ้นอยู่กับลักษณะของ workload

ความยืดหยุ่นนี้อาจส่งผลกระทบอย่างมีนัยสำคัญต่อการเพิ่มประสิทธิภาพต้นทุน เนื่องจากการดำเนินการบางอย่างได้ประโยชน์จาก single node ที่มีประสิทธิภาพสูงมากกว่าการประมวลผลแบบกระจาย ซึ่งมาพร้อมกับ overhead ของการ shuffling

ตัวเลือกการปรับขนาดของ Polars Cloud :

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

การเรียกเก็บเงินและการวางตำแหน่งในตลาด

แพลตฟอร์มดำเนินการผ่านการเรียกเก็บเงินของ AWS โดยมี markup ของ Polars ปรากฏโดยตรงในบิล AWS ของผู้ใช้ แนวทางนี้วางตำแหน่ง Polars Cloud เป็น compute optimization layer มากกว่าการทดแทน data warehouse อย่าง Snowflake การเปรียบเทียบเบื้องต้นแสดงให้เห็นว่ากำลังกำหนดเป้าหมายตลาดเดียวกันกับ AWS Glue และบริการประมวลผลข้อมูลที่คล้ายกัน โดยอ้างว่าเร็วกว่าและคุ้มค่ากว่า

การมุ่งเน้นยังคงอยู่ที่การดำเนินการ DataFrame อย่างแน่วแน่มากกว่า SQL โดยทีมระบุว่าการรองรับ SQL อาจมาในภายหลัง แต่ไม่ใช่ความสำคัญในปัจจุบันเนื่องจากตลาดการประมวลผล SQL ที่อิ่มตัว

ไทม์ไลน์ฟีเจอร์ที่วางแผนไว้:

  • การสนับสนุน On-premise: จะมาในอีกไม่กี่เดือนข้างหน้า (กำลังเริ่มต้นกับลูกค้ารายแรก)
  • แดชบอร์ดคลัสเตอร์แบบสด: อยู่ระหว่างการพัฒนาพร้อมการติดตามคลัสเตอร์แบบเรียลไทม์
  • การจัดการงาน: ความสามารถในการจัดตารางเวลาขั้นพื้นฐาน (ไม่ได้มาแทนที่ Airflow/Prefect )
  • การสนับสนุน Catalog: เน้นการรวมรูปแบบตาราง Iceberg
  • หลายภูมิภาค: การขยายเกินกว่าภูมิภาค US East ปัจจุบัน

มองไปข้างหน้า

ด้วยฟีเจอร์อย่างการรองรับ on-premise, live cluster dashboard และการรวม catalog ที่วางแผนไว้ในอนาคตอันใกล้ Polars Cloud ดูเหมือนจะวางตำแหน่งเพื่อท้าทายผู้เล่นที่มีชื่อเสียงในพื้นที่การประมวลผลข้อมูลแบบกระจาย การรวมกันของ API ที่คุ้นเคย การขยายขนาดที่ยืดหยุ่น และการเพิ่มประสิทธิภาพต้นทุนอาจทำให้เป็นทางเลือกที่น่าสนใจสำหรับองค์กรที่ต้องการปรับปรุงโครงสร้างพื้นฐานการประมวลผลข้อมูลให้ทันสมัยโดยไม่มีความซับซ้อนที่เกี่ยวข้องกับ distributed computing แบบดั้งเดิม

อ้างอิง: Launch of Polars Cloud and Distributed Polars