SQLсервер в Linux -самостоятельное освоение пакета

         

Бесплатная версия



Бесплатная версия

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

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



Что дальше?



Что дальше?

После краткого знакомства с PostgreSQL перед читателем открывается несколько путей. Следующий список дает примерное представление о содержимом книги. Этот «путеводитель» поможет вам самостоятельно решить, о чем читать дальше.

Если вы хотите заняться установкой PostgreSQL 7.1.x, переходите к главе 2. Если у вас нет опыта работы с языком SQL и запросами к базам данных, продолжайте чтение с главы 3. Хотя материал главы 3 в основном носит общий характер, в ней также описаны некоторые приемы и концепции, характерные только для PostgreSQL. Обратите на них особое внимание, если хотите досконально разобраться в программе. Если вы уже знакомы с языком SQL и структурой команд, вероятно, вас больше заинтересуют главы 4, 5 и 7. Если вы владеете практическими навыками работы с PostgreSQL в качестве конечного пользователя и хотите перейти к настройке сервера, определению пользователей и групп, а также заданию параметров аутентификации, переходите к части III. Эта часть призвана помочь системным администраторам в инициализации, настройке и управлении вновь созданными или существующими базами данных PostgreSQL. Если вы знакомы с СУБД PostgreSQL и интересуетесь техническими сторонами и методикой программирования, переходите к части IV. В этой части книги описан PL/pgSQL, «родной» процедурный язык PostgreSQL, а также интерфейс JDBC и сервер приложений LXP на базе Web.




Что такое PostgreSQL?





Что такое PostgreSQL?

PostgreSQL - - объектно-реляционная система управления базами данных (ОРСУБД), разработка которой в различных формах ведется с 1977 года. Работа началась с проекта Ingres в Калифорнийском университете (Беркли). Затем проект Ingres был переведен на коммерческую разработку в корпорации Relational Technologies/Ingres.

В 1986 году другая группа, которую возглавлял Майкл-Стоунбрейкер (Michael Stonebraker) из Беркли, продолжила работу над Ingres и создала объектно-реляционную СУБД Postgres. В 1996 году из-за усовершенствования пакета и перехода на распространение с открытыми исходными текстами было принято новое название — PostgreSQL (в течение непродолжительного времени использовалось название Postgres95). В настоящее время над проектом PostgreSQL активно работает группа разработчиков со всего мира.

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




Коммерческие продукты семейства PostgreSQL



Коммерческие продукты семейства PostgreSQL

Версия PostgreSQL для операционной системы Red Hat называется «Red Hat Database». Этот продукт относительно недавно появился на рынке баз данных. В основу Red Hat Database заложена версия с открытыми текстами PostgreSQL 7.1. В настоящее время Red Hat Database работает только в системе Linux, желательно в Red Hat Linux 7.1.



Поддержка сообщества PostgreSQL



Поддержка сообщества PostgreSQL

Сообщество PostgreSQL обеспечивает активную поддержку продукта через списки рассылки. Существует несколько списков рассылки, на которые вы можете подписаться, разделенные по темам (например, pfsql-general, pgsql-hackers и т. д.). Списки

рассылки для пользователей SQL содержат достаточно подробную информацию от общих вопросов до разработки программных интерфейсов PostgreSQL. Полный перечень списков рассылки с подробными описаниями приведен на сайте http:/ /www. postg resql.org.




Продукты бесплатные и коммерческие



Продукты бесплатные и коммерческие

Бесплатная версия PostgreSQL состоит только из системы управления базами данных и программных интерфейсов. Версия PostgreSQL для Red Hat также включает графическую программу установки и ограниченную техническую поддержку.

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



Возможности PostgreSQL



Возможности PostgreSQL

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

Объектно-реляционная модель. Работа с данными в PostgreSQL основана на объектно-реляционной модели, что позволяет задействовать сложные процедуры и системы правил. Примерами нетривиальных возможностей этой категории являются декларативные запросы SQL, контроль параллельного доступа, поддержка многопользовательского доступа, транзакции, оптимизация запросов, поддержка наследования и массивов. Простота расширения. В PostgreSQL поддерживаются пользовательские операторы, функции, методы доступа и типы данных. Полноцепная поддержка SQL. PostgreSQL соответствует базовой спецификации SQL99 и поддерживает такие нетривиальные средства, как объединения стандарта SQL92. Проверка целостности ссылок. PostgreSQL поддерживает проверку целостности ссылок, обеспечивающую правильность данных в базе. Гибкость API. Гибкость API PostgreSQL позволяет легко создавать интерфейсы к РСУБД PostgreSQL. В настоящее время существуют программные интерфейсы для Object Pascal, Python, Perl, PHP, ODBC, Java/JDBC, Ruby, TCL, C/ C+ и Pike. Процедурные языки. В PostgreSQL предусмотрена поддержка внутренних процедурных языков, в том числе специализированного языка PL/pgSQL, являющегося аналогом PL/SQL, процедурного языка Oracle. Одним из преимуществ PostgreSQL является возможность использования Perl, Python и TCL в качестве внутренних процедурных языков. МУСС. Технология MVCC (Multi-Version Concurrency Control) используется в PostgreSQL для предотвращения лишних блокировок (locking). Каждый, кто хоть раз работал с другими СУБД на базе SQL (например, MySQL или Access), наверняка замечал, что обращение к базе данных для чтения иногда сопровождается задержками, связанными с попытками записи в базу данных. Проще говоря, операции чтения блокируются операциями, производящими обновление записей. Применение технологии MVCC в PostgreSQL полностью решает эту проблему. MVCC лучше низкоуровневой блокировки, поскольку операции чтения никогда не блокируются операциями записи. Вместо этого PostgreSQL отслеживает все транзакции, выполняемые пользователями базы данных, что позволяет работать с записями без ожидания их освобождения.

Клиент-сервер. В PostgreSQL используется архитектура «клиент-сервер» с распределением процессов между пользователями. В целом она напоминает методику работы с процессами в Apache 1.3.x. Главный (master) процесс создает дополнительные подключения для каждого клиента, пытающегося установить соединение с PostgreSQL.

Опережающая регистрация изменений. Опережающая регистрация изменений (Write Ahead Logging, WAL) повышает надежность данных. Все изменения данных протоколируются до их непосредственной актуализации в базе. Наличие протокола изменений гарантирует, что в случае сбоя базы данных (что весьма маловероятно) данные можно будет восстановить по запротоколированным транзакциям. После восстановления системы пользователь продолжает работу с состояния, непосредственно предшествовавшего сбою.




Из сказанного может возникнуть впечатление,



Выводы

Из сказанного может возникнуть впечатление, что коммерческая версия PostgreSQL в чем-то объективно лучше бесплатной версии. В действительности это не так. При выборе версии необходимо руководствоваться только требованиями конкретной ситуации. Потребуется ли техническая поддержка на стадии установки? Так ли необходима графическая оболочка в программе установки? Если на оба вопроса вы ответили положительно, подумайте о приобретении коммерческой версии PostgreSQL. Но если вы или технические специалисты вашей организации справятся с компиляцией исходных текстов и изменением конфигурации, возможно, бесплатная версия окажется более подходящей.
Также следует ответить на два дополнительных вопроса. Нужна ли вам печатная документация? Готовы ли вы заплатить за PostgreSQL? Печатная документация входит в комплект поставки коммерческой версии, но авторы надеются, что после чтения этой книги дополнительная документация вам уже не понадобится. Также приходится учитывать и цену коммерческой версии: Red Hat Database стоит 2295 долларов.
Главное, о чем следует помнить при выборе версии PostgreSQL (с позиций общей полезности и широты возможностей), — между бесплатной и коммерческой версиями не существует функциональных различий.