Postgresql что за программа

PostgreSQL — это реляционная база данных с открытым кодом. Узнайте, что такое PostgreSQL, ознакомьтесь с типами данных PostgreSQL и т. д.

Надежная и мощная система баз данных с открытым кодом

Что же собой представляет база данных PostgreSQL? Реляционные базы данных, такие как PostgreSQL, помогают пользователям упорядочить данные и составить представление о связях между ними. PostgreSQL — это реляционная база данных с открытым кодом, которая поддерживается в течение 30 лет разработки и является одной из наиболее известных среди всех существующих реляционных баз данных.

Популярностью у разработчиков и администраторов база данных PostgreSQL обязана своей исключительной гибкости и целостности. Например, база данных PostgreSQL поддерживает как реляционные, так и нереляционные запросы. Она основана на открытом коде, а это означает, что систему базы данных постоянно улучшает профильное сообщество из более чем 600 участников.

Кто использует PostgreSQL?

В самых разных областях, таких как финансовые услуги, производство, розничная торговля и логистика, PostgreSQL является важнейшим решением для баз данных. Оно помогает разработчикам поддерживать целостность данных, упрощает управление рабочими нагрузками любого размера и позволяет выполнять масштабирование по мере необходимости.

SQL и POSTGRESQL | Урок #4. Почему PostgreSQL?

PostgreSQL выступает в качестве основной базы данных. Помимо хорошей репутации, PostgreSQL отличается значительными преимуществами для приложений с поддержкой геопространственных данных, а также приложений, объединяющих в себе временные ряды, JavaScript Object Notation Binding (JSONB) и реляционные данные. Кроме того, администраторы признали высокий уровень надежности PostgreSQL в обеспечении сохранности данных. В целом, PostgreSQL приобретает все больше популярности благодаря постоянно расширяющемуся набору функций и активному сообществу разработчиков.

Преимущества использования PostgreSQL

Так как PostgreSQL является надежной, безопасной и расширяемой базой данных, а также располагает обширной экосистемой доступных средств, разработчики используют PostgreSQL в разнообразных сценариях. Это программное обеспечение совместимо со всеми основными операционными системами, включая Linux, Windows и Macintosh. Оно поддерживает текст, изображения, звуки и видео. Благодаря этому база данных пользуется популярностью у пользователей и компаний с различными потребностями. PostgreSQL считается самой востребованной технологией баз данных среди разработчиков, уступая только MySQL.

Но есть много причин, по которым разработчики могут выбрать PostgreSQL вместо MySQL в качестве решения для баз данных, в том числе:

Доступ к мощным функциям

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

Что такое базы данных? ДЛЯ НОВИЧКОВ / Про IT / Geekbrains

Надежность и соответствие требованиям

Десятилетия разработки помогли сделать базу данных PostgreSQL чрезвычайно отказоустойчивой. Она соответствует свойствам атомарности, согласованности, изолированности и долговечности (ACID) для транзакций баз данных. Кроме того, PostgreSQL поддерживает несколько языков для различных триггеров, атрибутов внешних ключей, объединений и хранимых процедур. PostgreSQL позволяет работать с наиболее распространенными типами данных, в том числе SQL 2008. Кроме того, решение поддерживает Юникод, международные кодировки и многобайтовую кодировку символов.

PostgreSQL — это лицензия с открытым кодом

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

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

Отличительная черта PostgreSQL — высокая масштабируемость. Это программное обеспечение может легко управлять большим объемом данных. Масштабируемость PostgreSQL касается не только объема данных, которыми может управлять эта БД, но и числа одновременно работающих в ней пользователей.

Разнообразные типы индексирования и полнотекстовый поиск

PostgreSQL предлагает пользователям разнообразные методы индексирования, включая индексирование на основе деревьев B+, обобщенный инвертированный индекс и обобщенное дерево поиска, — помимо полнотекстового поиска для поиска по строкам и строк векторных операций.

Гибкость

