Какую базу данных выбрать и алгоритм обновления данных?
Помогите выбрать базу данных для веб-проекта.
Есть одна основная учетная система, из неё будет периодически выгружаться информация.
Выгружаться будет в принципе в любой формате(в xml/json/csv и т.д.) и структуре, это не проблема.
- таблица с информация о товарах (наименование, описание и другие поля)
- цены (два поля - ключ-значение)
- остаток (два поля - ключ-значение)
Данные о товаре, будут выгружаться по мере изменения его в основной учетной системе.
А вот цены и количество будет выгружаться сразу для всех товаров и часто, размер где то по 1млн записей.
Проблема:
- нужно загружать в базу данных очень быстро
- при загрузке не должно блокироваться таблица (ну что бы веб-приложение обращалось к этим данным и получала результат нормальный, а не 0 или что бы не висело)
Пока что все крутиться на MS SQL Server, таблицы с данными загружены в память, при загрузке используется bulk insert из текстового файта (загрузка данных моментальная) и вроде все ничего. Но хочется уйти от MS SQL и возможно есть более интересные варианты.
Если хочется уйти на бесплатное решение, то просто берите PostgreSQL.
У NoSQL решений с доступностью проблема. У некоторых с актуальностью. В MongoDB, например, при успешной транзакции вы будете некоторое время получать старые данные.
А если укажете флаг, что вам такое поведение не нужно, то будут проблемы с доступностью на чтение.