MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Какъв е по-добрият подход за съхраняване и запитване на голям набор от метеорологични данни

Това е труден въпрос и не съм сигурен дали мога да дам категоричен отговор, но имам опит както с HDF5/pyTables, така и с някои NoSQL бази данни.
Ето някои мисли.

  • HDF5 per se няма представа за индекс. Това е само йерархичен формат за съхранение, който е много подходящ за многоизмерни числови данни. Възможно е да се разшири над HDF5, за да се приложи индекс (т.е. PyTables, HDF5 FastQuery ) за данните.
  • HDF5 (освен ако не използвате MPI версията) не поддържа едновременен достъп за запис (възможен е достъп за четене).
  • HDF5 поддържа филтри за компресиране, които могат - за разлика от общоприетото схващане - да направят достъпа до данни наистина по-бърз (все пак трябва да помислите за правилния размер на парчето, което зависи от начина, по който осъществявате достъп до данните).
  • HDF5 не е база данни. MongoDB има ACID свойства, HDF5 не (може да е важно).
  • Има пакет (SciHadoop ), който съчетава Hadoop и HDF5.
  • HDF5 прави сравнително лесно извършването на основни изчисления (т.е. ако данните са твърде големи, за да се поберат в паметта).
  • PyTables поддържа някои бързи изчисления „в ядрото“ директно в HDF5 с помощта на numexpr

Мисля, че вашите данни като цяло са подходящи за съхранение в HDF5. Можете също така да направите статистически анализ или в R или чрез Numpy/Scipy .
Но можете да помислите и за хибриден подход. Съхранявайте необработените групови данни в HDF5 и използвайте MongoDB за метаданни или за кеширане на специфични стойности, които често се използват.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да сравните скриптове mongodb/mongoid за сравняване на две различни техники за заявки

  2. Как да инсталирате MongoDB 4.2 на системи RedHat/ CentOS 7

  3. Mongoose:findOneAndUpdate не връща актуализиран документ

  4. Как мога да създам нови полета от съществуващ низ с $Project?

  5. Има ли опция upsert в командата за вмъкване на mongodb?