Вы должны сделать это так, как вы описали. MongoDB является нереляционной базой данных и не поддерживает объединения.
Основным преимуществом является то, что массивы загружаются лениво. То есть, если у вас есть файл npz
с 100 массивами, вы можете загрузить файл без фактической загрузки каких-либо данных. Если вы запрашиваете один массив, загружаются только данные для этого массива.
Недостатком файлов npz
является то, что они не могут отображаться в памяти (используя load(<file>, mmap_mode='r')
), поэтому для больших массивов они могут быть не лучшим выбором. Для данных, где массивы имеют общую форму, я бы посоветовал взглянуть на структурированные массивы . Они могут быть отображены в память, разрешать доступ к данным с помощью dict-подобного синтаксиса (то есть, arr['field']
) и очень эффективны в отношении памяти.