Варианты хранения двоичных данных размером от 100 МБ до 1 ГБ - PullRequest
0 голосов
/ 02 ноября 2019

Если я планирую хранить двоичные данные размером от 100 МБ до 1 ГБ, какой вариант лучше 1. Реляционные данные (я предполагаю, что это будет прямое нет) 2. БД NoSQL 3. Файловая система

Также предложите, если что-нибудь еще будет лучше (с точки зрения производительности для записи и чтения данных)

Характер данных: это таблица, содержащая 1-50 миллионов ячеек. Существует не так много структурных отношений между клетками. Их можно считать независимыми. Таблица никогда не обновляется. Это таблица только для вставки. Приведенная выше информация говорит мне (хотя и ограничена отсутствием знаний о NoSQL DB), что столбчатая DB не сильно поможет. Поправь меня.

Спасибо

1 Ответ

0 голосов
/ 10 ноября 2019

tl; dr: Файловая система.

Поскольку нет взаимосвязей между хранимыми элементами, реляционная БД будет огромной тратой всех возможных ресурсов.

Аналогично для любой NoSQL БДкоторый более красив, чем хранилище значений ключей, например Базы данных графиков . Даже что-то вроде Cassandra было бы излишним.

Таким образом, выбор обычно делается между каким-либо хранилищем значений ключей, хранилищем объектов, например Minio , или обычной файловой системой POSIX.

Все 3 имеют как простые реализации, подходящие для тестирования, так и сложные реализации с репликацией и т. Д., Пригодные для производства.

Из них я бы рекомендовал использовать файловую систему.

Файловая система будетбыть более подходящим, чем хранилище значений ключей, потому что данные большие, а хранилища значений ключей, как правило, оптимизированы по количеству и точности, а не по размеру и пропускной способности.

Файловая система также будет более полезной, чем объектstore или key-value store, потому что большинство файловых систем имеют один и тот же API (POSIX), что означает, что:

  1. Просто переключиться на другую файловую систему. Существует множество инструментов
  2. , которые можно использовать практически с любыми данными, хранящимися в файловой системе.
...