База данных PostgreSQL совместима с целым рядом важнейших языков программирования и протоколов, включая C, C++, Go, Perl, Python, Java, .Net, Ruby, ODBC и Tcl. Это означает, что пользователи смогут работать на том языке, который они знают лучше, без риска возникновения системных конфликтов.

Развитая экосистема поддержки

Открытый код PostgreSQL обеспечивает пользователям поддержку профильного сообщества разработчиков, которые постоянно совершенствуют систему, делая ее более безопасной и актуальной. Пользователи могут получить доступ к «коллективному разуму» этого сообщества, чтобы сообщать об ошибках, собирать мнения о проектах разработки и получать ответы на свои вопросы. Благодаря открытому код PostgreSQL у пользователей есть множество способов получить поддержку, на какой бы платформе они ни работали: для Ruby on Rails, Tableau или Datadog. Ваши разработчики могут не только получить доступ к коллективным знаниям и советам участников сообщества, но и обращаться к экспертам, а также подключаться к службам PostgreSQL для решения проблем или определения дальнейших действий.

JSON

Так как PostgreSQL поддерживает реляционные и нереляционные запросы, пользователи могут получать доступ к данным JSON с помощью выражений пути SQL и JSON.

Возможности расширения

PostgreSQL не просто хранит данные — это программное обеспечение позволяет пользователям определять функциональные языки и типы данных, включая настраиваемые или определяемые пользователем типы. Кроме того, разработчикам вашей компании доступны разнообразные расширения и надстройки, которые помогают настроить возможности PostgreSQL, включая PostGIS, Citus, pg_cron, HyperLogLog и t-digest. Такая степень расширяемости БД PostgreSQL объясняется тем, что, в отличие от большинства систем управления реляционными базами данных, в ее каталогах хранится больше информации, чем в традиционных таблицах и столбцах. Пользователи могут модифицировать таблицы и таким образом расширять PostgreSQL.

Описание типов данных в PostgreSQL

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

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

Данные логического типа

Логический тип данных предназначен для выражения значений с двумя состояниями, таких как true/false (истина/ложь), on/off (вкл./выкл.), yes/no (да/нет), а также значений NULL. Как правило, этот тип данных используется для вычисления условных операторов. Поток управления может зависеть от результата (true или false), как при использовании выражения CASE в PostgreSQL, с различными действиями, вытекающими из вычисления.

Читайте также:
Afrd что это за программа

Символьные типы данных

Этот тип данных состоит из строк символов, таких как буквы или цифры, и используется для хранения текстовых значений. Данные символьных и строковых типов могут иметь фиксированную длину, называемую char, либо переменную длину, называемую varchar или long varchar. Длина, которую выбирает пользователь, влияет на проверку входных данных.

Дата и время

Тип данных даты и времени применяется для обозначения даты, времени и временных интервалов. Тип данных метки времени в PostgreSQL указывает время с точностью до микросекунды. Пользователи могут выбрать способ хранения данных времени и даты с добавлением сведений о часовом поясе или без него.

Числовые данные

Данные числовых типов бывают двух видов: точные и приблизительные. К числовым данным точных типов относятся целочисленные и десятичные числовые данные. К приблизительным относятся типы данных с плавающей запятой, например 2-, 4- и 8-байтовые целые числа, 4- и 8-байтовые числа с плавающей запятой, а также десятичные числа с произвольной точностью.

Источник: azure.microsoft.com

Чем PostgreSQL лучше других SQL баз данных с открытым исходным кодом. Часть 1

Возможно, вы спрашиваете себя: «Почему PostgreSQL?» Ведь есть и другие варианты реляционных баз данных с открытым исходным кодом (в рамках этой статьи мы рассматривали MySQL, MariaDB и Firebird), так что же Постгрес может предложить такого, чего нет у них? В слогане PostgreSQL заявляется, что это «Самая продвинутая база данных с открытым исходным кодом в мире». Мы приведем несколько причин, почему Постгрес делает такие заявления.

