บทแนะนำการทดสอบข้อมูลขนาดใหญ่: คืออะไร กลยุทธ์ และวิธีการทดสอบ

⚡ สรุปอย่างชาญฉลาด

การทดสอบบิ๊กดาต้าเป็นการตรวจสอบว่าแอปพลิเคชันบิ๊กดาต้าประมวลผลข้อมูลขนาดเทราไบต์ได้อย่างถูกต้อง รวดเร็ว และปลอดภัย โดยผสมผสานการตรวจสอบความถูกต้องของการจัดเตรียมข้อมูล การตรวจสอบความถูกต้องของ MapReduce และการตรวจสอบความถูกต้องของผลลัพธ์ เข้ากับการตรวจสอบสถาปัตยกรรมและประสิทธิภาพในคลัสเตอร์ Hadoop แบบกระจาย

  • 🔘 จุดเน้นหลัก: สิ่งที่ได้รับการตรวจสอบคือการประมวลผลข้อมูลทั่วทั้งคลัสเตอร์ ไม่ใช่คุณสมบัติแต่ละอย่างของผลิตภัณฑ์
  • ☑️ สามขั้นตอน: การจัดเตรียมข้อมูล การใช้ MapReduce และการตรวจสอบความถูกต้องของผลลัพธ์ เป็นส่วนประกอบสำคัญของทุกรอบการทดสอบ Hadoop
  • คุณภาพของข้อมูลต้องมาก่อน: ก่อนทำการทดสอบแอปพลิเคชัน จะมีการตรวจสอบความสอดคล้อง ความถูกต้อง การซ้ำซ้อน ความสม่ำเสมอ ความถูกต้องตามกฎหมาย และความสมบูรณ์
  • 🧪 Archiโครงสร้างทางสถาปัตยกรรมมีความสำคัญ: บริการด้านประสิทธิภาพและการสำรองข้อมูลยืนยันว่าคลัสเตอร์สามารถทำงานต่อไปได้แม้โหนดล้มเหลวโดยไม่สูญเสียปริมาณงาน
  • 🛠️ พารามิเตอร์การปรับแต่ง: มีการวัดรูปแบบการจัดเก็บข้อมูล บันทึกการคอมมิต การทำงานพร้อมกัน การแคช การหมดเวลา และการตั้งค่า JVM
  • ⚠️ ปัญหาที่พบ: ช่องว่างด้านทักษะการทำงานอัตโนมัติ ความล่าช้าของเครื่องเสมือน และชุดข้อมูลขนาดใหญ่ ทำให้การทดสอบข้อมูลขนาดใหญ่มีความซับซ้อน

คู่มือการทดสอบ Big Data ครอบคลุมถึงกลยุทธ์ ขั้นตอนการทดสอบ Hadoop และการทดสอบประสิทธิภาพ

การทดสอบข้อมูลขนาดใหญ่คืออะไร?

การทดสอบบิ๊กดาต้า คือกระบวนการทดสอบแอปพลิเคชันบิ๊กดาต้าเพื่อให้แน่ใจว่าฟังก์ชันการทำงานทั้งหมดของแอปพลิเคชันนั้นทำงานได้ตามที่คาดหวัง เป้าหมายของการทดสอบบิ๊กดาต้าคือการทำให้แน่ใจว่าระบบบิ๊กดาต้าทำงานได้อย่างราบรื่นและปราศจากข้อผิดพลาด พร้อมทั้งรักษาประสิทธิภาพและความปลอดภัยไว้ได้

บิ๊กดาต้า คือชุดข้อมูลขนาดใหญ่ที่ไม่สามารถประมวลผลได้โดยใช้เทคนิคการคำนวณแบบดั้งเดิม การทดสอบชุดข้อมูลเหล่านี้เกี่ยวข้องกับเครื่องมือ เทคนิค และเฟรมเวิร์กต่างๆ ในการประมวลผล บิ๊กดาต้าเกี่ยวข้องกับการสร้าง การจัดเก็บ การเรียกใช้ และการวิเคราะห์ข้อมูลที่มีปริมาณ ความหลากหลาย และความเร็วที่น่าทึ่ง คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับเรื่องนี้ได้ ข้อมูลขนาดใหญ่, Hadoop และ แผนที่ลด ก่อนที่คุณจะเริ่มทำการทดสอบ

