- ระบุความล้มเหลวของฮาร์ดแวร์และซอฟต์แวร์ ปรับเวลาหมดเวลา และป้องกันผลบวกปลอมในการมิเรอร์
- แก้ไขรูปแบบที่ทำให้ประสิทธิภาพลดลง: N+1, ฟังก์ชัน WHERE และดัชนีที่หายไป
- หลีกเลี่ยงข้อผิดพลาด SQL (ไวยากรณ์ ลำดับ นามแฝง) และแนวทางการออกแบบที่ไม่ดี (PK การทำให้เป็นมาตรฐาน)
- นำ KEDB มาใช้เพื่อแก้ไขเหตุการณ์ที่เกิดขึ้นซ้ำอย่างรวดเร็วและโปร่งใส
เป้าหมายคือเพื่อให้คุณมีแผนงานที่ชัดเจน: เหตุใดปัญหาเหล่านี้จึงเกิดขึ้น วิธีการตรวจจับ และการดำเนินการที่ควรดำเนินการ คุณจะพบคำแนะนำโดยละเอียดเกี่ยวกับข้อผิดพลาดของฮาร์ดแวร์และซอฟต์แวร์ใน SQL Server (การทำมิเรอร์)รูปแบบที่ทำให้ประสิทธิภาพการทำงานลดลง ข้อผิดพลาดทั่วไปในการเขียนคิวรี กับดักคลาสสิกในการสร้างแบบจำลอง/การพัฒนา และแนวทาง ITIL/ITSM ในการบันทึกและแก้ไขเหตุการณ์ที่เกิดขึ้นซ้ำๆ ด้วยฐานข้อมูลข้อผิดพลาดที่มีคีย์ (KEDB) ที่มีโครงสร้างที่ดี
ข้อผิดพลาดของฮาร์ดแวร์: สัญญาณ สาเหตุ และเวลาตอบสนอง
ความผิดพลาดทางกายภาพมักจะปรากฏให้เห็นได้เร็ว เนื่องจากส่วนประกอบอื่นๆ ของระบบจะแจ้งเตือนไปยังเอนจินฐานข้อมูล เมื่อเกิดเหตุการณ์เช่นนี้ เซิร์ฟเวอร์จะได้รับรายงานข้อผิดพลาดของฮาร์ดแวร์ทันทีแม้ว่าบางครั้งอาจมีความล่าช้าเนื่องจากตัวจับเวลาเครือข่ายหรือ I/O ที่ทำให้การแจ้งเตือนล่าช้าออกไปก็ตาม
สาเหตุทั่วไป ได้แก่การเชื่อมต่อขาดหรือสายเคเบิลเสียหายการ์ดเครือข่ายทำงานผิดปกติ การเปลี่ยนแปลงเราเตอร์หรือไฟร์วอลล์ การกำหนดค่าอุปกรณ์ปลายทางใหม่ การสูญเสียไดรฟ์ที่จัดเก็บบันทึกธุรกรรม หรือข้อผิดพลาดของกระบวนการ/ระบบปฏิบัติการ ปัญหาเหล่านี้ หากส่งผลกระทบต่อดิสก์บันทึกหรือเครือข่าย อาจทำให้เกิดปัญหาตั้งแต่การตัดการเชื่อมต่อไปจนถึงการหยุดชะงักอย่างร้ายแรงในการจำลองหรือการทำมิเรอร์ฐานข้อมูล
โปรดทราบว่าส่วนประกอบเครือข่ายบางส่วนและระบบย่อย I/O บางระบบใช้ การหมดเวลาภายในของตนเองการหมดเวลาเหล่านี้เป็นอิสระจากฐานข้อมูลและอาจทำให้การตรวจจับล่าช้า ส่งผลให้ช่วงเวลาระหว่างข้อผิดพลาดที่เกิดขึ้นจริงกับเวลาที่เครื่องยนต์รับรู้ถึงข้อผิดพลาดนั้นเพิ่มขึ้น
เพื่อให้เข้าใจสิ่งที่เกิดขึ้น "บนเครือข่าย" ได้ดียิ่งขึ้น ควรสอบถามทีมเครือข่ายว่ามีข้อความใดเข้ามาที่พอร์ตบ้างในระหว่างเหตุการณ์ทั่วไป เช่นการหยุดชะงักของ DNS สายเคเบิลหลุด การบล็อกพอร์ตโดยไฟร์วอลล์การหยุดทำงานของแอปพลิเคชันที่รับฟังพอร์ต การเปลี่ยนชื่อเซิร์ฟเวอร์ หรือการรีบูต การรวบรวมอาการเหล่านี้จะช่วยให้การวินิจฉัยรวดเร็วขึ้นเมื่อบริการหยุดทำงานกะทันหัน
ข้อบกพร่องของซอฟต์แวร์และการหมดเวลา: เมื่อใดควรแก้ไขและวิธีหลีกเลี่ยงผลบวกปลอม
ความล้มเหลวของซอฟต์แวร์จะไม่แสดงอาการให้เห็นเองโดยอัตโนมัติ: เซิร์ฟเวอร์อาจอยู่ในสถานะไม่ได้ใช้งานอย่างไม่มีกำหนดหากไม่มีกลไกการตรวจสอบ ดังนั้น ในสถานการณ์ต่างๆ เช่น การทำมิเรอร์ฐานข้อมูล ระบบจะตรวจสอบสถานะของอินสแตนซ์เป็นระยะ และหากไม่ได้รับสัญญาณใดๆ ภายในระยะเวลาที่กำหนด ก็จะถือว่าเกิดปัญหาขึ้น
เงื่อนไขที่ทำให้เกิดช่วงเวลารอคอยเหล่านี้ ได้แก่ข้อผิดพลาดของเครือข่าย (การหมดเวลาของ TCP, แพ็กเก็ตเสียหาย, สูญหาย หรือเรียงลำดับไม่ถูกต้อง) , ระบบปฏิบัติการ/เซิร์ฟเวอร์/ฐานข้อมูลไม่ตอบสนอง, การหมดอายุในระดับ Windows และการขาดแคลนทรัพยากร: ดิสก์หรือ CPU เต็ม, บันทึกธุรกรรมเต็ม 100%, หน่วยความจำหรือเธรดไม่เพียงพอ
หากคุณพบว่าตัวเองอยู่ในสถานการณ์เช่นนี้ คุณสามารถเลือกที่จะเพิ่มระยะเวลาหมดเวลาลดภาระ หรืออัปเกรดฮาร์ดแวร์เพื่อรองรับความต้องการได้ การตั้งค่าระยะเวลาหมดเวลาต่ำเกินไปจะทำให้เกิดผลลัพธ์ที่ผิดพลาด ในขณะที่การตั้งค่าระยะเวลาหมดเวลาสูงเกินไปจะทำให้การตอบสนองต่อความล้มเหลวที่เกิดขึ้นจริงล่าช้า
กลไกการ ping/timeout ในการมิเรอร์ SQL Server
เพื่อให้การเชื่อมต่อแต่ละครั้งคงอยู่ แต่ละอินสแตนซ์จะส่ง ping เป็นระยะๆ หากได้รับ ping ภายในระยะเวลาหมดเวลา (บวกกับเวลาที่ส่ง)จะถือว่าการสื่อสารยังคงทำงานอยู่และตัวจับเวลาจะถูกรีเซ็ต หากไม่มี ping มาถึงภายในช่วงเวลานั้น จะถือว่าหมดเวลาแล้วและการเชื่อมต่อจะถูกปิด โดยเหตุการณ์จะถูกจัดการตามบทบาทและโหมดการทำงาน
แม้ว่าเซิร์ฟเวอร์อีกเครื่องจะทำงานได้อย่างถูกต้อง แต่การหมดเวลา (timeout) ก็ถือเป็นความล้มเหลวหากค่าที่กำหนดไว้สั้นเกินไปสำหรับความหน่วงแฝงปกติของสภาพแวดล้อม จะเกิดข้อผิดพลาด "ลวง" ขึ้น ดังนั้นจึงแนะนำให้ตั้งค่าไม่ต่ำกว่า 10 วินาที
ในโหมดประสิทธิภาพสูง เวลาหมดอายุจะอยู่ที่10 วินาที เสมอ ซึ่งโดยปกติแล้วจะเพียงพอที่จะหลีกเลี่ยงการแจ้งเตือนผิดพลาด ในโหมดความปลอดภัยสูง ค่าเริ่มต้นก็คือ 10 วินาทีเช่นกัน แต่สามารถกำหนดค่าได้ ปรับเป็น 10 วินาทีหรือมากกว่านั้นในโหมดนี้หากเครือข่ายช้า
หากคุณต้องการเปลี่ยนแปลง โปรดจำไว้ว่าการแก้ไขนี้ใช้เฉพาะกับ เซสชันที่มีความปลอดภัยสูงเท่านั้นคุณสามารถดูและแก้ไขได้จากส่วนการจัดการของเอนจิน หรือใช้ T-SQL ขึ้นอยู่กับเวอร์ชันและนโยบายของคุณ
เซิร์ฟเวอร์ตอบสนองอย่างไรเมื่อมีข้อผิดพลาด
ในกรณีที่เกิดข้อผิดพลาดใดๆ ระบบจะทำงานตามบทบาท (หลัก/พยาน/รอง) โหมดการทำงาน และสถานะการเชื่อมต่อหากคู่ค้าขาดการเชื่อมต่อ พฤติกรรมจะแตกต่างกันไปขึ้นอยู่กับว่าเราอยู่ในโหมดประสิทธิภาพสูงหรือโหมดความปลอดภัยสูงโดยมีพยาน ดังนั้นจึงเป็นสิ่งสำคัญที่จะต้องบันทึกโหมดการทำงานของแต่ละเซสชันเพื่อคาดการณ์เวลาหยุดทำงานและการสลับการทำงาน
รูปแบบการทำลายประสิทธิภาพใน SQL (และวิธีแก้ไข)
มี "ข้อผิดพลาด" สี่อย่างที่พบได้บ่อยและทำให้ความหน่วงเพิ่มขึ้นโดยไม่จำเป็น ข้อผิดพลาดเหล่านี้สังเกตได้ง่าย และการหลีกเลี่ยงข้อผิดพลาดเหล่านี้จะช่วยประหยัด CPU, I/O และการเข้าถึงฐานข้อมูลได้ตั้งแต่วันแรก
การเรียกใช้คิวรีภายในลูป: การเรียกใช้คิวรีในแต่ละรอบ (แบบคลาสสิก N+1) จะเพิ่มจำนวนการเรียกใช้และทำให้เกิดความล่าช้ามากขึ้นควรดึงข้อมูลทั้งหมดพร้อมกันโดยใช้ union หรือ IN หรือใช้คิวรีแบบแบตช์ ประมวลผลตรรกะในโค้ดของคุณโดยใช้โครงสร้างที่โหลดไว้ในหน่วยความจำแล้ว
การโหลดข้อมูลมากเกินไป—การดึงคอลัมน์และแถวที่คุณไม่ได้ใช้—ก็เหมือนกับการใช้ค้อนขนาดใหญ่ทุบถั่วลูกเล็กๆ ควรกรองฐานข้อมูลเลือกเฉพาะสิ่งที่จำเป็นใช้การแบ่งหน้าหากเหมาะสม และหลีกเลี่ยงการใช้คำสั่ง SELECT * เว้นแต่จะมีเหตุผลที่ชัดเจน
ฟังก์ชันในส่วน WHERE: การใช้ LOWER(), DATE() หรือฟังก์ชันอื่นๆ กับคอลัมน์มักจะทำให้ไม่สามารถใช้ดัชนีได้ จึงควรเปรียบเทียบโดยไม่ต้องแปลงคอลัมน์ก่อน: ควรประมวลผลข้อมูลล่วงหน้าหรือแปลงค่าตัวเลขก่อน ตัวอย่างเช่น การกรองตามช่วงวันที่โดยใช้คอลัมน์วันที่/เวลาโดยไม่ต้องใช้ฟังก์ชันครอบทับ
ขาดดัชนี: การลืมสร้างดัชนีในคอลัมน์ที่ใช้ในการกรองหรือเชื่อมต่อข้อมูลก็เหมือนกับการขอให้สแกนข้อมูลทั้งหมด ตรวจสอบเป็นระยะว่าแอปพลิเคชันของคุณกรอง/เชื่อมต่อข้อมูลในส่วนใดบ้าง และสร้างดัชนีที่เหมาะสม (ดัชนีแบบผสมเมื่อจำเป็น) ความสมดุล: การมีดัชนีมากเกินไปจะส่งผลเสียต่อการเขียนข้อมูล
ข้อผิดพลาดทั่วไปเมื่อเขียน SQL: ไวยากรณ์ ลำดับ และความคลุมเครือ
ข้อผิดพลาดส่วนใหญ่ที่ผู้เริ่มต้น (และแม้แต่ผู้ใช้ที่มีประสบการณ์บางคน) มักทำนั้นเกี่ยวข้องกับไวยากรณ์และการโจมตีแบบ SQL injectionฐานข้อมูลไม่เข้าใจสิ่งที่คุณสั่งและแสดงข้อผิดพลาด โปรแกรมแก้ไขข้อความที่มีการเน้นข้อความช่วยได้ แต่การรู้ถึงข้อผิดพลาดที่พบบ่อยจะช่วยให้กระบวนการเร็วขึ้น
คำสะกดผิด: ข้อผิดพลาดเกี่ยวกับคำว่า FROM, WHERE หรือชื่อตาราง/คอลัมน์เป็นเรื่องปกติ ข้อความมักจะระบุว่าตัวแยกวิเคราะห์ทำงานผิดพลาดที่จุดใดใช้โปรแกรมแก้ไขข้อความที่มีการเน้นข้อความและการเติมคำอัตโนมัติ หากคำหลักไม่ถูกเน้น ให้สงสัยไว้ก่อน
วงเล็บและเครื่องหมายอัญประกาศ: การขาดวงเล็บหรือเครื่องหมายอัญประกาศจะทำให้เกิดปัญหาในการมองเห็น โปรดจำลำดับความสำคัญของตัวดำเนินการ (AND/OR) และจัดกลุ่มข้อความด้วยวงเล็บ ในข้อความตัวอักษร ให้ใช้เครื่องหมายอัญประกาศภายในเพื่อหลีกเลี่ยงการแบ่งสตริง (เช่น O'Reilly)
ลำดับการใช้คำสั่ง SELECT ไม่ถูกต้อง: ลำดับที่ถูกต้องคือSELECT → FROM → WHERE → GROUP BY → HAVING → ORDER BYการเปลี่ยนลำดับของ ORDER BY หรือ HAVING จะทำให้เกิดข้อผิดพลาด โปรดจำลำดับนี้ไว้ หรือเตรียมเอกสารช่วยจำไว้ใช้ในภายหลัง
หลีกเลี่ยงการใช้ชื่อแทนตาราง: ในการเชื่อมตารางตัวเอง (self-join) หรือเมื่อสองตารางมีคอลัมน์ที่มีชื่อเดียวกัน คุณจะได้รับข้อผิดพลาด "คอลัมน์กำกวม" (ambiguous column) ให้ใช้ชื่อแทนตารางที่สั้นและชัดเจนและอ้างอิงคอลัมน์ด้วย `alias.column` วิธีนี้จะทำให้ SQL อ่านง่ายขึ้นด้วย
ชื่อที่ต้องคำนึงถึงตัวพิมพ์ใหญ่เล็กหรือชื่อพิเศษ: หากคุณยืนยันที่จะใช้ชื่อที่ต้องคำนึงถึงตัวพิมพ์ใหญ่เล็กหรือชื่อที่ต้องคำนึงถึงช่องว่าง คุณจะต้องใส่เครื่องหมายอัญประกาศคู่กำกับไว้ ขึ้นอยู่กับเครื่องมือค้นหาที่ใช้ ควรหลีกเลี่ยงการใช้ชื่อเหล่านี้ มิฉะนั้น ควรใช้ชื่อที่สอดคล้องกับเครื่องมือค้นหาอื่นๆ อย่างสม่ำเสมอ
ข้อผิดพลาดทั่วไปในการพัฒนาฐานข้อมูล
นอกเหนือจากการเขียนคำสั่งค้นหาแล้ว ยังมีการตัดสินใจด้านการออกแบบอื่นๆ ที่สร้างความแตกต่างในระยะกลางและระยะยาว ต่อไปนี้คือข้อผิดพลาดในการพัฒนาซอฟต์แวร์ที่พบบ่อย 5 ประการ พร้อมทั้งสิ่งที่ควรทำแทนเพื่อรักษาความสมบูรณ์และความสามารถในการบำรุงรักษา
การใช้งาน stored procedures มากเกินไป: มันมีประโยชน์ แต่ด้วย ORM และ access layer ที่ทันสมัย คุณไม่จำเป็นต้องใส่ตรรกะทั้งหมดไว้ในนั้นอีกต่อไป stored procedures มี ค่าใช้จ่าย ในการบำรุงรักษาและการกำหนดเวอร์ชันควรสร้าง stored procedures สำหรับการเข้าถึงข้อมูลเมื่อจำเป็นเท่านั้น ไม่ใช่สำหรับตรรกะทางธุรกิจของแอปพลิเคชัน
หลีกเลี่ยงการใช้คีย์หลัก: การมอบสิทธิ์ความเฉพาะตัวให้กับวิว สตored procedure หรือแอปพลิเคชัน จะเพิ่มความซับซ้อนและข้อผิดพลาด กำหนดคีย์หลักที่แท้จริงในทุกตารางและใช้คีย์ที่ไม่ซ้ำกันในที่ที่เหมาะสม วิธีนี้จะช่วยป้องกันการลบข้อมูลซ้ำซ้อนและการค้นหาข้อมูลที่ไม่เสถียร
การลบแบบถาวรแทนการลบแบบชั่วคราว: การลบข้อมูลแบบถาวรทำให้การตรวจสอบและการกู้คืนจากข้อผิดพลาด "โอ้ ฉันทำผิดพลาด" ซับซ้อนขึ้น สำหรับกรณีการใช้งานหลายๆ กรณี ให้เพิ่ม สถานะ ใช้งาน/ไม่ใช้งาน (การลบแบบชั่วคราว)และยกเว้นข้อมูลนั้นจากคำสั่งค้นหาของคุณ ปล่อยให้การลบแบบถาวรไว้สำหรับการทำความสะอาดที่ควบคุมได้เท่านั้น
Known Error Database (KEDB): คืออะไรและทำไมจึงเป็นความคิดที่ดีสำหรับคุณ
ในการปฏิบัติงานจริง ไม่ใช่ทุกอย่างจะแก้ไขได้ทันที วิธีแก้ปัญหาชั่วคราว (วิธีแก้ไขเฉพาะหน้า) เป็นสิ่งที่หลีกเลี่ยงไม่ได้เนื่องจากทรัพยากรมีจำกัด ความซับซ้อน หรือความจำเป็นในการรักษาความต่อเนื่องทางธุรกิจ KEDB คือแหล่งเก็บข้อมูลที่คุณบันทึกข้อผิดพลาดที่ทราบทั้งหมด สาเหตุ (ถ้ามี) และวิธีแก้ไขชั่วคราวหรือถาวร
เป็นส่วนหนึ่งของกรอบงาน ITIL และเกี่ยวพันกับการจัดการปัญหาและการจัดการความรู้ เมื่อเกิดเหตุการณ์ซ้ำๆ ทีมงานจะปรึกษาฐานข้อมูลความรู้ (KEDB) นำวิธีการแก้ปัญหาที่ได้รับการพิสูจน์แล้ว มาใช้ และลดเวลาหยุดทำงานแทนที่จะเริ่มต้นใหม่ทั้งหมด
ประโยชน์สำหรับผู้ใช้: การแก้ไขปัญหาที่รวดเร็วขึ้น การหยุดชะงักน้อยลง และ ผลลัพธ์ ที่คาดการณ์ได้มากขึ้นสำหรับฝ่ายไอที: ประสิทธิภาพ (ไม่จำเป็นต้องคิดค้นสิ่งใหม่ตั้งแต่ต้น) การรักษาองค์ความรู้แม้จะมีการเปลี่ยนแปลงบุคลากร และข้อมูลสำหรับการปรับปรุงอย่างต่อเนื่อง สำหรับผู้มีส่วนได้ส่วนเสีย: ความโปร่งใส การตัดสินใจด้านกำลังการผลิต/ความเสี่ยงอย่างมีข้อมูล และการประหยัดต้นทุน
วิธีการนำ KEDB ที่มีประสิทธิภาพไปใช้ทีละขั้นตอน
1) กำหนดขอบเขตและวัตถุประสงค์: ตัดสินใจว่าความล้มเหลวใดบ้างที่รวมอยู่ (ซอฟต์แวร์ ฮาร์ดแวร์ เครือข่าย หรือส่วนงานเฉพาะ) จะจัดประเภทอย่างไร และเป้าหมายที่ต้องการบรรลุคืออะไร ( ลด MTTR ปรับปรุงความพึงพอใจฯลฯ) จัดลำดับความสำคัญของระบบและบริการที่สำคัญ และกำหนดขอบเขตให้สอดคล้องกับวัตถุประสงค์ทางธุรกิจและ SLA
คำถามนำทาง: ครอบคลุมทุกเรื่องหรือไม่ หรือเราควรเริ่มต้นจากประเด็นที่มีผลกระทบมากที่สุด? เราต้องการลดระยะเวลาในการแก้ไขปัญหาเป็นหลัก หรือต้องการตรวจจับรูปแบบเพื่อป้องกันด้วย?
2) รวบรวมและบันทึก: ทำงานร่วมกับฝ่ายจัดการเหตุการณ์/ปัญหาและทีมงานเพื่อบันทึกข้อผิดพลาดที่เกิดขึ้นซ้ำๆ และวิธีแก้ไขที่มีประสิทธิภาพซึ่งยังไม่ได้บันทึกไว้ ใช้เทมเพลตอย่างง่ายที่มีช่องต่างๆ เช่น คำอธิบาย สาเหตุหลัก (ถ้าทราบ) วิธีแก้ปัญหาชั่วคราว/ถาวร ผลกระทบ วันที่ และหมายเหตุ
คำแนะนำ: ใช้ภาษาที่ชัดเจน มีขั้นตอนที่ปฏิบัติได้จริง จัดหมวดหมู่ให้เหมาะสม เชื่อมโยงเหตุการณ์ที่เกี่ยวข้องและอัปเดตข้อมูลเมื่อมีพัฒนาการใหม่เกิดขึ้น
3) เลือกเครื่องมือ: คุณต้องการเครื่องมือที่มีระบบค้นหาที่ดี การจัดหมวดหมู่/ติดแท็ก การเชื่อมโยงระหว่างรายการ ความสามารถในการปรับขนาด การรายงาน และความสามารถในการผสานรวมกับแพลตฟอร์ม ITSM ของคุณ ให้ความสำคัญกับอินเทอร์เฟซที่ใช้งานง่ายเพื่อส่งเสริมการใช้งาน พิจารณาการค้นหาที่ขับเคลื่อนด้วย AI และเวิร์กโฟลว์ที่ปรับแต่งได้
4) ฝึกอบรมทีมงาน: สอนวิธีการจัดทำเอกสารอย่างมีประสิทธิภาพ การค้นหาข้อมูลอย่างมีประสิทธิภาพ และการรักษาคุณภาพ รวมถึงแบบฝึกหัดภาคปฏิบัติโดยใช้กรณีศึกษาจากโลกแห่งความเป็นจริงคู่มือฉบับย่อ วิดีโอ การให้คำปรึกษา และหลักสูตรทบทวนความรู้เป็นประจำ ส่งเสริมการให้ข้อเสนอแนะเพื่อปรับปรุงกระบวนการทำงาน
5) บำรุงรักษาและปรับปรุง: กำหนดความรับผิดชอบ ตัวชี้วัดประสิทธิภาพ (KPI) และรอบการตรวจสอบ (รายเดือนสำหรับปัญหาสำคัญ รายไตรมาสสำหรับเรื่องอื่นๆ) จัดให้มีการตรวจสอบโดยเพื่อนร่วมงานสำหรับรายการใหม่ บันทึกเอกสารอย่างต่อเนื่องหลังจากเกิดปัญหาแต่ละครั้ง และสร้างช่องทางรับฟังความคิดเห็นจากผู้ใช้และฝ่ายสนับสนุน
6) ส่งเสริมการใช้งาน: ดำเนินการรณรงค์ภายในองค์กร ยกย่องผู้ที่มีส่วนร่วมมากที่สุด และส่งเสริมความร่วมมือระหว่างแผนกต่างๆ (เครือข่าย ซอฟต์แวร์ ฮาร์ดแวร์) ผสาน KEDB เข้ากับวัฒนธรรมการบริการเพื่อให้เป็นแหล่งข้อมูลแรกที่ทุกคนมองหา
KEDB เทียบกับฐานความรู้ (KDB): ความแตกต่างที่สำคัญ
KEDB มุ่งเน้นไปที่ความล้มเหลวที่ทราบแล้วและวิธีแก้ไข (ชั่วคราวหรือถาวร) โดยสอดคล้องกับการจัดการปัญหาและเหตุการณ์ โดยทั่วไปจะบูรณาการเข้ากับ ITSMและกลุ่มเป้าหมายหลักคือทีมงานด้านเทคนิคที่แก้ไขเหตุการณ์
KEDB ครอบคลุมมากกว่านั้นมาก: แนวทางปฏิบัติที่ดีที่สุด ขั้นตอน วิธีการ ข้อมูลการกำหนดค่า บทความช่วยเหลือ และอื่นๆ การบำรุงรักษาก็ครอบคลุมมากกว่า โดยมีการแก้ไขขั้นตอนและแนวทางปฏิบัติที่ดีที่สุดนอกเหนือจากบทความทางเทคนิค กล่าวโดยสรุป: KEDB คือส่วนย่อยเฉพาะทางของ "เมื่อสิ่งนี้ล้มเหลว ให้ทำอย่างอื่น"
อย่างที่คุณเห็น ความเสถียรและประสิทธิภาพของฐานข้อมูลขึ้นอยู่กับการทำความเข้าใจความล้มเหลวทางกายภาพและตรรกะ (และเวลาในการตรวจจับ) มากพอๆ กับการเขียน SQL ที่ดี การสร้างแบบจำลองอย่างชาญฉลาด และการจัดระเบียบความรู้ในการปฏิบัติงาน หากคุณแก้ไขรูปแบบประสิทธิภาพทั้งสี่ หลีกเลี่ยงข้อผิดพลาดทางไวยากรณ์ทั่วไป ออกแบบด้วยคีย์หลักที่แข็งแกร่งและการทำให้เป็นมาตรฐานที่เหมาะสม และตั้งค่าระบบจัดการฐานข้อมูลแบบเรียลไทม์ (KEDB) คุณจะมีแพลตฟอร์มที่เร็วขึ้น คาดการณ์ได้มากขึ้น และใช้งานง่ายขึ้น แม้ว่าจะมีสิ่งผิดพลาดเกิดขึ้นก็ตาม