В первой части этой серии мы поговорим о хранении данных — модели, структуре, типах и ограничениях размера. А во второй части больше сфокусируемся на выборке и манипуляциях с данными.

Модель данных

PostgreSQL не просто реляционная, а объектно-реляционная СУБД. Это даёт ему некоторые преимущества над другими SQL базами данных с открытым исходным кодом, такими как MySQL, MariaDB и Firebird.

Фундаментальная характеристика объектно-реляционной базы данных — это поддержка пользовательских объектов и их поведения, включая типы данных, функции, операции, домены и индексы. Это делает Постгрес невероятно гибким и надежным. Среди прочего, он умеет создавать, хранить и извлекать сложные структуры данных. В некоторых примерах ниже вы увидите вложенные и составные конструкции, которые не поддерживаются стандартными РСУБД.

Структуры и типы данных

Существует обширный список типов данных, которые поддерживает Постгрес. Кроме числовых, с плавающей точкой, текстовых, булевых и других ожидаемых типов данных (а также множества их вариаций), PostgreSQL может похвастаться поддержкой uuid, денежного, перечисляемого, геометрического, бинарного типов, сетевых адресов, битовых строк, текстового поиска, xml, json, массивов, композитных типов и диапазонов, а также некоторых внутренних типов для идентификации объектов и местоположения логов. Справедливости ради стоит сказать, что MySQL, MariaDB и Firebird тоже имеют некоторые из этих типов данных, но только Постгрес поддерживает их все.

Давайте рассмотрим подробнее некоторые из них:

Сетевые адреса
  • 192.168.100.128/25
  • 10.1.2.3/32
  • 2001:4f8:3:ba:2e0:81ff:fe22:d1f1/128
  • ::ffff:1.2.3.0/128

У MySQL и MariaDB тоже есть INET функции для конвертации сетевых адресов, но они не предоставляют типы данных для внутреннего хранения сетевых адресов. У Firebird тоже нет типов для хранения сетевых адресов.

Многомерные массивы

Поскольку Постгрес — это объектно-реляционная база данных, массивы значений могут храниться для большинства существующих типов данных. Сделать это можно путём добавления квадратных скобок к спецификации типа данных для столбца или с помощью выражения ARRAY. Размер массива может быть задан, но это необязательно. Давайте рассмотрим меню праздничного пикника для демонстрации использования массивов:

— создаем таблицу, у которой значения являются массивами CREATE TABLE holiday_picnic ( holiday varchar(50) — строковое значение sandwich text[], — массив side text[] [], — многомерный массив dessert text ARRAY, — массив beverage text ARRAY[4] — массив из 4-х элементов ); — вставляем значения массивов в таблицу INSERT INTO holiday_picnic VALUES (‘Labor Day’, », ‘< , >’, », » );

MySQL, MariaDB, и Firebird так не умеют. Чтобы хранить такие массивы значений в традиционных реляционных базах данных, придется использовать обходной путь и создавать отдельную таблицу со строками для каждого из значений массива.

Геометрические данные

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

Один из этих типов – PATH, он состоит из множества последовательно расположенных точек и может быть открытым (начальная и конечная точки не связаны) или закрытым (начальная и конечная точки связаны). Давайте рассмотрим в качестве примера туристическую тропу. В данном случае туристическая тропа — это петля, поэтому начальная и конечная точки связаны, и, значит, мой путь является закрытым. Круглые скобки вокруг набора координат указывают на закрытый путь, а квадратные — на открытый.

— создаем таблицу для хранения троп CREATE TABLE trails ( trail_name varchar(250), trail_path path ); — вставляем тропу в таблицу, — для которой маршрут определяется координатами в формате широта-долгота INSERT INTO trails VALUES (‘Dool Trail — Creeping Forest Trail Loop’, ((37.172,-122.22261666667), (37.171616666667,-122.22385), (37.1735,-122.2236), (37.175416666667,-122.223), (37.1758,-122.22378333333), (37.179466666667,-122.22866666667), (37.18395,-122.22675), (37.180783333333,-122.22466666667), (37.176116666667,-122.2222), (37.1753,-122.22293333333), (37.173116666667,-122.22281666667)));

