База данных для скрученного Python

Существует API для Скрученных приложений, чтобы говорить с базой данных масштабируемым способом: twisted.enterprise.dbapi

Запутывающая вещь, который база данных выбрать?

База данных будет иметь Скрученное приложение, которое главным образом делает, вставляет и обновления и относительно немного выборов, и затем другие клиенты строго только для чтения, которые получают доступ к базе данных, непосредственно делающей, выбирают.

(Пользователи только для чтения не обязательно выбирают данные, которые вставляет Скрученное приложение; не, как будто база данных используется в качестве очереди сообщений),

Мое понимание - который я хотел бы corrected/adviced - то, что:

  • Пост-ГРЭС является большой DB, но почти вся привязка Python - и существует запутывающий лабиринт их - устаревшее программное обеспечение
  • Существует psycopg2 для пост-ГРЭС, но это делает много шума о выполнении его собственной организации пула подключений и вещей; это сосуществует корректно/полезно/прозрачно со Скрученным асинхронным объединением соединения с базой данных и таким?
  • SQLLite является большой базой данных для небольших вещей, но, если бы используется многопользовательским способом он делает блокировку целой базы данных, таким образом, производительность впитала бы шаблон использования, я предусматриваю; это также имеет различные механизмы для ввода значений столбцов?
  • MySQL - после поглощения Oracle, кто хотел бы принять его теперь или принять ветвление?
  • Есть ли там что-либо еще?

16
задан Will 26 April 2010 в 17:06
поделиться

1 ответ

Масштабируемость

twisted.enterprise.adbapi не обязательно является интерфейсом для масштабируемого взаимодействия с базами данных. Масштабируемость - это проблема, которую нужно решать отдельно. Единственное, на что действительно претендует twisted.enterprise.adbapi , - это возможность использовать модули DB-API 2.0 без блокировки, которая обычно подразумевается.

Постгрес

Да. Это правильный ответ. Я не думаю, что все привязки Python являются заброшенными программами - например, psycopg2, похоже, активно поддерживается. Фактически, они просто добавили несколько новых привязок для асинхронного доступа, которые Twisted может в конечном итоге предложить интерфейс.

SQLite3 тоже довольно крутой. Возможно, вы захотите сделать возможным использование Postgres или SQLite3 в своем приложении; ваши модульные тесты определенно будут лучше работать, например, с SQLite3, даже если вы хотите развернуть их против Postgres.

Другое?

Трудно понять, подойдет ли другая база данных полностью (что-то нереляционная, возможно) вашему приложению лучше, чем Postgres.Это во многом зависит от конкретных данных, которые вы собираетесь хранить, и запросов, которые вам нужно выполнить. Если в вашей базе данных есть интересные отношения, Postgres действительно кажется хорошим ответом. Если все ваши запросы выглядят как «SELECT foo, bar FROM baz», возможно, существует более простой вариант с более высокой производительностью.

15
ответ дан 30 November 2019 в 21:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: