Какой формат db / fileformat использовать для операций только с добавлением, LIFO, в основном операций чтения из сценария python? - PullRequest
1 голос
/ 15 февраля 2012

Я получу ежедневный список цен на товары, и мне нужно:

  • сохранить его (один процесс, один раз каждую ночь, не имеет значения, занимает ли это часы, чтение остановленовсе данные готовы к записи в одном пакете)
  • быстрое считывание последней цены для данного продукта (многопоточное веб-приложение должно быть быстрым)
  • иногда считывание всей истории цен дляданный продукт (cron сценарий задания для рисования графиков, не имеет значения, если он медленный)
  • хранить всю историю в течение многих лет (никогда ничего не забывать)
  • бонусных очков, если каждую ночь (напишите) задание - это простой сценарий на языке Python, не зависящий от внешних служб
  • , просто чтобы прояснить: нет никаких записей, кроме ночных заданий, и последнее выполняется в одном процессе и может выполняться с отключенным чтением из фактическогоdb / file

Я ищу рекомендации по наиболее эффективному способу достижения этого, язык программирования - Python-2.7 , с 3.x, если он необходимded.

Я думал о том, чтобы сохранить в [возможно нескольких файлах] фактические данные со всей историей и, возможно, обновить MySQL db только самыми последними ценами для каждого элемента (для веб-приложения для потребления).Файл может быть sqlite (стабильный, проверенный и «достаточно быстрый» для нас. Бонус: может быть использован через SQLAlchemy , который мы любим) или какой-либо другой формат файла (CDB или тому подобное), если причин достаточно, и я могу управлять своего рода «ротацией» (т. Е. Одним файлом в год), если это необходимо для быстрого чтения последних данных.

1 Ответ

0 голосов
/ 15 февраля 2012

Я бы начал с sqlite, поскольку он включен непосредственно в python. Пощечина SQLAlchemy, и при необходимости должно быть достаточно легко заменить базовую БД.

Испытайте это, и если этого недостаточно, переходите к более мощным БД. (Я предпочитаю postgres).

...