• แก้ปัญหา ความซับซ้อนและความล่าช้าของการพัฒนาแบ็กเอนด์ข้อมูลแบบเดิม ช่วยให้พัฒนาแบ็กเอนด์สำหรับการวิเคราะห์ข้อมูลได้อย่างรวดเร็วด้วย TypeScript หรือ Python
  • มาพร้อม สแตกที่มีให้ในตัว (ClickHouse, Redpanda, Temporal) และมีแผนขยายไปยังแพลตฟอร์มคลาวด์ที่หลากหลายในอนาคต
  • ทำให้การพัฒนาแบบโลคัลง่ายขึ้น รองรับการทดสอบที่รวดเร็วและ hot reload ได้ทันที
  • เหมาะสำหรับ การสร้างแอปพลิเคชันที่ใช้ข้อมูลเข้มข้นหลากหลายรูปแบบ และสามารถนำไปใช้กับงานวิเคราะห์แบบเรียลไทม์, การย้ายข้อมูล, การสตรีมเหตุการณ์ เป็นต้น

Moose

  • Moose เป็นเฟรมเวิร์กที่ช่วยให้สร้างแบ็กเอนด์เชิงวิเคราะห์ข้อมูลได้ด้วยโค้ด TypeScript หรือ Python เพียงอย่างเดียว
  • มีขึ้นเพื่อแก้ปัญหาที่เครื่องมือสำหรับพัฒนาแบ็กเอนด์ข้อมูลแบบเดิมทั้งช้าและซับซ้อน
  • ปัญหาในการสร้างแบ็กเอนด์เชิงวิเคราะห์ด้วยทูลในปัจจุบัน

    • ปัญหาความกระจัดกระจายของเครื่องมือ
      ต้องเสียเวลาไปกับการผสานบริการจำนวนมาก เช่น Kafka, ClickHouse, Postgres, dbt, Airflow
    • ปัญหาความไม่สอดคล้องของสคีมา
      โมเดลในโค้ด, สคีมาฐานข้อมูล, การตรวจสอบ API และรูปแบบข้อความอาจไม่ตรงกันเมื่อเวลาผ่านไป
    • ความยากของเวิร์กโฟลว์การพัฒนา
      การไม่มีการทดสอบบนเครื่องโลคัล, รอบการดีพลอยที่ยาวนาน และการสลับบริบทบ่อยครั้ง ทำให้ประสิทธิภาพการพัฒนาลดลง
    • การประมวลผลที่ยึด SQL เป็นหลัก
      มีความไม่สะดวกจากการต้องใช้แต่ SQL แทนภาษาการเขียนโปรแกรมที่คุ้นเคย
  • ปัญหาที่เกิดขึ้นเมื่อสร้างระบบเอง

    • แม้แต่การเพิ่มฟิลด์ง่าย ๆ ก็ยังต้องทำงานต่อไปนี้ด้วยตนเองทั้งหมด
      • แก้ไขโมเดลโค้ด TypeScript/Python
      • แก้ไขสคีมาฐานข้อมูล
      • อัปเดต Kafka topic
      • อัปเดตการตรวจสอบขณะรันไทม์
      • อัปเดตการแปลงข้อมูลและคิวรี
    • ต้องใช้เวลาและแรงอย่างมากทุกครั้งเพื่อทดสอบการเปลี่ยนแปลงทั้งหมดให้ปลอดภัย

วิธีที่ Moose ใช้แก้ปัญหา

  • สิ่งที่ Moose มอบให้

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

    • ไม่ต้องกังวลเรื่องกฎการตั้งชื่อตารางฐานข้อมูล, การซิงก์ฟิลด์ระหว่างโมเดล/ตาราง หรือการกำหนดว่า field ใดเป็น Nullable
  • การพัฒนาแบบโลคัล

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

    • เมื่อเพิ่มหรือแก้ไขโมเดล เพียงบันทึกก็จะ hot reload ไปยังโครงสร้างพื้นฐานบนเครื่องโลคัลทันที
    • เมื่อเพิ่มฟิลด์ใหม่ ระบบจะนำไปใช้กับ API, สตรีม และฐานข้อมูลทันที
    • การทดสอบไปป์ไลน์ก็ตรวจสอบได้ทันทีเช่นกัน โดยส่งข้อมูลตัวอย่างไปยัง local ingest API
  • เวิร์กโฟลว์ hot reloading

    • หลังแก้ไขโมเดล เพียงบันทึก การเปลี่ยนแปลงก็จะถูกนำไปใช้โดยอัตโนมัติ
    • ฟิลด์ที่เพิ่มเข้ามาจะถูกนำไปใช้กับการตรวจสอบ API, สคีมาฐานข้อมูล และสตรีมโดยอัตโนมัติ
  • ความเป็นโมดูลาร์

    • สามารถเลือกใช้และจัดองค์ประกอบเฉพาะคอมโพเนนต์ที่ต้องการได้

สแตก Moose ที่มีให้ในตัว

  • ClickHouse
    ฐานข้อมูล OLAP ที่เปิดใช้งานเป็นค่าเริ่มต้น
  • Redpanda
    แพลตฟอร์ม event streaming ที่เข้ากันได้กับ Kafka (สามารถปิดการใช้งานได้)
  • Temporal
    เครื่องมือ orchestration สำหรับเวิร์กโฟลว์ (สามารถปิดการใช้งานได้)
  • แผนการขยายในอนาคต

    • Snowflake, Databricks, BigQuery
      มีแผนรองรับคลาวด์ดาต้าแวร์เฮาส์
    • Kafka, Kinesis, Pulsar
      มีแผนรองรับแพลตฟอร์ม event streaming ที่เข้ากันได้กับ Kafka ที่หลากหลาย

สิ่งที่สร้างได้ด้วย Moose

  • การวิเคราะห์แบบเรียลไทม์สำหรับผู้ใช้
    ผสาน leaderboard, chart, metric และองค์ประกอบอื่น ๆ เข้ากับเว็บ/แอปมือถือ
  • BI และดาต้าแวร์เฮาส์
    รวบรวมข้อมูลจากหลายแหล่งเพื่อสร้างฐานข้อมูลเชิงวิเคราะห์และสร้างรายงาน
  • การย้ายข้อมูล
    ย้ายข้อมูลจากระบบเลกาซีไปยังแบ็กเอนด์ข้อมูลสมัยใหม่
  • Event streaming
    ประมวลผลเหตุการณ์แบบเรียลไทม์บนแพลตฟอร์มสตรีมมิงอย่าง Kafka, Redpanda เป็นต้น
  • งาน ETL
    รวบรวมข้อมูลจากหลายแหล่งเป็นระยะ และโหลดเข้าสู่สภาพแวดล้อมสำหรับการวิเคราะห์

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น