Как лучше всего использовать встроенную базу данных, скажем, sqlite в Python:
- Должен быть небольшой след. Мне нужно всего несколько тысяч записей на таблицу. И только несколько таблиц на базу данных.
- Если это предусмотрено установкой Python по умолчанию, тогда отлично. Должно быть с открытым исходным кодом, доступно на Windows и Linus.
- Лучше, если SQL не написан напрямую, но ORM полностью не требуется. Что-то, что защитит меня от реальной базы данных, но не такой большой библиотеки. Нечто похожее на ADO будет отличным.
- В основном будет использоваться через код, но если есть интерфейс GUI, то это здорово
- Нужно всего несколько страниц, чтобы начать работу. Я не хочу пролистывать страницы, читая, что такое таблица и как работает оператор Select. Я все это знаю.
- Поддержка Python 3 предпочтительна, но с 2.x тоже все в порядке.
Использование не является веб-приложением. Это небольшая база данных, вмещающая не более 5 таблиц. Данные в каждой таблице - это всего лишь несколько строковых столбцов. Подумайте о чем-то большем, чем маринованный словарь
Обновление : Большое спасибо за отличные предложения.
Вариант использования, о котором я говорю, довольно прост. Один, который вы, вероятно, сделаете за день или два.
Это 100-строчный Python-скрипт, который собирает данные об относительно большом количестве файлов (скажем, 10 КБ) и создает файлы метаданных о них, а затем один большой файл метаданных о всем дереве файлов. Мне просто нужно избегать повторной обработки уже обработанных файлов, создавать метаданные для обновленных файлов и обновлять основной файл метаданных. Таким образом, кэшируйте обработанные данные и обновляйте их только при обновлении файлов.
Если кэш поврежден / недоступен, просто обработайте все дерево. Это может занять 20 минут, но ничего страшного.
Обратите внимание, что вся обработка выполняется в памяти.
Я бы хотел избежать каких-либо внешних зависимостей, чтобы скрипт можно было легко установить на любую систему, на которой установлена только программа Python. Будучи Windows, иногда трудно установить все компоненты.
Так что, на мой взгляд, даже база данных может быть излишним.
Вероятно, вы бы не запустили Office Word / Writer, чтобы написать небольшую заметку с типом записи, аналогично, я не хочу использовать что-то вроде Django для этого варианта использования.
С чего начать?