กลยุทธ์การทดสอบ Big Data คืออะไร?

การทดสอบแอปพลิเคชัน Big Data นั้นเป็นการตรวจสอบกระบวนการประมวลผลข้อมูลมากกว่าการทดสอบคุณสมบัติแต่ละอย่างของซอฟต์แวร์ เมื่อพูดถึงการทดสอบ Big Data นั้น การทดสอบประสิทธิภาพและการทดสอบฟังก์ชันการทำงานถือเป็นหัวใจสำคัญ

ในกลยุทธ์การทดสอบข้อมูลขนาดใหญ่ วิศวกร QA จะตรวจสอบความสำเร็จในการประมวลผลข้อมูลขนาดหลายเทราไบต์โดยใช้คลัสเตอร์คอมพิวเตอร์ทั่วไปและส่วนประกอบสนับสนุนอื่นๆ ซึ่งต้องใช้ทักษะการทดสอบระดับสูงเนื่องจากการประมวลผลรวดเร็วมาก การประมวลผลอาจแบ่งออกได้เป็นสามประเภท:

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

แผนภาพด้านล่างนี้สรุปกลยุทธ์ดังกล่าว

แผนภาพกลยุทธ์การทดสอบบิ๊กดาต้า แสดงประเภทของการประมวลผลข้อมูลที่ได้รับการตรวจสอบโดยวิศวกร QA

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

วิธีทดสอบแอปพลิเคชัน Hadoop

ภาพต่อไปนี้แสดงภาพรวมคร่าวๆ ของขั้นตอนต่างๆ ในการทดสอบแอปพลิเคชันบิ๊กดาต้า

ขั้นตอนระดับสูงของการทดสอบแอปพลิเคชัน Big Data บนคลัสเตอร์ Hadoop

การทดสอบข้อมูลขนาดใหญ่ หรือการทดสอบ Hadoop สามารถแบ่งออกได้เป็นสามขั้นตอนหลัก ๆ

ขั้นตอนที่ 1: การตรวจสอบความถูกต้องของการจัดเตรียมข้อมูล

ขั้นตอนแรกในบทช่วยสอนการทดสอบข้อมูลขนาดใหญ่ (Big Data Testing) นี้ เรียกว่าขั้นตอนก่อนการใช้งาน Hadoop ซึ่งเกี่ยวข้องกับการตรวจสอบความถูกต้องของกระบวนการ

  • ข้อมูลจากแหล่งต่างๆ เช่น ระบบจัดการฐานข้อมูลเชิงสัมพันธ์ (RDBMS), บล็อก, สื่อสังคมออนไลน์ ฯลฯ ควรได้รับการตรวจสอบความถูกต้องเพื่อให้แน่ใจว่าข้อมูลที่ถูกต้องถูกดึงเข้าสู่ระบบ
  • การเปรียบเทียบข้อมูลต้นฉบับกับข้อมูลที่ส่งเข้าสู่ระบบ Hadoop เพื่อให้แน่ใจว่าข้อมูลตรงกัน
  • ตรวจสอบว่าข้อมูลถูกต้องหรือไม่tracted และโหลดลงในตำแหน่งที่ถูกต้อง เอชดีเอฟเอส ที่ตั้ง

เครื่องมือที่ชอบ Talend และ Datameer สามารถใช้สำหรับการตรวจสอบความถูกต้องของการจัดเตรียมข้อมูลได้

ขั้นตอนที่ 2: การตรวจสอบความถูกต้อง “MapReduce”

ขั้นตอนที่สองคือการตรวจสอบความถูกต้องของ “MapReduce” ในขั้นตอนนี้ ผู้ทดสอบ Big Data จะตรวจสอบความถูกต้องของตรรกะทางธุรกิจในแต่ละโหนด จากนั้นตรวจสอบความถูกต้องอีกครั้งหลังจากรันบนหลายโหนด เพื่อให้แน่ใจว่า:

  • กระบวนการ MapReduce ทำงานได้อย่างถูกต้อง
  • กฎการรวมหรือการแยกข้อมูลถูกนำมาใช้กับข้อมูล
  • คู่ค่าคีย์จะถูกสร้างขึ้น
  • ตรวจสอบความถูกต้องของข้อมูลหลังจากกระบวนการ MapReduce

