Drupal 7 - базы данных, отличные от mysql


Я слышал, что Drupal может использовать не только MySQL, но и Postgres, MariaDB и MongoDB. (Пожалуйста, добавьте здесь, если он может использовать также какую-либо другую базу данных.)

Какие из этих баз данных имеют достаточно большой прирост производительности, чтобы оправдать переключение? И как я могу переключиться на предлагаемую базу данных?

 3
Author: iconoclast, 2011-09-29

2 answers

Из коробки Drupal поддерживает MySQL (или эквивалент, такой как MariaDB), PostgreSQL и SQLite для своей основной базы данных. С дополнительными драйверами он также поддерживает Microsoft SQL server и Базу данных Oracle.

Модуль MongoDB может использоваться для разгрузки хранилища таких вещей, как кэшированные данные, поля (т.Е. Большинство данных для контента, пользователей, терминов таксономии и т. Д.) И данные сеансов из основной базы данных в MongoDB. Но один только МонгоДБ не может для использования вам все еще нужна база данных SQL. Смотрите NoSQL по сравнению с другими настройками SQL Drupal и его принятый ответ для получения дополнительной информации.

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

Существуют также другие аспекты производительности, которые рассмотрим, например, слои кэширования (Лак, Memcache, APC и т.д.), кластеризацию и сеть доставки контента для статических файлов.

 7
Author: Pierre Buyle, 2017-04-13 12:46:55

Я не думаю, что производительность является причиной для использования другой базы данных, кроме MySQL/MariaDB. Типичной причиной для sqlite была бы простота (работает в PHP, не требуется внешняя служба), типичной причиной предпочтения PostgreSQL/SQL Server/Oracle было бы то, что вы уже используете его и имеете существующие ноу-хау и инфраструктуру для него.

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

Тем не менее, Drupal 7 отлично работает на PostgreSQL, Sqlite, и я думаю, что он также хорошо работает на SQL Server (хотя у вас могут возникнуть проблемы с модулями contrib), понятия не имею о Oracle.

 3
Author: Berdir, 2011-09-29 21:37:16