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

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

Upload: nikolay-samokhvalov

Post on 11-Apr-2015

979 views

Category:

Documents


4 download

TRANSCRIPT

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

PostgreSQL: промышленнаяразработка баз данных

Лекция 1

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

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

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

PostgreSQL – это...

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

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

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

PostgreSQL – это...

PostgreSQL произносится как post-gress-Q-L

В разговоре часто употребляется postgres

(пост-гресс).

Также, употребляется сокращение

pgsql (пи-джи-эс-ку-эл).

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

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

PostgreSQL: функциональность

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

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

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

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

Макс. размер БД — нет ограничения Макс. размер таблицы — 32 TB Макс. размер строки — 1.6 TB Макс. размер поля — 1 GB Макс. кол­во строк в таблице — нет ограничения Макс. кол­во столбцов в таблице — 250..1600 Макс. кол­во индексов — нет ограничения

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

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, ... ...расширяемость ...быстродействие

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

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

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

SkypeSkype 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.comWe 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

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

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

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

Рамблер 1C:Предприятие (наряду с MS SQL Server) MirTesen.ru — уже 8.3!

MoiKrug.ru (Яндекс) IRR.ru («Из рук в руки») rabota.ru, price.ru, webalta.ru, РБК, Мастерхост, Информ­мобил, ...

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

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

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

udaff.com

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

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

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

2007

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

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

INGRES (1974 – н. в.)

University of California, Berkeley – Michael Stonebraker

Открытая система (BSD) К 1980 распространено ~1000 копий Собственный язык QUEL

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

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

POSTGRES (1985 – 1993)

University of California, Berkeley – Michael Stonebraker

Открытая система (BSD) Изменённая модель данных (объектно­реляционная)

Расширяемость Управление данными, объектами и знаниями Язык POSTQUEL

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

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

PostgreSQL (1995 – н. в.)

1994: Выпускники Berkley Andrew You & Jolly Chen

1995: POSTQUEL —> SQL; Postgres95; сообщество

1996: PostgreSQL 1997: «слоны могут помнить», логотип PostgreSQL Global Development Group

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

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

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

...1995 – «прошлая жизнь» (Postgres) 1996...1998 – стабильность 1998...2001 – стандарт SQL 2001...н. в. – выход на уровень Enterprise

производительность простота администрирования 24/7 множество проектов «вокруг»

1997

2007

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

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

PostgreSQL 8.3

Более 280 патчей Десятки разработчиков из 18 стран 15 месяцев разработки и тестирования

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

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

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

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

Модель «клиент/сервер»: PostgreSQL­сессия — совместная работа двух процессов: серверный процесс (postgres) клиентский процесс (psql, GUI­приложение, веб­сервер, утилиты обслуживания и т. д.)

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

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

ACID

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

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

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

MVCC

Multiversion Concurrency Control (MVCC) используется для организации транзакций

Чтение и запись не конфликтуют! Конфликт только при конкурентных операциях записи

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

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

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

Основные понятия реляционной теории: тип данных домен атрибут схема отношения  схема базы данных кортеж отношение

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

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

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

Основные понятия реляционной теории: тип данных домен атрибут — столбец схема отношения схема базы данных кортеж — строка (tuple — версия строки в хранилище)

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

Кроме того:Кластер (cluster) — коллекция баз данных

Схема (schema) группа объектов БД, пространство имён

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

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

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

Отсутствие кортежей­дубликатов Отсутствие упорядоченности кортежей Отсутствие упорядоченности атрибутов Атомарность значений атрибутов

... на практике реально «в силе» только второе свойство

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

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

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

(1) Структурная часть модели нормализованное n­арное отношение — таблица

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

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

целостность сущности — PK ссылочная целостность — FK

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

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/

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

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

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

● PostgreSQL Reference Manual — Preface, Part I

● Дейт, К.. Введение в системы баз данных — Главы 1-8 (внимание: гл. 3, 4, 5, 6, 8)

● Кузнецов, С. Д. Основы баз данных — Лекции 1-5 (внимание: лекция 2)

● Бартунов О. Что такое PostgreSQL? ― Полностью

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

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

Контакты

[email protected]

● Blog: http://nikolay.samokhvalov.com

● XMPP/GTalk: [email protected]

● Skype: samokhvalov & postgresmen

● +7 905 783 9804