Chinese (Simplified)EnglishThai

Chinese (Simplified)EnglishThai

Chinese (Simplified)EnglishThai

การสร้างของเซิร์ฟเวอร์ SQL ใน Windows: สร้าง VM สำหรับเซิร์ฟเวอร์ SQL

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

ในบทความนี้เรามาดูดัชนีที่รองรับโดย PostgreSQL ตามด้วยเวลาที่จะใช้ดัชนีประเภทใด

บี – ทรี
ประเภทดัชนีเริ่มต้น
เหมาะที่สุดสำหรับคำถามส่วนใหญ่
เหมาะสำหรับการใช้งานเช่น>,> =, <, <=, =, IN, BETWEEN เป็นต้น
รองรับหลายคอลัมน์

PostgreSQL 13 คาดว่าจะมีการปรับปรุงที่จะมีวิธีจัดการกับข้อมูลที่ซ้ำกันได้อย่างมีประสิทธิภาพซึ่งจะช่วยในการลดขนาดดัชนี B-Tree ได้อย่างมาก

จากแผนการดำเนินการด้านล่าง: =, ใน, ระหว่างกรณี, เครื่องมือเพิ่มประสิทธิภาพใช้ดัชนี B-Tree

 

กัญชา
ก่อน PostgreSQL รุ่นที่ 10 การดำเนินงานกัญชาดัชนีไม่ได้ WAL เข้าสู่ระบบ,เพื่อ REINDEXing เป็นสิ่งจำเป็นหลังจากที่การแข่งขันฐานข้อมูล ด้วยเหตุนี้จึงไม่แนะนำให้ใช้ดัชนีแฮชสำหรับเวอร์ชันก่อนหน้า อย่างไรก็ตามหากคุณใช้ดัชนีแฮช PostgreSQL 10 หรือเก่ากว่านั้นจะปลอดภัย

สามารถสร้างดัชนีแฮชได้โดยใช้คีย์เวิร์ด“ USING HASH”
เหมาะสำหรับการดำเนินการที่เท่าเทียมกัน
ไม่สนับสนุนดัชนีหลายคอลัมน์
ขนาดดัชนีมีขนาดเล็กเมื่อเทียบกับดัชนี B-tree จึงใช้พื้นที่น้อย
เนื่องจากมีขนาดเล็กกว่าจึงพอดีกับหน่วยความจำและอ่านน้อยลงจากดิสก์หรือแม้แต่shared_buffersจึงปรับปรุงประสิทธิภาพ

ในการทดสอบที่ดำเนินการกับตารางตัวอย่างจำนวน 20 ล้านระเบียนขนาดของดัชนีแฮช (อักขระประเภทข้อมูลที่แตกต่างกัน (30)) เป็นเกือบครึ่งหนึ่งของดัชนี B-tree

 

ขนาดดัชนี B-tree Vs Hash:

 

ในการทดสอบด้านล่างนี้ดัชนีแฮชดึง 2 บล็อกเทียบกับ 5 บล็อกจากหน่วยความจำของ B-tree

 

BRIN (ดัชนีช่วงการบล็อก: 9.5 ขึ้นไป) การสร้างของเซิร์ฟเวอร์
เซนเซอร์อุปกรณ์แอพพลิเคชั่นที่ใช้การติดตามมีลักษณะทั่วไปอย่างหนึ่งคือ“ การประทับเวลาที่เพิ่มขึ้นอยู่เสมอ” PostgreSQL 9.5 เปิดตัวดัชนีชนิดใหม่ที่เรียกว่า BRIN เพื่อปรับปรุงประสิทธิภาพของกรณีการใช้งานดังกล่าว

เหมาะสำหรับข้อมูลอนุกรมเวลาหรือข้อมูลที่มีลำดับการเรียงซับ
เก็บค่าต่ำสุดของเพจและค่าสูงสุดของคอลัมน์ที่จัดทำดัชนี
ทำงานได้ดีกว่า B-Tree สำหรับกรณีการใช้ข้อมูลซับ
ขนาดเล็กมากเมื่อเทียบกับ B-Tree
การสูญเสียตามธรรมชาติ (เป็นการแก้ปัญหาชั่วคราว: ดำเนินการตรวจสอบความถูกต้องใหม่เพียงเล็กน้อยและทิ้งสิ่งที่ไม่เป็นไปตามเงื่อนไข)

ในการทดสอบด้านล่าง (คอลัมน์ timestamp_data คือข้อมูลอนุกรมเวลา) ที่มีข้อมูล 20 ล้านรายการในตารางดัชนี BRIN มีประสิทธิภาพดีกว่า B-tree ~ 10% ในขณะที่ยังประหยัดพื้นที่จัดเก็บ 99% เมื่อเทียบกับ B-tree

การใช้ดัชนี B-Tree:

 

การใช้ BRIN Index:

 

B-tree Vs BRIN ดัชนีขนาด:

 

ดัชนีกลับหัวทั่วไป (GIN)
GIN เรียกอีกอย่างว่าดัชนีกลับหัว
เหมาะสำหรับข้อมูล JSONB อาร์เรย์ประเภทช่วงการค้นหาข้อความแบบเต็มและ hStore
องค์ประกอบแต่ละรายการได้รับการจัดทำดัชนีแทนค่าทั้งหมดสำหรับคอลัมน์ที่จัดทำดัชนี

กรณีการใช้งานด้านล่างอธิบายถึงความสำคัญของดัชนี GIN ในประเภทข้อมูล JSONB และผลกระทบด้านประสิทธิภาพ

 

การสแกนตามลำดับก่อนดัชนี:

 

ดัชนี GIN:

 

เข้าถึงข้อมูลได้เร็วขึ้นหลังจากสร้างดัชนี:

 

แผนผังการค้นหากลับหัวทั่วไป (GiST)
GiST เป็นต้นไม้ที่สมดุลเหมือนต้นไม้ B
เหมาะสำหรับการค้นหาข้อความแบบเต็มหรือประเภทเรขาคณิต
สำหรับข้อมูลแบบไดนามิก GiST เป็นตัวเลือกที่ดีกว่าเมื่อเทียบกับ GIN

ข้อเท็จจริงที่ไม่ค่อยมีใครรู้จัก: ขนาดของmaintenance_work_memไม่ส่งผลกระทบต่อประสิทธิภาพของดัชนี GiST ซึ่งแตกต่างจาก GIN หรือดัชนีอื่น ๆ

ดัชนีบางส่วน
จัดทำดัชนีด้วยสาเหตุ“ ที่ไหน”
เหมาะอย่างยิ่งหากคุณต้องการจัดทำดัชนีเฉพาะข้อมูลส่วนย่อยของตาราง
กลุ่มของระเบียนได้รับการจัดทำดัชนีดังนั้นจึงมีขนาดเล็กและมีประสิทธิภาพ
กรณีใช้งาน: เลือกชื่อโรงแรมที่มีการให้คะแนนตั้งแต่ 3 ขึ้นไป ในกรณีการใช้งานนี้ไม่มีประเด็นในการสร้างดัชนีสำหรับระเบียนทั้งหมดที่มีการให้คะแนน <3

ในตัวอย่างด้านล่างสร้างดัชนีบางส่วนสำหรับระเบียนที่น้อยกว่า 2000
จะเป็นอย่างไรหากคุณสามารถประหยัดความพยายามและลดข้อผิดพลาดในการสร้าง VM หลายสำเนาได้มันจะดีหรือไม่? ด้วยการโคลนนิ่งคุณทำได้! นั่นคือสิ่งที่เราจะทำในส่วนนี้ เราจะทำตามขั้นตอนต่อไปนี้:

การสร้าง VM
การกำหนดค่า VM
การติดตั้งWindows Server 2019
การติดตั้งOracle VM VirtualBox Guest Additions
การดาวน์โหลดSQL Server Management Studio (SSMS)
การติดตั้งSQL Server 2019และSSMS
การปรับใช้โซลูชันการบำรุงรักษาเซิร์ฟเวอร์ SQL ของ Ola Hallengren
การเปิดใช้งาน TCP / IP สำหรับ SQL Server
การกำหนดค่า Windows Firewall
การโคลน VM เพื่อสร้าง VM เพิ่มเติมสองรายการ

เราจะทำขั้นตอนที่ 1 ถึง 9 ให้เสร็จสิ้นจากนั้นโคลน VM เพื่อสร้าง VM เพิ่มเติมสองรายการในขั้นตอนที่ 10 แทนที่จะทำขั้นตอนเดิมซ้ำอีกครั้งเพื่อสร้าง VM หลายเครื่อง ใช้วิธีการตัดคุกกี้ในเชิงบวก!

 

สำหรับองค์กรที่ต้องการ Document and Content Management Solution ที่สมบูรณ์แบบ พร้อม Professional Services ที่มีประสบการณ์ Implement Alfresco มามากกว่า 100 โครงการณ์ สามารถติดขอคำปรึกษากับ K&O Systems

ทั้งนี้บริษัทเคแอนด์โอ จึงได้มุ่งเน้นการจัดการแก้ไขปัญหา จัดการเอกสาร ด้านเอกสารขององค์กรมาอย่างยาวนาน และ ให้ความสำคัญกับด้านงานเอกสาร ต่อลูกค้าเป็นอย่างดี จนถึงปัจจุบันก็ได้ความยอมรับจากองค์กร ขนาดใหญ่ ขนาดกลาง และขนาดเล็กมากมาย จึงใคร่ขออาสาดูและปัญหาด้านเอกสารให้กับองค์กรของท่านอย่างสุดความสามารถ เพราะเราเป็นหนึ่งในธุรกิจ ระบบจัดเก็บเอกสาร ที่ท่านไว้ใจได้

สนใจรับคำปรึกษาด้านวางระบบจัดการเอกสารอิเล็กทรอนิกส์  EDMS โดยทีมงานผู้เชี่ยวชาญจาก K&O ที่มีประสบการณ์มากว่า 15 ปี รวมถึงซอฟต์แวร์ระดับโลก ติดต่อ 0 2 – 8 6 0 – 6 6 5 9

Related Articles