MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

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

To trudne pytanie i nie jestem pewien, czy mogę udzielić jednoznacznej odpowiedzi, ale mam doświadczenie zarówno z HDF5/pyTables, jak i niektórymi bazami danych NoSQL.
Oto kilka przemyśleń.

  • HDF5 per se nie ma pojęcia o indeksie. Jest to tylko hierarchiczny format przechowywania, który dobrze nadaje się do wielowymiarowych danych liczbowych. Możliwe jest rozszerzenie na HDF5 w celu zaimplementowania indeksu (np. PyTables, HDF5 FastQuery ) dla danych.
  • HDF5 (chyba że używasz wersji MPI) nie obsługuje współbieżnego dostępu do zapisu (możliwy jest dostęp do odczytu).
  • HDF5 obsługuje filtry kompresji, które mogą – w przeciwieństwie do powszechnego przekonania – przyspieszyć dostęp do danych (jednak musisz pomyśleć o odpowiednim rozmiarze porcji, który zależy od sposobu, w jaki uzyskujesz dostęp do danych).
  • HDF5 nie jest bazą danych. MongoDB ma właściwości ACID, HDF5 nie (może być ważne).
  • Istnieje pakiet (SciHadoop ), która łączy Hadoop i HDF5.
  • HDF5 ułatwia wykonanie podstawowych obliczeń (np. jeśli dane są zbyt duże, aby zmieścić się w pamięci).
  • PyTables obsługuje niektóre szybkie obliczenia „w jądrze” bezpośrednio w HDF5 przy użyciu numexpr

Myślę, że twoje dane ogólnie dobrze nadają się do przechowywania w HDF5. Możesz także przeprowadzić analizę statystyczną w R lub przez Numpy/Scipy .
Ale możesz też pomyśleć o podejściu hybrydowym. Przechowuj surowe dane zbiorcze w HDF5 i używaj MongoDB do metadanych lub do buforowania określonych wartości, które są często używane.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. ogranicz do przechowywania zduplikowanych wartości w mongodb

  2. Lista operatorów daty, metod i zmiennych MongoDB

  3. Przekształć DBRef w Json

  4. mongodb mongoTemplate otrzymuje odrębne pole z pewnymi kryteriami

  5. Błąd referencyjny nie jest generowany z wywołania zwrotnego MongoDB