ฉันกำลังพัฒนาเว็บแอปพลิเคชันปริมาณมากโดยที่ส่วนหนึ่งเป็นฐานข้อมูล MySQL ของโพสต์การสนทนาที่จะต้องเพิ่มเป็น 20M + แถวอย่างราบรื่น
เดิมทีฉันวางแผนที่จะใช้ MyISAM สำหรับตาราง (สำหรับความสามารถในการค้นหาแบบเต็มข้อความในตัว ) แต่ความคิดของตารางทั้งหมดถูกล็อคเนื่องจากการเขียนเพียงครั้งเดียวทำให้ฉันชัตเตอร์ การล็อกระดับแถวมีความหมายมากขึ้น (ไม่ต้องพูดถึงข้อดีด้านความเร็วอื่น ๆ ของ InnoDB เมื่อจัดการกับโต๊ะขนาดใหญ่) ด้วยเหตุนี้ฉันจึงค่อนข้างตั้งใจที่จะใช้ InnoDB
ปัญหาคือ ... InnoDB ไม่มีความสามารถในการค้นหาแบบเต็มข้อความในตัว
ฉันควรใช้ระบบค้นหาของบุคคลที่สามหรือไม่? เช่นLucene (c ++) / Sphinx ? นินจาฐานข้อมูลของคุณมีข้อเสนอแนะ / แนวทางหรือไม่?zoieของ LinkedIn (จาก Lucene) ดูเหมือนจะเป็นตัวเลือกที่ดีที่สุดในขณะนี้... ถูกสร้างขึ้นจากความสามารถแบบเรียลไทม์ (ซึ่งค่อนข้างสำคัญสำหรับแอปพลิเคชันของฉัน) ฉันลังเลเล็กน้อยที่จะกระทำโดยไม่มีข้อมูลเชิงลึก ...
(FYI: จะอยู่ใน EC2 พร้อมแท่นขุดเจาะหน่วยความจำสูงโดยใช้ PHP เพื่อให้บริการส่วนหน้า)