การออกแบบและปรับแต่งฐานข้อมูลด้วย AI

AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

การเชื่อมต่อข้อมูลจริง

 

sql-table-error.png

 

  • โฟลเดอร์ใหม่ใน /usecase directory ของ Atlas
  • sqlite3.OperationalError: no such table: activity_events
  • ❗ ตารางมีอยู่แต่ใช้ ชื่อต่างกัน: schema ไม่ตรงกัน
AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

การใช้ AI สำหรับการแมป Schema

schema-mismatch.png

🤖 Prompt สำหรับการจัดเรียง Schema:

ปรับ schema ของฐานข้อมูลให้ตรงกับที่ Atlas ต้องการ ใช้ตารางจากฐานข้อมูล production และตารางที่ Atlas คาดหวัง เปลี่ยนชื่อตารางและคอลัมน์อย่างปลอดภัย และแสดงการแมประหว่างข้อมูลเดิมกับ schema ใหม่

AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

ai-table-squema.mp4

AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

การอัปเดตข้อมูลในสถานการณ์จริง

mermaid: datacamp-purple: data reconciliation pipeline

 

  • Wayfarer รับ events จากพาร์ทเนอร์
  • พาร์ทเนอร์ส่ง ข้อมูลซ้ำ, การแก้ไข และ การปรับเปลี่ยน
  • ข้อมูลล้าสมัย → KPI ไม่ถูกต้อง
  • การ Reconciliation ผ่านการดำเนินการ CRUD
AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

การตรวจจับข้อมูลซ้ำด้วย AI

 

  • พาร์ทเนอร์ส่ง ชุดข้อมูลใหม่ ของ booking events
  • ผู้ให้บริการหลายรายดึงข้อมูลจาก API เดียวกัน → มีข้อมูลซ้ำบ่อยครั้ง
  • ต้อง ตรวจจับข้อมูลซ้ำ ก่อนนำเข้าสู่ production

nanobanana: center: การตรวจจับข้อมูลซ้ำในตารางฐานข้อมูล

AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

การออกแบบ Query สำหรับการตรวจจับ

sql-duplication.png

AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

การปรับแต่งประสิทธิภาพ Query

SQL query:

sql-innefficient-query2.png

🤖 Prompt เพื่อปรับแต่งประสิทธิภาพ:

นี่คือ SQL query ที่ใช้งานบ่อย พร้อม schema ของตาราง กรุณาระบุ จุดที่ทำให้ประสิทธิภาพลดลง และเขียน query ใหม่ให้มีประสิทธิภาพมากขึ้นโดยไม่เปลี่ยนผลลัพธ์

AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

ai-efficient-query.mp4

AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

การออกแบบฐานข้อมูลในระดับขนาดใหญ่

 

🤖 Prompt สำหรับการออกแบบฐานข้อมูล:

จาก schema และ workload นี้ (อ่าน KPI บ่อยตามวันที่และเมือง และมีการแทรกข้อมูลทุกวัน) แนะนำ การปรับปรุง normalization, กลยุทธ์การแบ่ง partition และตัวเลือกการ scaling

ให้ความสำคัญกับการเปลี่ยนแปลงที่ให้ผลดีที่สุดเมื่อเทียบกับความพยายามที่ต้องใช้

sql-data-growth.png

AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

ai-sql-partitioning.mp4

AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

มาฝึกกันเลย!

AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

Preparing Video For Download...