Tôi đồng ý với klennepette và Brian - với một vài lưu ý.
Nếu dữ liệu của bạn vốn có tính chất quan hệ và tuân theo các truy vấn hoạt động tốt với SQL, bạn sẽ có thể mở rộng quy mô lên hàng trăm triệu bản ghi mà không cần yêu cầu phần cứng kỳ lạ.
Bạn sẽ cần đầu tư vào việc lập chỉ mục, điều chỉnh truy vấn và thỉnh thoảng hy sinh mô hình quan hệ vì lợi ích của tốc độ. Ít nhất bạn nên chú ý đến hiệu suất khi thiết kế bảng - chẳng hạn như ưu tiên số nguyên hơn là chuỗi ký tự cho khóa.
Tuy nhiên, nếu bạn có các yêu cầu tập trung vào tài liệu, cần tìm kiếm văn bản miễn phí hoặc có nhiều mối quan hệ thứ bậc, bạn có thể cần phải xem lại.
Nếu bạn cần các giao dịch ACID, bạn có thể gặp phải các vấn đề về khả năng mở rộng sớm hơn nếu bạn không quan tâm đến các giao dịch (mặc dù điều này vẫn không có khả năng ảnh hưởng đến bạn trong thực tế); nếu bạn có các giao dịch lâu dài hoặc phức tạp, khả năng mở rộng của bạn giảm khá nhanh.
Tôi khuyên bạn nên xây dựng dự án từ đầu với các yêu cầu về khả năng mở rộng. Những gì tôi đã làm trước đây là thiết lập một môi trường thử nghiệm với hàng triệu bản ghi (tôi đã sử dụng DBMonster, nhưng không chắc liệu điều đó có còn tồn tại hay không) và thường xuyên kiểm tra mã đang làm việc dựa trên cơ sở dữ liệu này bằng cách sử dụng các công cụ kiểm tra tải như Jmeter.