Tôi đang phát triển một ứng dụng web khối lượng lớn, trong đó một phần của nó là cơ sở dữ liệu MySQL gồm các bài đăng thảo luận sẽ cần phải tăng lên 20 triệu hàng trở lên một cách suôn sẻ.
Ban đầu tôi dự định sử dụng MyISAM cho các bảng (cho khả năng tìm kiếm văn bản đầy đủ được tích hợp sẵn ), nhưng ý nghĩ về việc toàn bộ bảng bị khóa do một thao tác ghi duy nhất khiến tôi thất vọng. Các khóa cấp độ hàng có ý nghĩa hơn nhiều (chưa kể đến các lợi thế tốc độ khác của InnoDB khi xử lý các bảng lớn). Vì vậy, vì lý do này, tôi khá quyết tâm sử dụng InnoDB.
Vấn đề là ... InnoDB không có khả năng tìm kiếm văn bản đầy đủ được tích hợp sẵn.
Tôi có nên sử dụng hệ thống tìm kiếm của bên thứ ba không? Giống như Lucene (c ++) / Sphinx ? Có bất kỳ ninja cơ sở dữ liệu nào có đề xuất / hướng dẫn không?Zoie của LinkedIn (dựa trên Lucene) có vẻ là lựa chọn tốt nhất vào lúc này... đã được xây dựng dựa trên các khả năng thời gian thực (điều này khá quan trọng đối với ứng dụng của tôi.) Tôi hơi do dự khi cam kết mà chưa có một số thông tin chi tiết ...
(FYI: sẽ có trên EC2 với các giàn bộ nhớ cao, sử dụng PHP để phục vụ giao diện người dùng)