ขั้นตอนที่ 3: ขั้นตอนการตรวจสอบความถูกต้องของเอาต์พุต

ขั้นตอนสุดท้ายหรือขั้นตอนที่สามของการทดสอบ Hadoop คือกระบวนการตรวจสอบความถูกต้องของผลลัพธ์ ไฟล์ข้อมูลเอาต์พุตจะถูกสร้างขึ้นและพร้อมที่จะย้ายไปยัง EDW (คลังข้อมูลองค์กร) หรือระบบอื่นใดตามความต้องการ

กิจกรรมในขั้นตอนที่สามประกอบด้วย:

  • เพื่อตรวจสอบการใช้กฎการเปลี่ยนแปลงอย่างถูกต้อง
  • เพื่อตรวจสอบความสมบูรณ์ของข้อมูลและการโหลดข้อมูลเข้าสู่ระบบเป้าหมายสำเร็จ
  • เพื่อตรวจสอบว่าไม่มีข้อมูลเสียหายโดยการเปรียบเทียบข้อมูลเป้าหมายกับข้อมูลระบบไฟล์ HDFS

Archiการทดสอบเทค

ขณะนี้ความสนใจได้เปลี่ยนจากข้อมูลไปที่คลัสเตอร์ที่จัดเก็บข้อมูลนั้นแล้ว

Hadoop ประมวลผลข้อมูลปริมาณมหาศาลและใช้ทรัพยากรสูงมาก ดังนั้น การทดสอบทางสถาปัตยกรรมจึงมีความสำคัญอย่างยิ่งต่อความสำเร็จของโครงการ Big Data ของคุณ ระบบที่ออกแบบไม่ดีหรือไม่เหมาะสมอาจทำให้ประสิทธิภาพลดลง และระบบอาจไม่สามารถตอบสนองความต้องการได้ อย่างน้อยที่สุด การปฏิบัติ และควรเรียกใช้บริการทดสอบการทำงานล้มเหลวในสภาพแวดล้อม Hadoop

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

การทดสอบประสิทธิภาพ

การทดสอบประสิทธิภาพสำหรับข้อมูลขนาดใหญ่ครอบคลุมสามด้านหลัก

  • การนำเข้าและประมวลผลข้อมูล: ในขั้นตอนนี้ ผู้ทดสอบบิ๊กดาต้าจะตรวจสอบว่าระบบสามารถดึงข้อมูลจากแหล่งข้อมูลต่างๆ ได้เร็วแค่ไหน การทดสอบประกอบด้วยการระบุจำนวนข้อความที่คิวสามารถประมวลผลได้ภายในกรอบเวลาที่กำหนด นอกจากนี้ยังรวมถึงความเร็วในการแทรกข้อมูลลงในที่เก็บข้อมูลพื้นฐาน เช่น อัตราการแทรกข้อมูลลงในฐานข้อมูล MongoDB และ Cassandra ฐานข้อมูล
  • การประมวลผลข้อมูล: กระบวนการนี้เกี่ยวข้องกับการตรวจสอบความเร็วในการดำเนินการคิวรีหรืองาน MapReduce นอกจากนี้ยังรวมถึงการทดสอบการประมวลผลข้อมูลแบบแยกส่วนเมื่อที่เก็บข้อมูลพื้นฐานได้รับการเติมข้อมูลภายในชุดข้อมูลแล้ว ตัวอย่างเช่น การเรียกใช้งาน MapReduce บน HDFS ที่อยู่เบื้องหลัง
  • ประสิทธิภาพของส่วนประกอบย่อย: ระบบเหล่านี้ประกอบด้วยส่วนประกอบหลายอย่าง และจำเป็นอย่างยิ่งที่จะต้องทดสอบแต่ละส่วนประกอบแยกกัน ตัวอย่างเช่น ความเร็วในการจัดทำดัชนีและประมวลผลข้อความ งาน MapReduce ประสิทธิภาพการสืบค้น การค้นหา เป็นต้น

แนวทางการทดสอบประสิทธิภาพ