Расширение PostGIS для PostgreSQL дополняет существующие свойства геометрических данных вспомогательными пространственными типами, функциями, операторами и индексами. Оно обеспечивает поддержку местоположения и поддерживает как растровые, так и векторные данные. Оно также обеспечивает совместимость с множеством сторонних геопространственных инструментов (защищённых авторским правом и с открытым исходным кодом) для отображения, отрисовки и работы с данными.

Заметьте, что в MySQL 5.7.8 и в MariaDB, начиная с версии 5.3.3, были добавлены расширения типов данных для поддержки стандарта географической информации OpenGIS. Эта версия MySQL и последующие версии MariaDB предлагают хранение типов данных, аналогичное штатным геоданным Постгреса. Тем не менее, в MySQL и MariaDB значения данных сначала должны быть сконвертированы в геометрический формат простыми командами перед тем, как будут вставлены в таблицу. Firebird на данный момент не поддерживает геометрические типы данных.

Поддержка JSON

Поддержка JSON в PostgreSQL позволяет вам перейти к хранению schema-less данных в SQL базе данных. Это может быть полезно, когда структура данных требует определённой гибкости: например, если в процессе разработки структура всё ещё меняется или неизвестно, какие поля будет содержать объект данных.

Тип данных JSON обеспечивает проверку корректности JSON, который позволяет использовать специализированные JSON операторы и функции, встроенные в Постгрес для выполнения запросов и манипулирования данными. Также доступен тип JSONB — двоичная разновидность формата JSON, у которой пробелы удаляются, сортировка объектов не сохраняется, вместо этого они хранятся наиболее оптимальным образом, и сохраняется только последнее значение для ключей-дубликатов. JSONB обычно является предпочтительным форматом, поскольку требует меньше места для объектов, может быть проиндексирован и обрабатывается быстрее, так как не требует повторного синтаксического анализа.

В MySQL 5.7.8 и MariaDB 10.0.1 была добавлена поддержка встроенных объектов JSON. Но, хотя существует множество функций и операторов для JSON, которые теперь доступны в этих базах данных, они не индексируются так, как JSONB в PostgreSQL. Firebird пока что не присоединился к тренду и поддерживает объекты JSON только в виде текста.

Читайте также:
Автоматическая программа для заработка денег в интернете что это
Создание нового типа

Если вдруг так случится, что обширного списка типов данных Постгреса вам окажется недостаточно, вы можете использовать команду CREATE TYPE, чтобы создать новые типы данных, такие как составной, перечисляемый, диапазон и базовый. Рассмотрим пример создания и отправки запросов нового составного типа:

— создаем новый составной тип «wine» CREATE TYPE wine AS ( wine_vineyard varchar(50), wine_type varchar(50), wine_year int ); — создаем таблицу, которая использует составной тип «wine» CREATE TABLE pairings ( menu_entree varchar(50), wine_pairing wine ); — вставляем данные в таблицу при помощи выражения ROW INSERT INTO pairings VALUES (‘Lobster Tail’,ROW(‘Stag»s Leap’,’Chardonnay’, 2012)), (‘Elk Medallions’,ROW(‘Rombauer’,’Cabernet Sauvignon’,2012)); /* выборка из таблицы с использованием имени колонки (используйте скобки, отделяемые точкой от имени поля в составном типе) */ SELECT (wine_pairing).wine_vineyard, (wine_pairing).wine_type FROM pairings WHERE menu_entree = ‘Elk Medallions’;

Поскольку они не являются объектно-реляционными, MySQL, MariaDB и Firebird не предоставляют такую мощную функциональность.

Размеры данных

PostgreSQL может обрабатывать много данных. Текущие опубликованные ограничения перечислены ниже:

