Company insights

การทำ Replication ใน SQL Server


Replication ใน SQL Server คือกระบวนการคัดลอกและกระจายข้อมูล
จากฐานข้อมูลหนึ่งไปยังอีกฐานข้อมูลหนึ่งแบบอัตโนมัติ
เพื่อให้ข้อมูลในหลาย Server เหมือนกัน


Replication มักถูกใช้ในระบบที่ต้องการ


  • กระจายข้อมูลไปหลาย Server

  • ลดภาระการอ่านข้อมูลจาก Database หลัก

  • ทำระบบสำรองข้อมูล

  • ทำระบบ Reporting Server


องค์ประกอบของ Replication


ใน SQL Server Replication จะมีองค์ประกอบหลัก 3 ส่วน


  • Publisher – Server ที่เป็นต้นทางของข้อมูล

  • Distributor – Server ที่จัดการการกระจายข้อมูล

  • Subscriber – Server ปลายทางที่รับข้อมูล

ภาพโครงสร้าง Replication


       +-------------+
       |  Publisher  |
       |  (Database) |
       +-------------+
              |
              |
       +-------------+
       | Distributor |
       +-------------+
              |
              |
       +-------------+
       | Subscriber  |
       | (Database)  |
       +-------------+


ประเภทของ Replication


SQL Server มี Replication หลัก 3 รูปแบบ

1. Snapshot Replication


เป็นการคัดลอกข้อมูลทั้งหมดจาก Publisher ไปยัง Subscriber
ในช่วงเวลาที่กำหนด

ลักษณะการทำงาน


Publisher
  |
  |  Snapshot
  v
Subscriber


เหมาะสำหรับ


  • ข้อมูลที่ไม่เปลี่ยนแปลงบ่อย

  • ข้อมูลขนาดไม่ใหญ่มาก


2. Transactional Replication


เป็นการส่งข้อมูลที่มีการเปลี่ยนแปลง
เช่น INSERT, UPDATE, DELETE
จาก Publisher ไปยัง Subscriber แบบต่อเนื่อง

ลักษณะการทำงาน


Publisher
  |
  | Transaction Log
  v
Distributor
  |
  v
Subscriber


เหมาะสำหรับ


  • ระบบที่ต้องการข้อมูลใกล้เคียง Real-time

  • ระบบ Reporting


3. Merge Replication


เป็น Replication ที่ทั้ง Publisher และ Subscriber
สามารถแก้ไขข้อมูลได้
และระบบจะทำการ Merge ข้อมูลเข้าด้วยกัน

ลักษณะการทำงาน


Publisher  <------>  Subscriber
     (Sync ข้อมูลทั้งสองฝั่ง)


เหมาะสำหรับ


  • ระบบที่มีหลายสาขา

  • ระบบ Offline / Online


ขั้นตอนการตั้งค่า Replication ใน SQL Server

1. เปิด SQL Server Management Studio (SSMS)


เชื่อมต่อไปยัง SQL Server ที่ต้องการทำ Replication


2. Configure Distribution


คลิกขวาที่ Replication


Replication
  → Configure Distribution


ขั้นตอนนี้จะสร้าง Distributor

ภาพขั้นตอน


SQL Server
  |
  +-- Replication
        |
        +-- Configure Distribution


3. สร้าง Publication


Publication คือการกำหนดว่าตารางไหนจะถูกส่งไปยัง Subscriber


Replication
  → Local Publications
  → New Publication


เลือก


  • Database

  • Replication Type

  • Table ที่ต้องการ replicate


4. สร้าง Subscription


Subscription คือการกำหนดว่า
Subscriber ตัวไหนจะรับข้อมูล


Replication
  → Local Publications
  → New Subscription


เลือก


  • Subscriber Server

  • Database ปลายทาง

ภาพโครงสร้างหลังตั้งค่า


Publisher Server
     |
     v
Distributor
     |
     v
Subscriber Server


ตัวอย่างการใช้งานจริง


ตัวอย่างเช่นระบบ E-Commerce


Main Database (Publisher)
       |
       |
       v
Reporting Server (Subscriber)


Server หลักใช้สำหรับ


  • Insert Order

  • Update Product


ส่วน Reporting Server ใช้สำหรับ


  • Dashboard

  • Report

  • Analytics


ทำให้ลดภาระ Database หลัก


ข้อดีของ Replication


  • กระจายข้อมูลไปหลาย Server

  • เพิ่มความเร็วในการอ่านข้อมูล

  • รองรับระบบขนาดใหญ่

  • ลดภาระ Database หลัก


ข้อจำกัดของ Replication


  • การตั้งค่าค่อนข้างซับซ้อน

  • ต้องมีการดูแลระบบ Replication

  • ต้องมีพื้นที่จัดเก็บเพิ่ม


สรุป


Replication ใน SQL Server เป็นเทคนิคสำคัญในการกระจายข้อมูล
จากฐานข้อมูลต้นทางไปยังฐานข้อมูลปลายทาง
โดยมีองค์ประกอบหลักคือ Publisher, Distributor และ Subscriber


Replication มี 3 รูปแบบหลัก ได้แก่ Snapshot, Transactional และ Merge
ซึ่งแต่ละรูปแบบเหมาะกับการใช้งานที่แตกต่างกัน
และนิยมใช้ในระบบองค์กรหรือระบบที่มีข้อมูลจำนวนมาก