PostgreSQL: промышленная

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

PostgreSQL – это...
PostgreSQL – свободно распространяемая
объектно-реляционная система управления
базами данных (ORDBMS), наиболее
развитая из открытых СУБД в мире и
являющаяся реальной альтернативой
коммерческим базам данных.

PostgreSQL: промышленная разработка баз данных. Лекция 1

PostgreSQL – это...
PostgreSQL произносится как post-gress-Q-L
В разговоре часто употребляется postgres
(пост-гресс).
Также, употребляется сокращение
pgsql (пи-джи-эс-ку-эл).

PostgreSQL: промышленная разработка баз данных. Лекция 1

PostgreSQL: функциональность
Обычно все матрицы сравнения выглядят примерно так:

PostgreSQL: промышленная разработка баз данных. Лекция 1

PostgreSQL: ограничения

Макс. размер БД — нет ограничения

Макс. размер таблицы — 32 TB

Макс. размер строки — 1.6 TB

Макс. размер поля — 1 GB

Макс. кол­во строк в таблице — нет ограничения

Макс. кол­во столбцов в таблице — 250..1600

Макс. кол­во индексов — нет ограничения

PostgreSQL: промышленная разработка баз данных. Лекция 1

PostgreSQL – это...

...самая развитая СУБД с открытым кодом

...надежность и устойчивость на очень больших нагрузках

...кроссплатформенность (FreeBSD, Linux, Solaris, Windows, 
OS X)
...высокий уровень соответствия ISO/ANSI SQL 92, 99, 2003
...интерфейсы для Tcl, Perl, C, C++, PHP, ODBC, JDBC, 
Embedded SQL in C, Python, Ruby, ...

...расширяемость

...быстродействие

PostgreSQL: промышленная разработка баз данных. Лекция 1

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

Skype
Skype has been using PostgreSQL as the main DB for most of our business needs right from the start.
Hannu Krosing, Skype

Hi5.com (~60 млн. пользователей; Alexa's  traffic rank: 8)

MyYearBook.com
We process over 18,000 queries per second on over 300GB of user data on our PostgreSQL 
servers, and those numbers go up every month.
Gavin Roy, CTO of MyYearbook.com

PostgreSQL: промышленная разработка баз данных. Лекция 1

Кто использует: Россия

Рамблер

1C:Предприятие (наряду с MS SQL Server)

MirTesen.ru — уже 8.3!

MoiKrug.ru (Яндекс)

IRR.ru («Из рук в руки»)

rabota.ru, price.ru, webalta.ru, РБК, Мастерхост, 
Информ­мобил, ...

PostgreSQL: промышленная разработка баз данных. Лекция 1

Кто использует: Россия

udaff.com

PostgreSQL: промышленная разработка баз данных. Лекция 1

PostgreSQL: родословная

2007

PostgreSQL: промышленная разработка баз данных. Лекция 1

INGRES (1974 – н. в.)

University of California, Berkeley – Michael 
Stonebraker

Открытая система (BSD)

К 1980 распространено ~1000 копий

Собственный язык QUEL

PostgreSQL: промышленная разработка баз данных. Лекция 1

POSTGRES (1985 – 1993)

University of California, Berkeley – Michael 
Stonebraker
Открытая система (BSD)
Изменённая модель данных (объектно­
реляционная)

Расширяемость

Управление данными, объектами и знаниями

Язык POSTQUEL

PostgreSQL: промышленная разработка баз данных. Лекция 1

PostgreSQL (1995 – н. в.)

1994: Выпускники Berkley Andrew You & Jolly 
Chen
1995: POSTQUEL —> SQL; Postgres95; 
сообщество

1996: PostgreSQL

1997: «слоны могут помнить», логотип

PostgreSQL Global Development Group

PostgreSQL: промышленная разработка баз данных. Лекция 1

11 лет развития PostgreSQL
1997

...1995 – «прошлая жизнь» (Postgres)

1996...1998 – стабильность

1998...2001 – стандарт SQL

2001...н. в. – выход на уровень Enterprise

производительность

простота администрирования

24/7

множество проектов «вокруг»

PostgreSQL: промышленная разработка баз данных. Лекция 1

2007

PostgreSQL 8.3

Более 280 патчей

Десятки разработчиков из 18 стран

15 месяцев разработки и тестирования

PostgreSQL: промышленная разработка баз данных. Лекция 1

PostgreSQL: основные понятия,
возможности и ограничения

PostgreSQL — объектно­реляционная система 
управления базами данных
Модель «клиент/сервер»: PostgreSQL­сессия — 
совместная работа двух процессов:

серверный процесс (postgres)
клиентский процесс (psql, GUI­приложение, веб­
сервер, утилиты обслуживания и т. д.)

PostgreSQL: промышленная разработка баз данных. Лекция 1

ACID

Основной принцип работы системы — ACID:

Atomicity

Consistency

Isolation

Durability

PostgreSQL: промышленная разработка баз данных. Лекция 1

MVCC

Multiversion Concurrency Control (MVCC) 
используется для организации транзакций
Чтение и запись не конфликтуют!
Конфликт только при конкурентных операциях 
записи

PostgreSQL: промышленная разработка баз данных. Лекция 1

PostgreSQL – реляционная система

Основные понятия реляционной теории:

тип данных

домен

атрибут

схема отношения 

схема базы данных

кортеж

отношение

PostgreSQL: промышленная разработка баз данных. Лекция 1

PostgreSQL – реляционная система.
Термины, применяемые на практике

Основные понятия реляционной теории:

тип данных

домен

атрибут — столбец

Кроме того:
Кластер (cluster) — 
коллекция баз данных
Схема (schema) группа 
объектов БД, 
пространство имён

схема отношения

схема базы данных

кортеж — строка (tuple — версия строки в хранилище)

отношение — отношение, таблица 

PostgreSQL: промышленная разработка баз данных. Лекция 1

PostgreSQL – реляционная система.
Фундаментальные свойства отношений

Отсутствие кортежей­дубликатов

Отсутствие упорядоченности кортежей

Отсутствие упорядоченности атрибутов

Атомарность значений атрибутов
... на практике реально «в силе» только второе свойство

PostgreSQL: промышленная разработка баз данных. Лекция 1

PostgreSQL – реляционная система.
Реляционная модель данных

(1) Структурная часть модели

(2) Манипуляционная часть модели

нормализованное n­арное отношение — таблица
реляционная алгебра, реляционное исчисление — 
SQL

(3) Целостная часть

целостность сущности — PK

ссылочная целостность — FK

PostgreSQL: промышленная разработка баз данных. Лекция 1

Литература

PostgreSQL Reference Manual - Volume 1: SQL Language
Reference ―
The PostgreSQL Global Development Group, 2007.
Дейт, К.. Введение в системы баз данных. 7-е изд. ― М., СПб.:
Вильямс, 2000.
Кузнецов, С. Д. Основы баз данных ― М.: Интернетуниверситет
информационных технологий, http://intuit.ru, 2005.
Бартунов О. Что такое PostgreSQL? // Корпоративные базы
данных-2005
― М.: ЦИТ, 2005.
http://www.citforum.ru/database/postgres/what_is/

PostgreSQL: промышленная разработка баз данных. Лекция 1

Литература:
рекомендации для данной лекции

PostgreSQL Reference Manual — Preface, Part I
Дейт, К.. Введение в системы баз данных — Главы 1-8
(внимание: гл. 3, 4, 5, 6, 8)
Кузнецов, С. Д. Основы баз данных — Лекции 1-5 (внимание:
лекция 2)
Бартунов О. Что такое PostgreSQL? ― Полностью

PostgreSQL: промышленная разработка баз данных. Лекция 1

Контакты

nikolay@samokhvalov.com

Blog: http://nikolay.samokhvalov.com

XMPP/GTalk: samokhvalov@gmail.com

Skype: samokhvalov & postgresmen

+7 905 783 9804

PostgreSQL: промышленная разработка баз данных. Лекция 1

Sign up to vote on this title
UsefulNot useful