Система управления объектно-реляционными базами данных PostgreSQL

PostgreSQL — объектно-реляционная система управления базами данных, основанная на языке SQL.

СУБД отличается высокой надёжностью и хорошей производительностью, поддерживает транзакции (ACID), репликация реализована встроенными механизмами. При этом система расширяемая — можно создавать свои типы данных и индексов, а также расширять поведение при помощи языков программирования.

Из дополнительных возможностей PostgreSQL хочется отдельно отметить тот факт, что эта СУБД позволяет работать не только со структурированными и нормализованными, но и со слабоструктурированными данными (в форматах json / jsonb), при этом эти данные индексируются и работа с ними действительно удобна. Особенную ценность эти возможности обретают при разработке систем, где модели данных должны быть кастомизуемыми в режиме реального времени на уровне GUI — в интернет-магазинах, где у товаров может быть множество разнообразных характеристик, в системах электронного документооборота и в других бизнес-приложениях.

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

Также мы очень часто используем возможности PostgreSQL в части работы со слабоструктурированными данными — в сочетании с метапрограммированием на Ruby это позволяет создавать системы, которые кастомизируются не только разработчиками, но и самими пользователями при помощи веб-интерфейса.

Тематические технологии:

Поисковая система ElasticSearch
СУБД Redis
Колоночная СУБД Scylla
Колоночная СУБД Cassandra
CEPH — распределенная система хранения
Реляционная СУБД MySQL
Реляционная СУБД MariaDB
Хранилище Memcached

Cтатьи по теме:

PostgreSQL — свободная объектно-реляционная система управления базами данных
PostgreSQL — это популярная свободная объектно-реляционная система управления базами данных. PostgreSQL отличается высокой надёжность, базируется на языке SQL и имеет широкие возможности.
Реляционные базы данных и NoSQL-хранилища
13.03.2019  |  Статьи  —  СУБД  /  хранение данных  /  SQL  /  NoSQL  /  серверное ПО
Базы данных служат для хранения и обработки данных. Бывают реляционные (SQL) и нереляционные (NoSQL) системы управления базами данных.
MySQL — система управления базами данных
MySQL — это реляционная система управления базами данных с открытым исходным кодом. В настоящее время эта СУБД одна из наиболее популярных в веб-приложениях — подавляющее большинство CMS использует именно MySQL (часто только её, без альтернатив), а почти все веб-фреймворки поддерживают MySQL уже на уровне базовой конфигурации (без дополнительных модулей).
MariaDB — система управления реляционными базами данных
MariaDB — ответвление реляционной СУБД MySQL, разрабатываемое сообществом под лицензией GPL. MariaDB полностью совместима с приложениями, использующими MySQL, а переход на эту СУБД оправдан тем, что MySQL уже не так активно развивается.
Масштабирование баз данных — партиционирование, репликация и шардинг
СУБД — это очень часто «узкое место» в производительности веб-приложений. В момент, когда сервер баз данных не может справится с нагрузками, производится масштабирование. Рассмотрим основные способы увеличения производительности СУБД.
SQL-инъекции — распространённый метод взлома веб-приложений и сайтов
SQL-инъекции — это один из распространённых способов взлома сайтов и веб-приложений, работающих с реляционными базами данных. Этот способ основан на внедрении в выполняемый приложением запрос к базе данных произвольного SQL-кода, переданного злоумышленником.
Ускоряем работу сайта: используем Redis для кеширования и хранения данных
Redis — сетевое журналируемое хранилище данных типа «ключ — значение», которое обрабатывает данные в оперативной памяти и обладает механизмами снимков и журналирования для обеспечения постоянного хранения. Хранилище поддерживает работу с пятью типами данных: со строками, списками, хешами, обычными и сортируемыми множествами.