ซิงค์ฐานข้อมูล

เมื่อสเปรดชีตเริ่มไม่พอ: ย้ายข้อมูลมาร์เก็ตเพลสเข้า PostgreSQL

คู่มือออกแบบไปป์ไลน์ Spyliner Hub แรก ตั้งแต่การเข้าถึงปลายทางไปจนถึง Mapping โหมดเขียน และการติดตาม

โดยทีม Spyliner·อ่าน 9 นาที

สเปรดชีตเป็นเครื่องมือปฏิบัติการที่ดี แต่ไม่ใช่ชั้นข้อมูลดิบที่เหมาะเมื่อหลายร้าน ประวัติยาว แดชบอร์ด และแอปภายในพึ่งพาไฟล์เดียว

Spyliner Hub เชื่อมชุดข้อมูลมาร์เก็ตเพลสกับตาราง PostgreSQL ที่มีอยู่ คุณค่าหลักอยู่ที่การตัดสินใจเรื่องโครงสร้างตาราง การจับคู่ฟิลด์ และวิธีเขียนข้อมูลที่กลับมาอีกครั้ง

01

ใช้ปลายทางให้เหมาะ

PostgreSQL เหมาะเมื่อข้อมูลมีผู้ใช้หลายระบบ

เลือก Database Sync เมื่อแดชบอร์ด BI งานแปลงข้อมูล แอปภายใน หรือหลายทีมต้องการแหล่งข้อมูลที่เสถียร ใช้ Google Sheets ต่อเมื่อคนต้องการพื้นที่ทำงานที่ยืดหยุ่น

เริ่มด้วยร้านเดียวและชุดข้อมูลเดียวในตารางที่ไม่สำคัญ ก่อนขยายไปทุกบัญชี

02

ความปลอดภัยมาก่อนความสะดวก

เตรียมปลายทางที่พร้อมสำหรับ Production

  • ✓ใช้ Role ฐานข้อมูลเฉพาะที่มีสิทธิ์เท่าที่จำเป็น
  • ✓ใช้เส้นทางเครือข่ายที่ได้รับอนุมัติ
  • ✓สร้างคอลัมน์ที่เข้ากันได้เฉพาะฟิลด์ที่ต้องการ
  • ✓อย่าแชร์ Connection String ใน Ticket ภาพหน้าจอ โค้ด หรือแชต
03

ภายในขั้นตอนของ Hub

สร้างและทดสอบการจับคู่จากแหล่งข้อมูลสู่ตาราง

  1. 1

    เพิ่ม PostgreSQL

    เปิด Destinations เพิ่ม PostgreSQL ทดสอบการเชื่อมต่อแล้วบันทึก

  2. 2

    เลือกแหล่งข้อมูล

    เปิด Syncs สร้าง Sync แล้วเลือกร้านและชุดข้อมูล

  3. 3

    เลือกตาราง

    เลือกปลายทาง Schema และตารางหลัง Hub ตรวจคอลัมน์

  4. 4

    จับคู่และทดสอบ

    จับคู่ฟิลด์กับคอลัมน์ที่เข้ากัน และรัน Test write access

  5. 5

    ตั้งตารางเวลา

    ตรวจการตั้งค่า เลือกเวลา และสร้าง Sync

04

การตัดสินใจสำหรับข้อมูลที่กลับมา

ใช้ upsert กับข้อมูลที่เปลี่ยน และ insert-only กับ Log แบบต่อท้าย

ออเดอร์และข้อมูลประสิทธิภาพมักเปลี่ยน Upsert เพิ่มแถวใหม่และอัปเดตแถวที่ตรงกับ Conflict Key ตารางต้องมี Unique Constraint หรือ Index ที่เข้ากัน

Insert-only ไม่แก้ไขแถวเดิมและเพิ่มข้อมูลใหม่ตาม Constraint ของ PostgreSQL ใช้เมื่อพฤติกรรมแบบ Append เป็นสิ่งที่ตั้งใจ

  • ✓จับคู่ spylinerSyncKey กับ text หรือ varchar เป็นตัวระบุเริ่มต้น
  • ✓กำหนดคอลัมน์ตัวระบุให้ Unique เมื่อใช้เป็น Conflict Target
  • ✓บันทึกโหมดเขียนและผู้รับผิดชอบไปป์ไลน์

คำตอบแบบสั้น

คำถามที่พบบ่อย

Spyliner Hub รองรับ MySQL หรือ Data Warehouse ไหม?+

ปัจจุบันปลายทางฐานข้อมูลที่รองรับคือ PostgreSQL

การรันด้วยตนเองใช้การตั้งค่าอื่นไหม?+

ไม่ การรันด้วยตนเองและตามเวลาใช้แหล่งข้อมูล Mapping ปลายทาง และโหมดเขียนเดียวกัน

ควรใช้โหมดใดกับออเดอร์?+

โดยทั่วไปใช้ upsert เพราะสถานะออเดอร์เปลี่ยนได้ ตรวจให้ Conflict Key มี Constraint ที่เหมาะสม

Google Sheetsอ่าน 14 นาที

วิธีส่งออกข้อมูล Shopee, Lazada และ TikTok Shop ไปยัง Google Sheets

คู่มือแบบละเอียดสำหรับสองวิธีที่ใช้งานจริง: ส่งออกด้วยตนเอง หรือใช้ Spyliner สำหรับรายงาน Google Sheets ที่ต้องอัปเดตซ้ำ

อ่านบทความ