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