2012-03-13 62 views
6

Tôi cần xây dựng Hệ thống thống kê nhưng tôi không biết liệu MongoDB có phải là giải pháp tốt nhất hay không. Hệ thống cần theo dõi vài thứ và hiển thị thông tin. Ví dụ về một điều tương tự - một trang web và mọi người dùng truy cập trang web lần đầu tiên đều thêm hàng có thông tin về anh ấy. Hệ thống cần lưu trữ dữ liệu nhanh nhất có thể và ví dụ: hệ thống tạo biểu đồ về sự tăng trưởng của người dùng đang xem trang bằng Google Chrome. Ngoài ra, nếu người dùng truy cập lại, một trường trong hàng đã được cập nhật của người dùng (nói một trường có tên là "Ngày").Cơ sở dữ liệu tốt nhất cho Hệ thống thống kê

Hệ thống cần xử lý 200.000 lượt truy cập mới mỗi ngày (bản ghi mới), 20.000.000 người dùng truy cập lại (cập nhật) một ngày và 800.000.000 bản ghi DB. Bạn cũng cần tạo dữ liệu nhanh - ví dụ: tạo biểu đồ số lượng người dùng truy cập mỗi ngày từ Anh, sử dụng Google Chrome, v.v.

Vậy DB nào sẽ xử lý dữ liệu này tốt nhất? MongoDB có xử lý tiền phạt này không?

Cảm ơn!

+1

Tại sao bạn tự viết nó thay vì sử dụng phần mềm phân tích web? –

Trả lời

3

Mongodb cho phép cập nhật nguyên tử và vảy rất tốt. Đó là chính xác những gì nó được thiết kế cho. Nhưng hãy ghi nhớ hai điều: hãy cẩn thận không gian đĩa, nó có thể chạy rất nhanh và nếu bạn cần số liệu thống kê nhanh (như vùng phủ sóng, nguồn lưu lượng truy cập, v.v.), bạn phải tính toán trước chúng. Cách nhanh nhất là xây dựng một daemon đơn giản cho điều này sẽ giữ tất cả các số trong bộ nhớ và lưu nó theo giờ/ngày.

3

Redis là một lựa chọn rất tốt cho nó, miễn là bạn có nhiều RAM hoặc chiến lược phân đoạn dữ liệu qua nhiều nút. điều này là tốt vì:

  1. nó nằm trong bộ nhớ, vì vậy bạn có thể thực hiện phân tích thời gian thực (tôi nghĩ rằng số liệu thống kê thời gian thực sử dụng nó). trên thực tế, ban đầu nó được tạo ra cho điều đó.

  2. nó rất nhanh, có thể thực hiện hàng trăm nghìn lần cập nhật một giây dễ dàng.

  3. nó có các hoạt động nguyên tử.

  4. nó có bộ được sắp xếp phù hợp với chuỗi thời gian.

+0

Tôi sẽ xem xét sử dụng Redis ít nhất cho phần báo cáo nhanh. Mọi thứ đều nằm trong bộ nhớ nên nó không phù hợp cho việc ghi lưu lượng truy cập chung. –

0

RDM Workgroup là hệ thống quản lý cơ sở dữ liệu cho môi trường máy tính để bàn và máy chủ và cho phép tốc độ trong bộ nhớ.

Bạn cũng có thể sử dụng tính năng kiên trì của nó; nơi bạn quản lý dữ liệu trong bộ nhớ và sau đó truyền dữ liệu đó trên đĩa khi ứng dụng tắt để không mất dữ liệu.

Nó dựa trên mô hình mạng với giao diện trực quan để khả năng mở rộng của nó là đỉnh cao và sẽ có thể xử lý lượng lớn khách truy cập mới mà bạn mong đợi.

Các vấn đề liên quan