База данных или простой файл для миллионов записей?

0

Предположим, что кортеж из четырех строк (дата, имя, тип, цена) генерируется каждые 10 секунд. Я пишу программу на Python для хранения этих кортежей на диске для будущего использования (только для чтения 1). Будут миллионы кортежей, поэтому здесь важна операция "вставки". Какое лучшее решение этой проблемы? SQLite, Postgres, MongoDB или плоский файл?

1 Я прочитаю почти все данные в памяти, от начала до конца. Мне не нужны сложные реляционные чтения. Например, "SELECT price FROM table" - это то, что мне нужно. Я вообще не буду использовать какие-либо индексы.

  • 1
    «только чтение» немного расплывчато ... как читаются данные? Если вы хотите случайное чтение, плоские файлы не будут веселыми. Если вам нужны сложные реляционные чтения, используйте RDBMS. Если нет, то монго может быть лучшим выбором ... Какие типы индексов вам понадобятся и т. Д. - это очень широкий вопрос и слишком мало информации. Кроме того, на одну вставку каждые 10 секунд на 100M потребуется более 31 года ...
  • 0
    Я буду читать почти все данные в памяти, от начала до конца. Мне не нужны сложные реляционные чтения. Например, «ВЫБРАТЬ ЦЕНУ ИЗ СТОЛ» - это то, что мне нужно. Я не буду использовать индексы вообще.
Показать ещё 2 комментария
Теги:
database
flat-file

1 ответ

0
Лучший ответ

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню