• Практическое использование схем в Postgresql - когда они нужны?

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

    Важно понимать, что различные БД плохо подходят для логического группирования, т.к. разбиение по базам данных нужно скорее для администраторов, а не для приложений. Плюс, в большинстве СУБД, где существует понятие схемы, возможно ставить внешние ключи на таблицы в другой схеме, но нельзя на таблицы в другой БД. Иными словами, отдельные БД удобно создавать тогда, когда вы разделяете данные абсолютно не связанных приложений или сервисов. Например, складского учета и форума поддержки пользователей. С другой стороны, если вы хотите логически разделить таблицы в соответствии с компонентами одного приложения (например, корпоративный портал: 4 таблицы для поддержки авторизации, 10 таблиц для поддержки форума, еще 5 для чата со службой поддержки или отделом продаж) - то именно схемы будут удобным механизмом для этого.

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

    А что будет если несколько юзеров будут на одну public-схему коннектиться?

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

    Вот допустим, у вас есть отдельная схема для таблицы авторизации и аутентификации и отдельная - для корпоративного форума. Сервис авторизации у вас выполнен отдельно от форума (например, авторизация выдаёт токены пользователю, с которыми он потом может зайти на форум). С точки зрения безопаности было бы логичным выдать сервису авторизации и форума различных пользователей в базе - тогда, при взломе форума невозможно будет получить доступ к паролям в базе или изменить права на портале, подправив данные в таблице ролей. Конечно, многие СУБД разрешают ставить права на отдельные таблицы, однако схема в данном случае играет роль контейнера и позволяет проставить единые правила для всех таблиц внутри неё.

    то есть при работе в постгре предпочтительнее вместо отдельных баз делать разные схемы в одной

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

    Вот вам еще хороший пример. У вас есть приложение для ведения бухгалтерии и складского учёта на фирме. При этом сложилось так, что вам нужно хранить на одном сервере данные нескольких разных фирм (например, вы предоставляете готовый сервис под ключ нескольким клиентам). В этой ситуации более чем логично хранить данные разных клиентов в разных БД, а данные бухгалтерского и складского учета - в различных схемах в рамках одной БД конкретного клиента.
    Ответ написан
    2 комментария
  • Какую подобрать конфигурацию для WEB-сервера на VDS/VPS для магазина на WordPress (2017)?

    Host-Eiweb
    @Host-Eiweb
    Хостинг VPS серверов в Европе и США
    Магазин на WP - это уже выглядит мягко говоря странно.

    Потом, судя по заданным вопросам Вам точно понадобиться Админ. Без понимания, Ваш так называемый магазин не проживет и 6 месяцев (будет инфицирован, тем более если он на WP).

    Установка VestaCP - инсталляция самой панели не составит трудностей, но пользоваться ей можно только после правки конфигов и установки дополнительных модулей, без них сервер будет "голый".

    Вам совет: Наймите админа.
    Ответ написан
    4 комментария
  • Какую подобрать конфигурацию для WEB-сервера на VDS/VPS для магазина на WordPress (2017)?

    icCE
    @icCE
    youtube.com/channel/UC66N_jRyZiotlmV95QPBZfA
    вопрос построения высоко-нагруженного веб-сервера


    А что, уже точно магазин имеет такую посещаемость , что надо делать сразу высоконагруженный ?
    Просто практика показывает, что это зря потраченные/вложенные деньги и до высоких нагрузок еще далеко. Как минимум чуть ли не год.

    1. Какую использовать лучше ОС для WEB-сервера? CentOS or Ubuntu? Какие версии?

    То, что вам ближе или то, по чему вас смогут быстро проконсультировать.
    Как по мне вообще все равно.

    2. Какую лучше использовать конфигурацию (см. выше описание)?

    Я бы просто начал с ngix+php-fpm+mariadb он же mysql.
    + настроил мониторинг для понимание нагрузок на сервер.

    3. Как устанавливать, используя какие средства?

    эм. ну в ubuntu sudo apt-get nginx php-fpm mariadb-server mariadb-client

    как вариант вообще не заниматься этим, а взять готовые шаблоны например у vscale.io
    Ответ написан
    9 комментариев
  • Centos7 + LEMP подо всякие Вордпрессы — нет ли толкового мана?

    @kucheriavij
    https://vestacp.com/ разворачиваете на голом дроплете и не ломаете голову
    Ответ написан
    Комментировать