Jakie jest lepsze podejście do przechowywania i odpytywania dużego zbioru danych meteorologicznych

Szukam wygodnego sposobu przechowywania i wyszukiwania ogromnej ilości danych meteorologicznych (kilka TB). Więcej informacji o typie danych w środku pytania.

Wcześniej patrzyłem w kierunku MongoDB (korzystałem z niego w wielu moich poprzednich projektach i czułem się z tym dobrze), ale ostatnio dowiedziałem się oHDF5 Format danych. Czytając o tym, znalazłem pewne podobieństwa z Mongo:

HDF5 upraszcza strukturę plików, obejmując tylko dwa główne typy obiektów: zbiory danych, które są wielowymiarowymi tablicami jednorodnego typu Grupy, które są strukturami kontenerów, które mogą przechowywać zestawy danych i inne grupy. W rezultacie powstaje prawdziwie hierarchiczny, podobny do systemu plików format danych. Metadane są przechowywane w postaci zdefiniowanych przez użytkownika nazwanych atrybutów dołączonych do grup i zestawów danych.

Który wygląda jak tablice i obiekty osadzone w Mongo, a także obsługuje indeksy do odpytywania danych.

Ponieważ wykorzystuje drzewa B do indeksowania obiektów tabel, HDF5 działa dobrze dla danych szeregów czasowych, takich jak serie cen akcji, dane monitorowania sieci i dane meteorologiczne 3D.

Dane:

Określony region jest podzielony na mniejsze kwadraty. Na przecięciu każdego z czujników znajduje się (kropka).

Ten czujnik zbiera następujące informacje co X minut:

jasność słonecznapołożenie i prędkość wiatruwilgotnośći tak dalej (ta informacja jest przeważnie taka sama, czasami czujnik nie zbiera wszystkich informacji)

Zbiera to również na inną wysokość (0 m, 10 m, 25 m). Nie zawsze wysokość będzie taka sama. Również każdy czujnik ma jakąś metainformację:

imięlat, lngczy jest w wodzie i wielu innych

Podając to, nie oczekuję, że rozmiar jednego elementu będzie większy niż 1 MB. Mam też wystarczającą ilość pamięci w jednym miejscu, aby zapisać wszystkie dane (tak dalece, jak rozumiem, nie jest wymagane dzielenie)

Operacje na danych. Z danymi mam zamiar korzystać na kilka sposobów:

Konwertuj jako sklep dużą ilość: niewiele TB danych będzie mi dane w pewnym momencieformat netcdf i będę musiał je przechowywać (i jest to stosunkowo łatwe do konwersji HDF5). Następnie okresowo będą dostarczane mniejsze części danych (1 GB na tydzień) i muszę je dodać do pamięci. Aby podkreślić: Mam wystarczająco dużo pamięci, aby zapisać wszystkie te dane na jednym komputerze.

odpytaj dane. Często istnieje potrzeba zapytania o dane w czasie rzeczywistym. Najczęściej pytaniami są: powiedz mi temperaturę czujników z określonego regionu na określony czas, pokaż mi dane z określonego czujnika na określony czas, pokaż mi wiatr dla danego regionu w danym przedziale czasu. Zagregowane zapytania (jaka jest średnia temperatura w ciągu ostatnich dwóch miesięcy) są bardzo mało prawdopodobne. Tutaj myślę, że Mongo jest dobrze dopasowany, ale hdf5 +pytables jest alternatywą.

wykonać pewną analizę statystyczną. Obecnie nie wiem, co to dokładnie będzie, ale wiem, że nie powinno to być w czasie rzeczywistym. Pomyślałem więc, że używanie hadoop z mongo może być dobrym pomysłem, ale hdf5 zR jest rozsądną alternatywą.

Wiem, że pytania o lepsze podejście nie są zachęcane, ale szukam porady doświadczonych użytkowników. Jeśli masz jakieś pytania, chętnie na nie odpowiem i docenię Twoją pomoc.

P. Przeglądałem kilka interesujących dyskusji podobnych do moich:hdf-forum, wyszukiwanie w hdf5, przechowywanie danych meteorologicznych

questionAnswers(2)

yourAnswerToTheQuestion