วิธีที่ดีที่สุดในการทำเช่นนี้ขึ้นอยู่กับคุณภาพและลักษณะของข้อมูลและแบบสอบถามของคุณ สำหรับผู้เริ่มต้นข้อมูล 180MB ในตารางเดียวสำหรับผลิตภัณฑ์นั้นไม่เป็นปัญหาไม่ว่าคุณจะมองจากที่ใด และการค้นหา 30k ต่อวันก็ยิ่งมีปัญหาน้อยลง ด้วยฐานข้อมูลที่กำหนดค่าไว้อย่างเหมาะสมเดสก์ท็อปเก่า ๆ สามารถจัดการกับโหลดนี้ได้
คนอื่น ๆ ได้ชี้ให้เห็นสองตัวเลือกที่สำคัญของคุณ MySQL หรือฐานข้อมูล noSQL
หากคุณมีแอตทริบิวต์จำนวนหนึ่งที่มีอยู่สำหรับทุกผลิตภัณฑ์ (เช่นผู้ผลิตราคาจำนวนคลังสินค้า ฯลฯ ) ตัวเลือกที่ดีที่สุดของคุณคือการมีคอลัมน์สำหรับแอตทริบิวต์เหล่านี้และแปลงคู่คีย์ / ค่าเป็นรูปแบบตารางแบน ด้วยรหัสผลิตภัณฑ์เป็นคีย์หลักสำหรับตารางนั้นจะทำงานได้ดีแม้ว่าบางคอลัมน์จะใช้เพียงครึ่งเดียวของแถวเนื่องจากผลิตภัณฑ์ส่วนใหญ่คุณจะต้องเรียกใช้ 1 แบบสอบถามเพื่อเรียกใช้แอตทริบิวต์ทั้งหมดของพวกเขา นี่คือข้อมูลเกี่ยวกับผลิตภัณฑ์ฉันเดาว่ามันเป็นไปได้ค่อนข้างมากว่านี่คือโครงสร้างของข้อมูลของคุณ
หากแอ็ตทริบิวต์แตกต่างกันในสถานะการแสดงตนและชนิดข้อมูลคุณอาจใช้ฐานข้อมูล noSQL ได้ดีกว่าซึ่งจัดการสถานการณ์นี้มีประสิทธิภาพมากกว่าฐานข้อมูล SQL แบบดั้งเดิม
เกี่ยวกับประสิทธิภาพ: ก่อนหน้านี้ฉันเคยทำงานกับ บริษัท อีคอมเมิร์ซซึ่งเว็บไซต์ได้รับข้อมูลจากเซิร์ฟเวอร์ MySQL มาเป็นเวลานาน เซิร์ฟเวอร์นี้มี RAM 2GB, ฐานข้อมูลโดยรวมอยู่ที่ประมาณ ขนาด 5GB และต่ำกว่าการโหลดบนเซิร์ฟเวอร์จัดการหลายพันแบบสอบถามต่อวินาที ใช่เราได้เพิ่มประสิทธิภาพการสืบค้นจำนวนมาก แต่สิ่งนี้ทำได้จริง