2010-04-09 28 views
5

Vì vậy, có điều mới mẻ này, những cơ sở dữ liệu NoSQL này. Vì vậy, có dữ liệu của tôi: Hàng của hàng của dữ liệu khí tượng: Giá trị, đại diện cho các phép đo nhất định tại một trạm nhất định (Được xác định bằng số WMO, không tọa độ), tại một thời điểm nhất định.NoSQL và dữ liệu khí tượng

Không phải mọi trạm đều đo lường mọi thông số, không phải mọi thông số đều được đo tất cả thời gian.

Tôi lưu trữ dữ liệu này (giá trị 30 năm giá trị theo giờ, dẫn đến ~ 1 tỷ giá trị) hiện có trong MySQL. Sự tăng trưởng liên tục và sự bổ sung đáng kể của nhiều dữ liệu hơn cho tôi một chút đau đầu.

Đọc về các hệ thống NoSQL dựa trên tài liệu có vẻ khá dễ dàng, tôi đã tự hỏi liệu NoSQL có phải là một khái niệm lưu trữ dữ liệu khả thi cho dữ liệu khí tượng không. Bạn có kinh nghiệm với điều này không?

Cập nhật: Quên về các truy vấn thông thường: Hầu hết các truy vấn cần dữ liệu trong trục thời gian: I.e. cho tôi nhiệt độ của trạm 066310 từ 01.01.2010 00:00 đến 01.03.2010 00:00.

Hoặc: cung cấp cho tôi giá trị gần đây nhất của tất cả các thông số của một đài cụ thể.

+0

Những gì chúng ta thực sự cần phải biết nếu chúng ta nên có thể trả lời câu hỏi của bạn là cách bạn đang sử dụng dữ liệu của bạn. Loại truy vấn nào bạn chạy trên đó. – adamse

+0

Ah, tôi quên mất. Cảm ơn, tôi đã thêm hai mẫu. –

+0

Chính xác thì điều gì khiến bạn đau đầu? Quản lý cơ sở dữ liệu? Hiệu suất? Tổng hợp dữ liệu? Thứ gì khác? Nếu hiệu năng của nó có liên quan, bạn đã phân tích kế hoạch truy vấn cho các truy vấn của mình - có thể bạn cần các chỉ mục tốt hơn, hoặc điều chỉnh các thiết lập cơ sở dữ liệu của bạn (PostgreSQL thật tuyệt vời). Tập dữ liệu của bạn lớn như thế nào - đĩa khôn ngoan. 1GB? Hơn? Ít hơn? – Mike

Trả lời

2

NoSQL có thể phù hợp khi cấu trúc dữ liệu của bạn khá đơn giản (ví dụ kho khóa-giá trị đơn giản)/dự đoán được và bạn không cần tính toàn vẹn quan hệ hoặc cần truy vấn ad-hoc và/hoặc nâng cao.

Những gì bạn giành được ở khả năng mở rộng dễ dàng, bạn có thể mất tính linh hoạt và nhất quán.

Vấn đề lớn nhất là có phương tiện dễ dàng để soạn các truy vấn phức tạp trên dữ liệu của bạn. Tôi sẽ nói rằng dữ liệu đo lường không phải là ứng cử viên tốt nhất cho NoSQL.

Cá nhân tôi thích PostgreSQL hơn MySQL và tìm thấy nó rất khả năng mở rộng (thậm chí với hàng triệu hoặc thậm chí hàng tỷ hàng) khi thiết lập chính xác.

+0

Điều này không hoàn toàn chính xác. NoSQL cũng có thể phù hợp với dữ liệu rất phức tạp, ví dụ như cơ sở dữ liệu đồ thị. Sau đó, cũng có kho dữ liệu giá trị khóa NoSQL đơn giản hơn. Có rất nhiều giải pháp NoSQL. – adamse

+0

@adamse: điểm tốt về độ rộng của thuật ngữ NoSQL, mặc dù tôi nghĩ rằng cơ sở dữ liệu đồ thị sẽ không phù hợp nhất cho dữ liệu đo lường ;-) – ChristopheD

+0

Không, rõ ràng là không :) – adamse

1

Tôi thấy khó để tạo ra một câu trả lời mạch lạc ngay bây giờ, nhưng ở đây đi.

  1. Dữ liệu của bạn sẽ phù hợp mà không vấn đề trong một "NoSQL" kho dữ liệu như Cassandra (và nhiều hơn nữa có lẽ)
  2. Bạn sẽ được hưởng lợi từ việc thiết kế schema-ít nhiều giải pháp "NoSQL" (nhìn thấy như không phải tất cả các cột (để sử dụng thuật ngữ MySQL) có mặt mọi lúc)
  3. Truy vấn dựa trên thời gian sẽ không có vấn đề gì trong Cassandra (hãy kiểm tra các khóa dựa trên TimeUUID)
  4. Bạn dường như không tận dụng được phần quan hệ của MySQL, vì vậy bạn sẽ không bị tổn thương nhiều khi mất nó
  5. Mặc dù bạn có thể tốt với MySQL, vì bạn thực sự không mô tả loại vấn đề, bạn có thực sự có bất kỳ vấn đề gì không?(Chỉ cần được quan tâm là hoàn toàn mát mẻ)
  6. Những thứ như chỉ mục và tìm kiếm là những thứ bạn sẽ phải thực hiện thủ công trong nhiều kho dữ liệu nosql, nếu điều này sợ bạn có thể dính với sql.

Cảm ơn đã lắng nghe;)

+0

Tôi sẽ xem xét Cassandra. Cảm ơn các đầu vào. –

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