การทดสอบประสิทธิภาพสำหรับแอปพลิเคชันบิ๊กดาต้าเกี่ยวข้องกับการทดสอบข้อมูลจำนวนมหาศาล ทั้งข้อมูลที่มีโครงสร้างและไม่มีโครงสร้าง และต้องใช้วิธีการทดสอบเฉพาะเพื่อทดสอบข้อมูลขนาดใหญ่เช่นนี้

ขั้นตอนการทำงานด้านล่างนี้แสดงลำดับขั้นตอนของการทดสอบประสิทธิภาพ

ขั้นตอนการทดสอบประสิทธิภาพ ตั้งแต่การตั้งค่าคลัสเตอร์ Big Data ไปจนถึงการกำหนดค่าที่เหมาะสมที่สุด

การทดสอบประสิทธิภาพจะดำเนินการตามลำดับนี้

  1. กระบวนการเริ่มต้นด้วยการติดตั้งคลัสเตอร์บิ๊กดาต้า ซึ่งจะต้องนำไปทดสอบประสิทธิภาพ
  2. ระบุและออกแบบปริมาณงานที่สอดคล้องกัน
  3. เตรียมความพร้อมสำหรับลูกค้าแต่ละราย (สร้างสคริปต์เฉพาะสำหรับลูกค้าแต่ละราย)
  4. ดำเนินการทดสอบและวิเคราะห์ผลลัพธ์ (หากไม่บรรลุเป้าหมาย ให้ปรับแต่งส่วนประกอบและดำเนินการทดสอบอีกครั้ง)
  5. การกำหนดค่าที่เหมาะสมที่สุด

พารามิเตอร์สำหรับการทดสอบประสิทธิภาพ

พารามิเตอร์ต่างๆ ที่ต้องตรวจสอบสำหรับการทดสอบประสิทธิภาพ ได้แก่:

  • การจัดเก็บข้อมูล: วิธีการจัดเก็บข้อมูลในโหนดต่างๆ
  • บันทึกการเปลี่ยนแปลง: ขนาดของไฟล์บันทึกการเปลี่ยนแปลง (commit log) สามารถขยายได้มากเท่าใด
  • การทำงานพร้อมกัน: มีเธรดกี่เธรดที่สามารถทำการเขียนและอ่านข้อมูลได้
  • เก็บเอาไว้: ปรับการตั้งค่าแคช "แคชแถว" และ "แคชคีย์"
  • เวลาหมด: ค่าสำหรับหมดเวลาการเชื่อมต่อ หมดเวลาการค้นหา ฯลฯ
  • พารามิเตอร์ JVM: ขนาดฮีป, อัลกอริทึมการเก็บขยะ (GC) เป็นต้น
  • ประสิทธิภาพของ MapReduce: การจัดเรียง การรวมข้อมูล ฯลฯ
  • คิวข้อความ: อัตราการส่งข้อความ ขนาดข้อความ ฯลฯ

ทดสอบความต้องการสภาพแวดล้อม

สภาพแวดล้อมการทดสอบนั้นขึ้นอยู่กับประเภทของแอปพลิเคชันที่คุณกำลังทดสอบ สำหรับการทดสอบซอฟต์แวร์ Big Data สภาพแวดล้อมการทดสอบควรประกอบด้วยสิ่งต่อไปนี้

  • ควรมีพื้นที่เพียงพอสำหรับการจัดเก็บและประมวลผลข้อมูลจำนวนมาก
  • ควรมีคลัสเตอร์ที่มีโหนดและข้อมูลแบบกระจาย
  • ควรมีการใช้งาน CPU และหน่วยความจำขั้นต่ำเพื่อรักษาประสิทธิภาพให้สูงเพื่อทดสอบประสิทธิภาพของ Big Data

การทดสอบข้อมูลขนาดใหญ่เทียบกับการทดสอบฐานข้อมูลแบบดั้งเดิม

ตารางด้านล่างนี้แสดงความแตกต่างระหว่างสองสาขาวิชาในแต่ละคุณสมบัติ

