โพสต์นี้ครอบคลุมถึงการแบ่งพาร์ติชัน PostgreSQL เราจะหารือเกี่ยวกับตัวเลือกการแบ่งพาร์ติชันต่างๆ ที่คุณสามารถใช้ และยกตัวอย่างวิธีใช้งานเพื่อความเข้าใจที่ดีขึ้น
วิธีสร้างพาร์ติชัน PostgreSQL
ฐานข้อมูลใดๆ อาจมีตารางจำนวนมากที่มีหลายรายการ เพื่อการจัดการที่ง่ายดาย คุณควรแบ่งพาร์ติชันตารางซึ่งเป็นรูทีนคลังข้อมูลที่ดีและแนะนำสำหรับการเพิ่มประสิทธิภาพฐานข้อมูลและเพื่อช่วยในเรื่องความน่าเชื่อถือ คุณสามารถสร้างพาร์ติชันต่างๆ รวมถึงรายการ ช่วง และแฮชได้ มาพูดคุยกันโดยละเอียด
1. การแบ่งพาร์ติชันรายการ
ก่อนที่จะพิจารณาการแบ่งพาร์ติชั่นใด ๆ เราต้องสร้างตารางที่เราจะใช้สำหรับพาร์ติชั่นนั้น เมื่อสร้างตาราง ให้ปฏิบัติตามไวยากรณ์ที่กำหนดสำหรับพาร์ติชันทั้งหมด:
สร้างตาราง table_name (column1 data_type, column2 data_type) แบ่งส่วนตาม
“table_name” คือชื่อของตารางข้างคอลัมน์ต่างๆ ที่ตารางจะมีและประเภทข้อมูล สำหรับ “partition_key” จะเป็นคอลัมน์ที่การแบ่งพาร์ติชันจะเกิดขึ้น ตัวอย่างเช่น รูปภาพต่อไปนี้แสดงให้เห็นว่าเราสร้างตาราง “หลักสูตร” ที่มีสามคอลัมน์ นอกจากนี้ ประเภทการแบ่งพาร์ติชันของเราคือ LIST และเราเลือกคอลัมน์คณะเป็นคีย์การแบ่งพาร์ติชันของเรา:
เมื่อสร้างตารางแล้ว เราต้องสร้างพาร์ติชันต่างๆ ที่เราต้องการ เพื่อดำเนินการตามไวยากรณ์ต่อไปนี้:
สร้างตาราง partition_table พาร์ติชันของ main_table สำหรับค่าใน (VALUE);ตัวอย่างเช่น ตัวอย่างแรกในภาพต่อไปนี้แสดงให้เห็นว่าเราสร้างตารางพาร์ติชั่นชื่อ “Fset” ซึ่งเก็บค่าทั้งหมดในคอลัมน์ “คณะ” ที่เราเลือกเป็นพาร์ติชั่นคีย์ที่มีค่าเป็น “FSET” เราใช้ตรรกะที่คล้ายกันสำหรับอีกสองพาร์ติชันที่เราสร้างขึ้น
เมื่อคุณมีพาร์ติชันแล้ว คุณสามารถแทรกค่าลงในตารางหลักที่เราสร้างขึ้นได้ แต่ละค่าที่คุณแทรกจะถูกจับคู่กับการแบ่งพาร์ติชั่นที่เกี่ยวข้องตามค่าในพาร์ติชั่นคีย์ที่คุณเลือก
หากเราแสดงรายการทั้งหมดในตารางหลัก เราจะเห็นว่าตารางนั้นมีรายการทั้งหมดที่เราแทรกไว้
เพื่อตรวจสอบว่าเราสร้างพาร์ติชั่นสำเร็จแล้ว ให้ตรวจสอบบันทึกในแต่ละพาร์ติชั่นที่สร้างขึ้น
โปรดสังเกตว่าแต่ละตารางที่แบ่งพาร์ติชันจะเก็บเฉพาะรายการที่ตรงกับเกณฑ์ที่กำหนดไว้เมื่อทำการแบ่งพาร์ติชันเท่านั้น นั่นคือวิธีการแบ่งพาร์ติชั่นตามรายการ
2. การแบ่งช่วง
เกณฑ์อีกประการหนึ่งสำหรับการสร้างพาร์ติชันคือการใช้ตัวเลือก RANGE สำหรับสิ่งนี้ เราต้องระบุค่าเริ่มต้นและสิ้นสุดเพื่อใช้สำหรับช่วง การใช้วิธีนี้เหมาะอย่างยิ่งเมื่อทำงานกับวันที่
ไวยากรณ์สำหรับการสร้างตารางหลักมีดังนี้:
สร้างตาราง table_name (column1 data_type, column2 data_type) พาร์ติชันตามช่วง (partition_key);เราสร้างตาราง “cust_orders” และระบุให้ใช้วันที่เป็น “partition_key” ของเรา
หากต้องการสร้างพาร์ติชัน ให้ใช้ไวยากรณ์ต่อไปนี้:
สร้างตาราง partition_table ส่วนของ main_table สำหรับค่าจาก (start_value) ถึง (end_value);เรากำหนดพาร์ติชันของเราให้ทำงานรายไตรมาสโดยใช้คอลัมน์ 'วันที่'
หลังจากสร้างพาร์ติชันทั้งหมดและใส่ข้อมูลแล้ว ตารางของเราก็จะมีลักษณะดังนี้:
หากเราตรวจสอบรายการในพาร์ติชันที่สร้างขึ้น เราจะตรวจสอบว่าการแบ่งพาร์ติชันของเราใช้งานได้ และเรามีบันทึกที่เหมาะสมตามเกณฑ์การแบ่งพาร์ติชันที่เราระบุไว้เท่านั้น สำหรับรายการใหม่ทั้งหมดที่คุณเพิ่มลงในตาราง รายการเหล่านั้นจะถูกเพิ่มลงในพาร์ติชันที่เกี่ยวข้องโดยอัตโนมัติ
3. การแบ่งพาร์ติชันแฮช
เกณฑ์การแบ่งพาร์ติชันสุดท้ายที่เราจะพูดถึงคือการใช้แฮช มาสร้างตารางหลักอย่างรวดเร็วโดยใช้ไวยากรณ์ต่อไปนี้:
สร้างตาราง table_name (column1 data_type, column2 data_type) แบ่งพาร์ติชันตาม HASH (partition_key);
เมื่อทำการแบ่งพาร์ติชันด้วยแฮช คุณต้องระบุโมดูลัสและส่วนที่เหลือ ซึ่งเป็นแถวที่จะหารด้วยค่าแฮชของ 'partition_key' ที่คุณระบุ สำหรับกรณีของเรา เราใช้โมดูลัสเป็น 4
ไวยากรณ์ของเราเป็นดังนี้:
สร้างตาราง partition_table พาร์ติชันของ main_table สำหรับค่าด้วย (MODULUS num1, REMAINDER num2);พาร์ติชั่นของเรามีดังนี้:
สำหรับ “main_table” ประกอบด้วยรายการที่แสดงดังต่อไปนี้:
สำหรับพาร์ติชันที่สร้างขึ้น เราสามารถเข้าถึงรายการได้อย่างรวดเร็วและตรวจสอบว่าการแบ่งพาร์ติชันของเราทำงานหรือไม่
บทสรุป
พาร์ติชัน PostgreSQL เป็นวิธีที่สะดวกในการปรับแต่งฐานข้อมูลให้เหมาะสมเพื่อประหยัดเวลาและเพิ่มความน่าเชื่อถือ เราได้หารือเกี่ยวกับการแบ่งพาร์ติชันโดยละเอียดรวมถึงตัวเลือกต่างๆ ที่มีให้เลือก นอกจากนี้เรายังได้จัดเตรียมตัวอย่างเกี่ยวกับวิธีการใช้งานพาร์ติชัน ลองดูสิ!