Максимальный размер базы данных Неограничен
Максимальный размер таблицы 32 TB
Максимальный размер строки 1.6 TB
Максимальный размер поля 1 GB
Максимальное количество строк в таблице Неограничено
Максимальное количество столбцов в таблице 250-1600 в зависимости от типа столбца
Максимальное количество индексов в таблице Неограничено

В Compose [прим. пер.: организация, в которой трудится автор оригинальной статьи] мы автоматически масштабируем вашу инсталляцию, чтобы вам не приходилось волноваться о росте количества данных. Но, как известно любому администратору баз данных, стоит с опаской относиться к слишком большим и неограниченным возможностям. Мы советуем руководствоваться здравым смыслом при создании таблиц и добавлении индексов.

Для сравнения, MySQL и MariaDB печально известны ограничением размера строк в 65 535 байт. Firebird также предлагает всего лишь 64Кб в качестве максимального размера строки. Обычно объём данных ограничивается максимальным размером файлов операционной системы. Поскольку PostgreSQL умеет хранить табличные данные в множестве файлов меньшего размера, он может обойти это ограничение.

Но стоит отметить, что слишком большое количество файлов может негативно сказаться на производительности. MySQL и MariaDB поддерживают большее количество столбцов в таблице (до 4,096 в зависимости от типа данных) и большие индивидуальные размеры таблицы, чем PostgreSQL, но необходимость превысить существующие ограничения Постгреса возникает лишь в крайне редких случаях.

Целостность данных

Постгрес стремится соответствовать стандарту ANSI-SQL:2008, отвечает требованиям ACID (атомарность, согласованность, изолированность и надежность) и известен своей ссылочной и транзакционной целостностью. Первичные ключи, ограничивающие и каскадные внешние ключи, уникальные ограничения, ограничения NOT NULL, проверочные ограничения и другие функции обеспечения целостности данных дают уверенность, что только корректные данные будут сохранены.

MySQL и MariaDB больше работают на то, чтобы соответствовать стандарту SQL с движками таблиц InnoDB/XtraDB. Теперь они предлагают опцию STRICT с использованием режимов SQL, которая устанавливает проверки корректности используемых данных.

Несмотря на это, в зависимости от того, какой режим вы используете, недостоверные и даже урезанные без вашего ведома данные могут быть вставлены или созданы при обновлении. Ни одна из этих баз данных сейчас не поддерживает CHECK ограничения. Кроме того, у них существует множество особенностей в отношении ограничений ссылочной целостности по внешним ключам. В дополнение к вышесказанному, целостность данных может существенно пострадать в зависимости от выбранного движка хранения. MySQL (и fork MariaDB) не делают секрета из того, что променяли целостность и соответствие стандартам на скорость и эффективность.

Подводя итоги

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

Если вам кажется, что PostgreSQL не соответствует вашим потребностям, или вы предпочитаете “стрелять от бедра”, тогда вам стоит обратить внимание на NoSQL базы данных, которые мы предлагаем в Compose, или подумать о других SQL базах данных, которые мы упоминали. У каждой из них есть свои преимущества. Compose твёрдо уверен, что очень важно выбрать правильную базу данных для конкретной задачи… иногда это означает, что нужно выбрать несколько баз данных!

Хотите больше Постгреса? Во второй части этой серии мы рассмотрим манипуляции с данными и поиск в PostgreSQL, включая функции виртуальных таблиц, возможности запросов, индексирование и расширения языка.

Источник: habr.com

Что такое PostgreSQL? Плюсы и минусы бесплатной базы данных

Особенности базы данных PostgreeSQL

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

PostgreSQL предоставляет множество различных возможностей, достаточно надежна и имеет хорошие характеристики по производительности. Она работает практически на всех UNIX-платформах, включая UNIX-подобные системы, такие как FreeBSD и Linux. Ее можно применять на Windows NT Server и Windows 2000 Server, а для разработки годятся даже такие системы Microsoft для рабочих станций, как ME. Кроме того, PostgreSQL свободно распространяется и имеет открытый исходный код.