อสังหาริมทรัพย์ การทดสอบฐานข้อมูลแบบดั้งเดิม การทดสอบข้อมูลขนาดใหญ่
ข้อมูล โปรแกรมทดสอบทำงานกับข้อมูลที่มีโครงสร้าง ผู้ทดสอบทำงานได้กับทั้งข้อมูลที่มีโครงสร้างและข้อมูลที่ไม่มีโครงสร้าง
แนวทางการทดสอบ วิธีการทดสอบมีการกำหนดไว้อย่างดีและผ่านการทดสอบตามเวลา วิธีการทดสอบต้องใช้ความพยายามด้านการวิจัยและพัฒนาที่มุ่งเน้น
กลยุทธ์การทดสอบ ผู้ทดสอบมีตัวเลือกในการใช้กลยุทธ์ "การสุ่มตัวอย่าง" ด้วยตนเอง หรือกลยุทธ์ "การตรวจสอบอย่างละเอียด" โดยใช้เครื่องมืออัตโนมัติ กลยุทธ์ "การสุ่มตัวอย่าง" ในบิ๊กดาต้าเป็นความท้าทาย
โครงสร้างพื้นฐาน ไม่จำเป็นต้องมีสภาพแวดล้อมการทดสอบพิเศษเนื่องจากขนาดไฟล์มีจำกัด ต้องมีสภาพแวดล้อมการทดสอบพิเศษเนื่องจากขนาดข้อมูลและไฟล์ขนาดใหญ่ (HDFS)
เครื่องมือตรวจสอบความถูกต้อง ผู้ทดสอบใช้มาโครใน Excel หรือเครื่องมืออัตโนมัติแบบใช้ส่วนติดต่อผู้ใช้ (UI) ไม่มีเครื่องมือที่กำหนดไว้ตายตัว ขอบเขตของเครื่องมือมีหลากหลาย ตั้งแต่เครื่องมือเขียนโปรแกรมอย่าง MapReduce ไปจนถึง HiveQL
เครื่องมือทดสอบ เครื่องมือทดสอบสามารถใช้งานได้โดยผู้ที่มีความรู้พื้นฐานในการใช้งานและไม่จำเป็นต้องได้รับการฝึกอบรมมากนัก การใช้งานเครื่องมือทดสอบนั้นต้องอาศัยทักษะและการฝึกอบรมเฉพาะด้าน นอกจากนี้ เครื่องมือเหล่านี้ยังอยู่ในช่วงเริ่มต้น และอาจมีการเพิ่มฟีเจอร์ใหม่ๆ เข้ามาในอนาคต

เครื่องมือที่ใช้ในสถานการณ์ข้อมูลขนาดใหญ่

ตารางด้านล่างจัดกลุ่มเครื่องมือทั่วไปตามชั้นคลัสเตอร์

ข้อมูลขนาดใหญ่ Cluster เครื่องมือข้อมูลขนาดใหญ่
NoSQL: CouchDB,ฐานข้อมูล MongoDB, Cassandra, Redis, ZooKeeper, HBase
แผนที่ลด: ฮาดูป, รังหมู, แคสเคดดิ้ง, อูซี่, คาฟก้า, S4, MapR, ไลเดอร์
การจัดเก็บ: S3, HDFS (ระบบไฟล์แบบกระจายของ Hadoop)
เซิร์ฟเวอร์: ยืดหยุ่น Heroku, Google แอปเอ็นจิ้น, อีซีพี
การประมวลผล: อาร์ ยาฮู! ไปป์, เติร์กเครื่องกล, BigSheets, Datameer

ความท้าทายในการทดสอบข้อมูลขนาดใหญ่

อุปสรรคเชิงปฏิบัติสามประการมักเกิดขึ้นซ้ำๆ ในเกือบทุกโครงการบิ๊กดาต้า

  • อัตโนมัติ: การทดสอบระบบอัตโนมัติ การวิเคราะห์ข้อมูลขนาดใหญ่ (Big Data) จำเป็นต้องใช้ผู้ที่มีความเชี่ยวชาญด้านเทคนิค นอกจากนี้ เครื่องมืออัตโนมัติก็ไม่สามารถรับมือกับปัญหาที่ไม่คาดคิดที่เกิดขึ้นระหว่างการทดสอบได้
  • การจำลองเสมือน: นี่เป็นหนึ่งในขั้นตอนสำคัญของการทดสอบ ความหน่วงของเครื่องเสมือนทำให้เกิดปัญหาเรื่องเวลาในการทดสอบประสิทธิภาพข้อมูลขนาดใหญ่แบบเรียลไทม์ นอกจากนี้ การจัดการรูปภาพในข้อมูลขนาดใหญ่ก็เป็นเรื่องยุ่งยากเช่นกัน
  • ชุดข้อมูลขนาดใหญ่: ความดันสามอย่างมาพร้อมกับปริมาตร
    • จำเป็นต้องตรวจสอบข้อมูลเพิ่มเติมและจำเป็นต้องดำเนินการให้เร็วขึ้น
    • จำเป็นต้องทำให้ความพยายามในการทดสอบเป็นแบบอัตโนมัติ
    • จำเป็นต้องสามารถทดสอบบนแพลตฟอร์มต่างๆ ได้

