Tôi cần triển khai dịch vụ phân tích trang web được phát triển tùy chỉnh cho số lượng lớn các trang web. Đối tượng quan trọng ở đây là:Kiến trúc cơ sở dữ liệu cho hàng triệu hàng mới mỗi ngày
- website
- khách
Mỗi khách truy cập duy nhất sẽ có có một hàng duy nhất trong cơ sở dữ liệu với thông tin như trang đích, thời gian trong ngày, hệ điều hành, trình duyệt, giới thiệu , IP vv
tôi sẽ cần phải làm các truy vấn tổng hợp trên cơ sở dữ liệu này như 'Đếm tất cả các du khách có Windows là hệ điều hành và xuất phát từ Bing.com'
Tôi có hàng trăm trang web để theo dõi và số lượng khách truy cập cho các trang web đó dao động từ vài trăm một ngày đến vài triệu một ngày. Tổng cộng, tôi hy vọng cơ sở dữ liệu này sẽ tăng khoảng một triệu hàng mỗi ngày.
Câu hỏi của tôi là:
1) MySQL có phải là cơ sở dữ liệu tốt cho mục đích này không?
2) Kiến trúc tốt là gì? Tôi đang nghĩ đến việc tạo một bảng mới cho mỗi trang web. Hoặc có lẽ bắt đầu với một bảng duy nhất và sau đó đẻ trứng một bảng mới (hàng ngày) nếu số hàng trong một bảng hiện có vượt quá 1 triệu (là giả định của tôi đúng). Nỗi lo duy nhất của tôi là nếu một bảng phát triển quá lớn, các truy vấn SQL có thể bị chậm đáng kể. Vì vậy, số lượng hàng tối đa tôi nên lưu trữ cho mỗi bảng là bao nhiêu? Hơn nữa, có một giới hạn về số lượng bảng mà MySQL có thể xử lý.
3) Bạn có nên thực hiện các truy vấn tổng hợp trên hàng triệu hàng không? Tôi đã sẵn sàng chờ một vài giây để nhận kết quả cho các truy vấn như vậy. Nó là một thực hành tốt hay có cách nào khác để thực hiện các truy vấn tổng hợp?
Tóm lại, Tôi đang thử thiết kế một loại thiết lập kho dữ liệu quy mô lớn sẽ viết nặng. Nếu bạn biết về bất kỳ nghiên cứu hoặc báo cáo nào được công bố, điều đó sẽ rất tuyệt vời!
Nếu bạn đã thiết kế cơ sở dữ liệu của mình. Bạn có thể chia sẻ thiết kế cơ sở dữ liệu không? –