Вопрос

Я хочу поэкспериментировать / поиграть с нереляционными базами данных, было бы лучше, если бы решение было:

  • переносимый, что означает, что он не требует установки.в идеале, простое копирование-вставка каталога в какое-либо место заставило бы его работать.Я не возражаю, если для этого потребуется отредактировать некоторые файлы конфигурации или запустить инструмент настройки для первого использования.
  • доступно из python
  • работает как на Windows, так и на Linux

Что вы можете мне порекомендовать?

По сути, я хотел бы иметь возможность установить эту систему на общий сервер Linux, где у меня мало пользовательских привилегий.

Это было полезно?

Решение

Я рекомендую вам рассмотреть BerkelyDB БеркелиДБ с пониманием вопросов лицензирования.

Я очень устал от людей, рекомендующих BerkleyDB без каких-либо оговорок - вы можете распространять системы BDB только под GPL или какой-то неизвестной и не видимой публично лицензионной платой от Oracle.

Для "локальной" игры там, где она не используется внешними сторонами, это, вероятно, хорошая идея.Просто имейте в виду, что есть лицензия, которая только и ждет, чтобы укусить вас.

Это также напоминание о том, что при запросе технологических рекомендаций рекомендуется указывать, является ли GPL приемлемым.

От мой собственный вопрос о переносимой базе данных C API, хотя был предложен ряд других продуктов, ни один из встроенных не имеет привязок к Python.

Другие советы

Метакит это интересная нереляционная встроенная база данных, поддерживающая Python.

Для установки требуется просто скопировать одну общую библиотеку и файл .py.Он работает на Windows, Linux и Mac и имеет открытый исходный код (лицензия MIT).

Если вы привыкли думать, что реляционная база данных должна быть огромной и тяжеловесной, как PostgreSQL или MySQL, то SQLite вас приятно удивит.

Он реляционный, очень маленький, использует один файл, имеет привязки к Python, не требует дополнительных привилегий и работает на Linux, Windows и многих других платформах.

Вы смотрели на CouchDB?Он нереляционный, данные могут быть перенесены с относительной легкостью, и у него есть Python API в виде couchdb-python.У него действительно есть некоторые довольно необычные зависимости в виде Обезьяна - Паук и Эрланг хотя.

Что касается чисто python-решений, я не знаю, как далеко продвинулись Пидблит пришло, но, тем не менее, возможно, стоит проверить.

BerkeleyDB :(похоже, что существует привязка API к python : http://www.jcea.es/programacion/pybsddb.htm)

Вы смотрели на База данных объектов Zope?

Также, Sql - алхимия или ОРМ Джанго layer делает управление схемой через SQLite почти прозрачным.


Редактировать

Начните с http://www.sqlalchemy.org/docs/05/ormtutorial.html#define-and-create-a-table чтобы увидеть, как создавать таблицы SQL и как они сопоставляются с объектами Python.

Хотя ваш вопрос расплывчат, ваши комментарии, похоже, указывают на то, что вы, возможно, захотите сначала определить объекты Python, заставить их работать, а затем сопоставить их с объектами реляционной схемы с помощью SQLAlchemy.

Если вы только переходите с Python, вы могли бы подумать об использовании Маринованный огурец для сериализации объектов.Конечно, это не сработает, если вы хотите использовать другие инструменты для доступа к тем же данным.Он встроен в python, так что у вас не должно возникнуть никаких проблем с привилегиями, но это не настоящая база данных, поэтому она может не соответствовать потребностям вашего эксперимента.

Добавляю ссылку на TinyDB здесь, поскольку эта страница отображается в верхней части многих поисковых запросов.Это портативная нереляционная база данных на python.Он сохраняет python dicts в локальном файле json и делает их доступными для операций с базой данных, подобных mongodb.Он также имеет расширение для переноса на команды mongodb, разница в том, что вместо работы на другом системном сервере вы будете работать с локальным файлом json.

И в отличие от выбранного в настоящее время ответа, он находится под разрешительной открытой лицензией MIT.

Ссылки:

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top