ความท้าทายในการทดสอบประสิทธิภาพ

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

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

การตรวจสอบคุณภาพข้อมูลเป็นส่วนหนึ่งของการทดสอบฐานข้อมูล ก่อนที่จะเริ่มการทดสอบแอปพลิเคชัน ผู้ทดสอบจะตรวจสอบความสอดคล้อง ความถูกต้อง การซ้ำซ้อน ความสม่ำเสมอ ความถูกต้อง และความสมบูรณ์ รวมถึงตรวจสอบหาค่าว่าง ปัญหาการเข้ารหัส และการเลื่อนตำแหน่งของคอลัมน์

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

Copilot และผู้ช่วยอัตโนมัติอื่นๆ ที่คล้ายกัน ช่วยลดขั้นตอนการเขียนโค้ดซ้ำซ้อน เช่น การค้นหาข้อมูลเปรียบเทียบใน HiveQL และ PySpark สคริปต์การตรวจสอบและการกระทบยอด ควรทดสอบโค้ดที่สร้างขึ้นกับชุดข้อมูลที่ถูกต้องก่อน เพราะการสืบค้นข้อมูลที่ดูสมเหตุสมผลอาจตรวจสอบคอลัมน์ที่ไม่ถูกต้องได้

การตรวจสอบความถูกต้องของ Schema ยืนยันว่าข้อมูลที่เข้ามามีฟิลด์ ประเภท และความสามารถในการเป็นค่าว่างตามที่คาดไว้ ก่อนที่จะถูกส่งไปยัง HDFS หรือฐานข้อมูล NoSQL การตรวจจับการเปลี่ยนแปลงของ Schema ในขั้นตอนการนำเข้าข้อมูลมีต้นทุนต่ำกว่ามาก tracแสดงผลข้อมูลที่เสียหายในภายหลัง

ทีมงานนำชุดข้อมูลย่อยที่ถูกปิดบังซึ่งสุ่มตัวอย่างจากข้อมูลการผลิต บันทึกที่สร้างขึ้นซึ่งเน้นกรณีพิเศษ เช่น ค่าว่างและค่าผิดปกติ และสตรีมข้อมูลในอดีตมาเล่นซ้ำ การสุ่มตัวอย่างเพียงอย่างเดียวมีความเสี่ยง เพราะบันทึกที่หายากมักเป็นสาเหตุของความล้มเหลวที่คุ้มค่าแก่การค้นหา

การทดสอบ ETL ตรวจสอบความถูกต้องของการโหลดข้อมูลที่มีโครงสร้างลงในคลังข้อมูลด้วยเครื่องมือที่กำหนดไว้และปริมาณที่คาดการณ์ได้ การทดสอบ Big Data ครอบคลุมข้อมูลที่มีโครงสร้างและไม่มีโครงสร้างบนคลัสเตอร์แบบกระจาย โดยการตรวจสอบความถูกต้องจะเขียนด้วย MapReduce หรือ HiveQL

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

SQL และ HiveQL ภาษาเดียวสำหรับ MapReduce หรือ Spark ความรู้เชิงปฏิบัติเกี่ยวกับ HDFS และฐานข้อมูล NoSQL รวมถึงการเขียนสคริปต์สำหรับชุดทดสอบ เป็นสิ่งสำคัญยิ่งกว่า เพราะไม่มีเครื่องมือใดเครื่องมือหนึ่งที่ครอบคลุมทุกขั้นตอนได้อย่างสมบูรณ์

สรุปโพสต์นี้ด้วย: