Що таке PostgreSQL?

PostgreSQL — це система управління базами даних (СУБД), яка використовує реляційну модель для своїх баз даних і підтримує стандартну мову запитів SQL.
PostgreSQL надає безліч різних можливостей, досить надійна та має хороші характеристики продуктивності. Вона працює практично на всіх UNIX-платформах, включаючи UNIX-подібні системи, такі як FreeBSD та Linux. Її можна використовувати на Windows NT Server та Windows 2000 Server, а для розробки підходять навіть такі системи Microsoft для робочих станцій, як ME. Крім того, PostgreSQL вільно поширюється та має відкритий вихідний код.
PostgreSQL вигідно відрізняється від багатьох інших СУБД. Вона має практично всі можливості, які є в інших базах даних (комерційних або з відкритим кодом), а також деякі додаткові.
Наведемо перелік функціональних можливостей PostgreSQL (представлений у відповідях на часто задавані питання щодо PostgreSQL):
- Транзакції
- Вкладені запити
- Подання (представлення)
- Посильна цілісність — зовнішні ключі
- Складні блокування
- Типи, що визначаються користувачем
- Наслідування
- Правила
- Перевірка сумісності версій
Починаючи з версії 6.5, PostgreSQL є дуже стабільною системою, кожна наступна версія проходить процедуру регресивного тестування, що забезпечує стабільність. Версія 7.x PostgreSQL як ніколи близька до відповідності стандарту SQL92, усунено дратівливе обмеження розміру рядка.
Під час експлуатації PostgreSQL проявила себе як заслуговуюча на довіру СУБД. Кожна версія перевіряється дуже ретельно, бета-версії проходять як мінімум місячне тестування. Завдяки численній спільноті користувачів та відкритому доступу до вихідного коду помилки виправляються дуже швидко.
Продуктивність цієї СУБД також зростає від версії до версії, і останні атестації показують, що за певних умов вона не поступається комерційним продуктам. Деякі системи, які мають не такий повний набір можливостей, перевершують PostgreSQL у продуктивності, але за рахунок втрати функціональності. Для досить простих додатків таку роль відіграє база даних, що складається з плоских файлів.
Архітектура PostgreSQL
Однією з сильних сторін PostgreSQL є її архітектура. Як і багато комерційних СУБД, PostgreSQL може застосовуватися в середовищі клієнт-сервер, що дає масу переваг як користувачам, так і розробникам.
Основу PostgreSQL становить серверний процес бази даних. Він виконується на одному сервері. (У цій СУБД ще не реалізована технологія високої готовності, як у деяких інших комерційних системах рівня підприємства, які можуть розподіляти навантаження між кількома серверами, досягаючи таким чином додаткової масштабованості та стійкості до зовнішніх впливів.)
Доступ із додатків до даних бази здійснюється через процес бази даних. Клієнтські програми не можуть отримати доступ до даних самостійно, навіть якщо вони працюють на тому ж комп’ютері, на якому виконується серверний процес.
Таке розділення клієнтів і сервера дозволяє побудувати розподілену систему. Можна відокремити клієнтів від сервера через мережу та розробляти клієнтські додатки в середовищі, зручному для користувача. Наприклад, можна реалізувати базу даних під UNIX і створити клієнтські додатки, які працюватимуть у системі Microsoft Windows.
Кілька клієнтів підключаються до сервера через мережу. PostgreSQL орієнтований на протокол TCP/IP — це може бути локальна мережа або Інтернет. Кожен клієнт з’єднується з основним серверним процесом бази даних, який створює новий серверний процес спеціально для обслуговування запитів на доступ до даних конкретного клієнта.
Завдяки тому, що маніпулювання даними зосереджено на сервері, СУБД не доводиться контролювати численних клієнтів, які отримують доступ до спільно використовуваного каталогу сервера, і PostgreSQL може підтримувати цілісність даних навіть при одночасному доступі великої кількості користувачів.
Клієнтські додатки з’єднуються з базою за спеціальним протоколом PostgreSQL. Однак можна встановити на стороні клієнта програмне забезпечення, яке надає стандартний інтерфейс для роботи з потрібним додатком, наприклад, за стандартом ODBC або JDBC. Доступність ODBC-драйвера дозволяє використовувати PostgreSQL як базу даних для багатьох існуючих додатків, включаючи такі продукти Microsoft Office, як Excel і Access.
Архітектура клієнт-сервер робить можливим розподіл праці. Машина-сервер добре підходить для зберігання та управління доступом до великих обсягів даних, вона може використовуватися як надійний репозиторій. Для клієнтів можуть бути розроблені складні графічні додатки. Як альтернативу можна створити зовнішній інтерфейс на основі Інтернету, який надавав би доступ до даних і повертав результат у вигляді веб-сторінок у стандартний веб-браузер, при цьому не було б потрібно жодного додаткового клієнтського програмного забезпечення.
За матеріалами:
Назад