PostgreSQL выгодно отличается от многих других СУБД. Она обладает практически всеми возможностями, которые есть в других базах данных (коммерческих или Open Source), а также некоторыми дополнительными.

Приведем перечень функциональных возможностей PostgreSQL (представлен в ответах на часто задаваемые вопросы по PostgreSQL):

  • Транзакции
  • Вложенные запросы
  • Представления
  • Ссылочная целостность — внешние ключи
  • Сложные блокировки
  • Типы, определяемые пользователем
  • Наследственность
  • Правила
  • Проверка совместимости версий

Начиная с версии 6.5 PostgreSQL представляет собой весьма устойчивую систему, каждая следующая версия проходит процедуру регрессивного тестирования, обеспечивающего стабильность. Версия 7.x PostgreSQL как никогда близка к соответствию стандарту SQL92, устранено раздражавшее ограничение размера строки.

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

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

Короткий экскурс в историю PostgreSQL

Генеалогическое древо PostgreSQL начинается в 1977 году в Калифорнийском университете Беркли. Реляционная база данных Ingres разрабатывалась в Беркли в 1977-85 годах. Ingres была очень популярна за пределами стен Калифорнийского университета, она появилась на многих компьютерах в университетских и исследовательских кругах. На свободный рынок Ingres была выведена Relational Technologies/Ingres Corporation, так она стала одной из первых коммерчески доступных реляционных систем управления базами данных. В наши дни Ingres превратилась в CA-INGRES II, продукт Computer Associates.

Читайте также:
App list что это за программа и нужна

Тем временем в Беркли не прекращается работа над сервером реляционной базы данных (под названием Postgres), это продолжается с 1986 по 1994 год. Как и раньше, код приобретается коммерческой компанией и продукт на его основе выставляется на продажу. После поглощения компанией Informix он стал называться Illustra. Где-то в 1994 году в Postgres были добавлены возможности SQL, и возникло новое имя — Postgres95.

К 1996 году Postgres стала приобретать необыкновенную популярность, и было принято решение открыть ее код для некоторого количества программистов по списку рассылки, так началось весьма успешное сотрудничество добровольцев, направленное на продвижение Postgres. Тогда продукт в последний раз сменил имя, отбросив окончание «95» и заменив его на «SQL», которое лучше отражало поддержку стандартного языка запросов SQL в Postgres. Так родилась PostgreSQL.

Сейчас PostgreSQL развивается группой интернет-разработчиков, приблизительно тем же способом, что и другое программное обеспечение Open Source: Perl, Apache и PHP. Пользователи имеют доступ к исходным кодам, они исправляют ошибки, занимаются совершенствованием продукта, предлагают введение новых возможностей. Официальные версии PostgreSQL выпускаются на http://www.postgresql.org.

GreatBridge осуществляет коммерческую поддержку проекта, а также предоставляет работу некоторым PostgreSQL-разработчикам.

Преимущества базы данных PostgreeSQL

Архитектура PostgreSQL

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

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

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

Такое разделение клиентов и сервера позволяет построить распределенную систему. Можно отделить клиентов от сервера посредством сети и разрабатывать клиентские приложения в среде, удобной для пользователя. Например, можно реализовать базу данных под UNIX и создать клиентские приложения, которые будут работать в системе Microsoft Windows.

Приведенная ниже схема (рис. 1) показывает типичную модель распределенного приложения PostgreSQL:

Как типовое приложение взаимодействует с базой PostgreSQL

Рис. 1. Работа типичного приложения PostgreSQL

Несколько клиентов подсоединяются к серверу по сети. PostgreSQL ориентирован на протокол TCP/IP — это может быть локальная сеть или Интернет. Каждый клиент соединяется с основным серверным процессом базы данных (на схеме — Postmaster), который создает новый серверный процесс специально для обслуживания запросов на доступ к данным конкретного клиента.

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

