Задать вопрос
@O_oo

Какую базу данных использовать для хранения метаданных?

Разрабатываю приложение, которое должно сохранять координаты разметки и ряд метаданных в локальный файл БД. Метаданные не имеют четкой структуры и могут иметь по-разному заполненные поля. В основе будет использоваться большое количество операций на чтение. Отсюда вопрос - что будет предпочтительнее использовать? Лично мой выбор пал на mongoDB, однако хотел бы услышать стороннее мнение.
  • Вопрос задан
  • 255 просмотров
Подписаться 1 Простой 12 комментариев
Решения вопроса 1
mayton2019
@mayton2019
Bigdata Engineer
Основной use-case при работе с любыми данными это "запрос".

Ты должен задать себе вопрос как я буду эти данные искать? По каким атрибутам?
Например базы данных семейства key-value почти всегда всем подходят и всем нравятся
за высокую скорость и дешевизну. Но это - только при условии что вы делаете поиск по ключевым атрибутам.
Но вы не сможете к ним сделать агрегации (group by).

Ничего плохого не могу сказать про Mongo. Но загрузи сначала туда хотя-бы сотню тысяч
ситетических документов и смоделируй нагрузку. Вдруг Монга уже на этом этапе захлебнется
и не потянет. Получается что твой выбор был неправильный.

Из личного опыта. Часто выбирают какую-то БД из того что человек (команда) уже раньше
с ней поработали и уже имеет опыт. И такое реально было и с Ораклом и с MS-SQL. Люди их
выбирали не потому что они хороши а чаще всего потому что "так привыкли". И десяток
лицензий были уже давно куплены. Почему-бы не использовать. Заказчик оплатил.
Так жить проще. Так и живут. И так строят архитектуры.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@rPman
Помимо поиска и чтения, есть вопрос по многопользовательскому доступа к данным, особенно на время записи, атомарные транзакции - одна из причин, почему выбирают сложные реляционные ьд (да это есть и в некоторых nosql).

Если не нужно следить за целостностью данных и искать по атрибутам, только по идентификатору, то подойдёт любая база данных, даже простое хранение файлов на объект с любой сериализацией данных, современные файловые системы отлично работают с миллионом файлов в каталоге (правда при таких объемах я бы все же советовал норм базу), причем никакая реализация бд не будет давать быстрее доступ чем чтение файла.

Круче только хранение данных в каком-нибудь постом формате в блочном устройстве диска или раздела (например идентификатор записи - ее смещение в файле, а там как то хранить ее размер и сами данные), ни одна другая реализация не даст чтение и запись быстрее (под вопросом удаление записей, но и тут есть эффективные решения), ну только что своя реализация кэширования данных, но это очень хардкор...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Synapse AI Москва
от 120 000 ₽
ITK academy Нижний Новгород
от 75 000 до 120 000 ₽
от 180 000 до 250 000 ₽