Skip to content

laspegasuscommunity/synapse-postgres

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PostgreSQL Logo

PostgreSQL Compose Project

Github top language Github language count Repository size License Github issues Github forks Github stars


О проекте   |   Особенности   |   Технологии   |   Требования   |   Начало   |   Лицензия   |   Авторы


🎯 О проекте

PostgreSQL, часто просто "Postgres", является объектно-реляционной системой управления базами данных (ORDBMS) с акцентом на расширяемость и соответствие стандартам. Как сервер баз данных, его основная функция заключается в хранении данных, безопасном и поддерживающем лучшие практики, и их последующем извлечении по запросам других программных приложений, будь то те, которые находятся на том же компьютере, или те, которые работают на другом компьютере в сети (включая Интернет). Он может работать с различными нагрузками - от небольших приложений для одной машины до крупных приложений для работы в Интернете с большим количеством одновременно работающих пользователей. Последние версии также обеспечивают репликацию самой базы данных для обеспечения безопасности и масштабируемости.

PostgreSQL реализует большинство стандартов SQL:2011, соответствует стандарту ACID и является транзакционной (включая большинство DDL-запросов), избегая проблем блокировки с помощью многоверсионного управления параллелизмом (MVCC), обеспечивает устойчивость к грязным чтениям и полную сериализуемость; обрабатывает сложные SQL-запросы, используя многие методы индексирования, недоступные в других базах данных; имеет обновляемые представления и материализованные представления, триггеры, внешние ключи; поддерживает функции и хранимые процедуры, а также другие возможности расширения, и имеет большое количество расширений, написанных сторонними разработчиками. Помимо возможности работы с основными проприетарными и открытыми базами данных, PostgreSQL поддерживает миграцию с них, благодаря широкой поддержке стандартного SQL и доступным инструментам миграции. А если использовались проприетарные расширения, то за счет своей расширяемости, которая может эмулировать многие из них благодаря некоторым встроенным и сторонним расширениям совместимости с открытым исходным кодом, например, для Oracle.

✨ Особенности

✔️ Важнейшая особенность контейнеров — их сравнительно короткий жизненный цикл. Любой контейнер можно остановить, перезапустить или уничтожить, если это необходимо. Данные, которые содержатся в контейнере, при этом тоже пропадут. Так выработалось правило проектирования приложений: не хранить важные данные в контейнере. Такой подход называют Stateless;
✔️ Объем контейнеров измеряется в мегабайтах, поскольку в них упаковывают лишь те процессы и зависимости ОС, которые необходимы для выполнения кода. Легковесные контейнеры быстро запускаются и экономят место на диске;
✔️ Один контейнер соответствует одному запущенному процессу. Отключение отдельного контейнера для отладки или обновления никак не помешает нормальной работе всего приложения;
✔️ Контейнеризация обеспечивает надежную изоляцию процессов и повышает уровень безопасности систем. Приложения, которые работают внутри контейнера, не имеют доступа к основной ОС и не могут на неё влиять;
✔️ Благодаря контейнерам можно автоматизировать развертывание приложений на разных хостах;
✔️ Использование контейнеров позволяет перейти с монолита на микросервисную архитектуру. За счет этого ускоряется разработка новой функциональности, поскольку нет опасений, что изменения в одной компоненте затронут всю остальную систему;
✔️ С точки зрения эффективности контейнеры котируются выше виртуальных машин. На одинаковом оборудовании можно запустить большое количество контейнеров, тогда как ВМ будет в разы меньше. Это важно при использовании облачной инфраструктуры — потребуется меньше ресурсов;

🚀 Технологии

В данном проекте были использованы следующие инструменты:

✅ Требования

Перед началом 🏁, вам нужно иметь Git и Docker установленными.

🏁 Начало

# Клонируйте этот проект
$ git clone https://github.com/laspegasuscommunity/synapse-postgres.git

# Доступ
$ cd synapse-postgres

# Запустите проект
$ docker-compose up -d

# Сервер инициализируется в <http://synapse-postgres:5432>

📝 Лицензия

Этот проект находится под лицензией MIT. Для получения более подробной информации см. LICENSE файл.

Сделано с ❤️ ponfertato

 

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published