Tôi có một số phần mềm thu thập dữ liệu trong một khoảng thời gian dài, xấp xỉ 200 lần đọc mỗi giây. Nó sử dụng một cơ sở dữ liệu SQL cho việc này. Tôi đang tìm cách sử dụng Azure để di chuyển rất nhiều dữ liệu cũ "đã lưu trữ" của tôi sang.Thiết kế phân vùng để lưu trữ bảng Azure
Phần mềm sử dụng kiến trúc kiểu nhiều người thuê, vì vậy tôi định sử dụng một Bảng Azure cho mỗi Người thuê. Mỗi người thuê nhà có lẽ đang theo dõi 10-20 chỉ số khác nhau, vì vậy tôi định sử dụng ID chỉ số (int) làm Khóa phân vùng.
Vì mỗi chỉ số sẽ chỉ có một lần đọc mỗi phút (tối đa), tôi định sử dụng DateTime.Ticks.ToString ("d19") làm RowKey của tôi.
Tôi thiếu kiến thức nhỏ về cách quy mô này sẽ được thực hiện; vì vậy hy vọng ai đó có thể làm rõ điều này:
Để thực hiện Azure sẽ/có thể chia bảng của tôi bằng phân vùng để giữ mọi thứ đẹp và nhanh chóng. Điều này sẽ dẫn đến một phân vùng cho mỗi số liệu trong trường hợp này.
Tuy nhiên, khóa hàng của tôi có khả năng thể hiện dữ liệu trong khoảng 5 năm, vì vậy tôi ước tính khoảng 2,5 triệu hàng.
Azure có đủ thông minh để sau đó phân chia dựa trên khóa hàng không, hoặc tôi đang thiết kế trong một nút cổ chai trong tương lai? Tôi biết bình thường không sớm tối ưu hóa, nhưng với một cái gì đó như Azure mà không có vẻ là hợp lý như bình thường!
Tìm kiếm chuyên gia Azure để cho tôi biết nếu tôi đang đi đúng hướng hoặc liệu tôi có nên phân đoạn dữ liệu của mình thành nhiều bảng hơn không.
Cảm ơn bạn đã bình luận. Trường hợp sử dụng có khả năng là để người dùng yêu cầu một dải dữ liệu cho chỉ số riêng lẻ. Phạm vi này sẽ nhỏ (có thể là một cửa sổ 24 giờ). Nếu nhiều số liệu được yêu cầu, điều này sẽ được thực hiện qua nhiều truy vấn. – KingCronus
Ngoài ra, trong trường hợp này là không cần thiết, vì các số liệu không cần phải theo thứ tự cụ thể, nhưng cảm ơn bạn cho các headup. – KingCronus
Đã cập nhật câu trả lời của tôi ở trên. Hi vọng điêu nay co ich. –