Tôi đang xem xét việc tạo cơ sở dữ liệu về thời gian Cassandra để lưu trữ hàng triệu chuỗi dữ liệu hàng ngày có khả năng có thể có tới 100B điểm dữ liệu.Thiết kế cơ sở dữ liệu thời gian trong Cassandra
Tôi nhìn bài viết này: http://rubyscale.com/blog/2011/03/06/basic-time-series-with-cassandra/
Thiết kế này là rất âm thanh. Vì vậy, về cơ bản, tôi có thể đặt dấu thời gian hàng ngày làm cột và nếu cần thiết sẽ phân đoạn các cột bằng cách nối thêm ngày vào hàng.
Hai câu hỏi tôi có:
- Tôi nhìn vào lưu trữ lên đến 20.000 timestamped (hàng ngày) cột. Có cần thiết phải phân đoạn các hàng bằng ví dụ. năm với số lượng cột này? Có lợi thế/bất lợi để sharding hàng để giảm số lượng các cột xuống 365 mỗi năm.
- Một ý tưởng khác mà tôi có là thay vì sharding cột theo hàng là tạo gia đình cột cho mỗi năm. Bằng cách này khi truy cập dữ liệu từ nhiều năm, tôi sẽ phải truy vấn nhiều gia đình cột hơn là một họ cột và tham gia các kết quả ở phía khách hàng. Cách tiếp cận này có làm tăng tốc độ mọi thứ hay làm chậm mọi thứ xuống?
Vì vậy, bạn nghĩ rằng không có điểm nào trong việc phá vỡ các nhóm bảng/cột thành các họ cột riêng biệt nhưng để làm điều đó thay vì theo hàng? Có bất kỳ bất lợi nào khi có quá nhiều hàng trong một họ cột đơn không? – datageek
Gia đình cột chỉ là một mức khóa quan trọng.Nếu dữ liệu của tôi có tính chất giống nhau và cần các cài đặt tương tự theo cách lưu vào bộ nhớ đệm, so sánh (tên cột), v.v .. Sau đó, tôi đặt chúng trong cùng một nhóm cột. Các gia đình cột cộng thêm không dễ quản lý theo chương trình. Trong khi chỉ cần viết cho một khóa mới sẽ tạo ra nó. VÀ bạn không thể đọc từ các CF riêng biệt trong một truy vấn. –