Cơ sở dữ liệu phù hợp để làm gì? Tôi đặc biệt quan tâm đến trải nghiệm của bạn với các hệ thống NoSQL không quan hệ. Chúng có tốt cho loại sử dụng này không, hệ thống nào bạn đã sử dụng và muốn giới thiệu, hoặc tôi nên đi với cơ sở dữ liệu quan hệ bình thường (DB2)?Giải pháp cơ sở dữ liệu NoSQL và phi quan hệ tốt cho cơ sở dữ liệu kiểm toán/ghi nhật ký là gì
Tôi cần thu thập thông tin loại đường mòn/ghi nhật ký kiểm tra từ nhiều nguồn đến máy chủ tập trung nơi tôi có thể tạo báo cáo hiệu quả và kiểm tra những gì đang xảy ra trong hệ thống.
Điển hình là một sự kiện kiểm toán/ghi sẽ bao gồm luôn của một số lĩnh vực bắt buộc, ví dụ
- toàn cầu độc đáo id (một số cách tạo ra bởi chương trình mà tạo ra sự kiện này)
- timestamp
- loại sự kiện (tức là người dùng đã đăng nhập, lỗi đã xảy ra, vv)
- một số thông tin về nguồn (server1, server2)
Ngoài ra, sự kiện có thể chứa các cặp khóa-giá trị 0-N, trong đó giá trị có thể lên đến vài kilobyte văn bản.
- Nó phải chạy trên máy chủ Linux
- Nó sẽ làm việc với số lượng cao của dữ liệu (100GB chẳng hạn)
- nó nên hỗ trợ một số loại hiệu quả tìm kiếm đầy đủ văn bản
- Nó sẽ cho phép việc đọc đồng và viết
- Sẽ linh hoạt khi thêm các loại sự kiện mới và thêm/xóa cặp khóa-giá trị vào sự kiện mới. Linh hoạt = không cần thay đổi lược đồ cơ sở dữ liệu, ứng dụng tạo các sự kiện chỉ có thể thêm các loại sự kiện mới/trường mới nếu cần.
- sẽ hiệu quả khi truy vấn cơ sở dữ liệu. Để báo cáo và khám phá những gì đã xảy ra. Ví dụ:
- Có bao nhiêu sự kiện xảy ra với loại = X trong một khoảng thời gian.
- Nhận tất cả các sự kiện mà lĩnh vực A có giá trị Y.
- Nhận tất cả các sự kiện với kiểu X và lĩnh vực A có giá trị 1 và lĩnh vực B không phải là 2 và sự kiện xảy ra trong 24 giờ qua
Ý của bạn là MongoDB? –
MongoDB thật tuyệt vời cho việc ghi nhật ký: http://blog.mongodb.org/post/172254834/mongodb-is-fantastic-for-logging – kristina