Клиентские приложения соединяются с базой по специальному протоколу PostgreSQL. Однако можно установить на стороне клиента программное обеспечение, предоставляющее стандартный интерфейс для работы с нужным приложением, например, по стандарту ODBC или JDBC. Доступность ODBC-драйвера позволяет применять PostgreSQL в качестве базы данных для многих существующих приложений, включая такие продукты Microsoft Office, как Excel и Access. Способность взаимодействия PostgreSQL с приложениями будет подробнее рассмотрена в следующих главах.

Архитектура клиент-сервер делает возможным разделение труда. Машина-сервер хорошо подходит для хранения и управления доступом к большим объемам данных, она может использоваться как надежный репозитарий. Для клиентов могут быть разработаны сложные графические приложения. В качестве альтернативы можно создать внешний интерфейс на основе Интернета, который предоставлял бы доступ к данным и возвращал результат в виде веб-страниц в стандартный веб-браузер, при этом не требовалось бы никакого дополнительного клиентского программного обеспечения.

Open Source-лицензированная база данных

В начале XXI века многие компьютерные системы создаются на основе свободно распространяемых программ с открытыми исходными кодами. К их числу относится и PostgreSQL. Что же это означает в действительности?

Когда понятие Open Source применяется к программному обеспечению, оно приобретает специальный смысл. Такое программное обеспечение поставляется вместе с исходными кодами. Это не обязательно значит, что на его применение не налагаются никакие условия. Оно все-таки лицензируется в том смысле, что вы получаете право некоторым образом использовать это программное обеспечение.

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

Если с программным обеспечением Open Source возникают проблемы, пользователь может или исправить ошибки сам (поскольку у него есть исходные тексты), или же передать код кому-то другому для исправления. Сейчас многие коммерческие компании предлагают поддержку продуктов Open Source, поэтому, приобретая такой продукт, не стоит чувствовать себя «забытым».

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

Наиболее либеральной является лицензия Berkeley Software Distribution (BSD), разрешающая делать с программным обеспечением все что угодно, не предоставляя при этом никаких гарантий. Лицензия на использование PostgreSQL по сути своей аналогична лицензии BSD, она представляет собой заявление об авторских правах, в котором говорится: «Настоящим предоставляется право на использование, копирование, модификацию и распространение данного программного продукта и относящейся к нему документации в любых целях, без оплаты и без подписания соответствующих соглашений при условии, что во всех копиях будет присутствовать уведомление об авторских правах, указанное выше, данный абзац и два последующих». Два следующих абзаца посвящены отказу от каких бы то ни было обязательств и гарантий.

Ресурсы по обучению PostgreSQL

  1. Информация о базах данных в целом и о PostgreSQL в частности может быть получена из множества источников, как печатных, так и доступных через Интернет.
  2. Подробно о теоретических основах баз данных рассказано в разделе Tech Talk на сайте Дэвида Фрика (David Frick) http://www.fnck- cpa.com.
  3. Официальным сайтом PostgreSQL является http://www.postgresql.org, там можно ознакомиться с историей СУБД, скачать копию Post- greSQL, просмотреть официальную документацию, а также сделать много других вещей, например научиться правильно произносить название «PostgreSQL».
  4. Коммерческая поддержка PostgreSQL предоставляется Great Bridge на сайте http://www.greatbridge.com. Great Bridge также поддерживает сайт Open Source проекта http://www.greatbridge.org, где можно ознакомиться с последними новинками, относящимися к PostgreSQL, такими как инструменты для администрирования, графические интерфейсы пользователя и т. д.
  5. Red Hat Database также поддерживает проект PostgreSQL. Материалы о Red Hat Database можно найти по адресу: http://www.redhat.com/pro- ducts/software/database /.
  6. Некоторые полезные вещи для PostgreSQL можно найти на сайте PostgreSQL Inc. http://www.pgsql.com.
  7. Тем, кого интересует тема свободного распространения и открытости исходных кодов в отношении программного обеспечения (Open Source продукты), советуем посетить два следующих сайта:
  • http://www.gnu.org
  • http://www.opensource.org

Источник: oracle-patches.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru