Что нового в PostgreSQL 8.3? PostgreSQL 8.4 Олег Бартунов Российское сообщество пользователей PostgreSQL, PostgreSQL Global Developmen Group, PostgreSQL.

Презентация:



Advertisements
Похожие презентации
1 Основы SQL: MySQL Будем использовать MySQL СУБД с открытым кодом Бесплатная версия (Community Edition) – на В Linux-дистрибутивах.
Advertisements

Введение в SQL (НЕ select) Затрагиваемые темы Роль языка SQL. Части SQL Роль языка SQL. Части SQL Администрирование БД: привилегии (DCL) Администрирование.
Обеспечение целостности данных Процедурное. Хранимые процедуры Хранимые процедуры пишутся на специальном встроенном языке программирования, они могут.
Лекция 27 Лекция 27 Идентификация пользователей. Проверка и назначение полномочий и представлений данных пользователей. Защита базы данных. Контроль параллельной.
СУБД Access Запросы Автор: Тутыгин В.С.. Назначение запросов Запросы обеспечивают простой доступ к определенному подмножеству записей одной или нескольких.
ASE 12.0 Эволюция продуктов ASE for Linux поддержка jConnect ASE 12.0 Распределенные транзакции Java/XML в БД Enterprise Event Broker Обработка событий.
ОПТИМИЗАЦИЯ SQL. Чем дальше от начала разработки обнаруживается неэффективность приложения, тем дороже она обходится Время Стоимость ПроектированиеРазработка.
История развития языка SQL Structured Query Language ɛ skju ɛ l ɛ skju ɛ l или si:kwəlsi:kwəl DML (Data Manipulation Language) DDL (Data Definition Language)
Администрирование и безопасность MySQL. Создание и удаление пользователей Под учетной записью пользователя MySQL подразумевается строка в таблице user.
БАЗЫ ДАННЫХ ЛЕКЦИЯ 12. тема: ОСНОВЫ ЯЗЫКА SQL Общие сведения SQL структурированный язык запросов (Structured Query Language)
Язык SQL Последовательности Представления Индексы.
Глава 31 Глава 3 Начало работы Конфигурационное управление с применением ClearCase Начало работы.
Администрирование информационных систем Администрирование БД. Управление разрешениями.
PL/SQL Курсоры в PL/SQL Неявные курсоры создаются PL/SQL неявно для всех команд DML и SELECT. Явные курсоры объявляются программистом, который присваивает.
Использование индексов. Планирование индексов Создание индексов XML-индексы.
Поисковые движки. Sphinx Search Engine. Докладчик: Роман Кудлай
Языки манипулирования данными. Общая характеристика Язык, в котором можно (по крайней мере) моделировать исчисление с переменными- кортежами, либо, что.
Соколова В. В. Поддержка баз данных в РНР. Соколова В. В. Лаб 6 Работа с базами данных в РНР В РНР реализована обширная поддержка практически всех существующих.
5.2. Представление о мире (VIEW)Представления предназначены для сохранения результатов выполнения запросов в виде таблиц. В отличие от хранимых процедур.
Лекция 3 Домены Ограничения на значения столбцов Создание, изменение и удаление таблиц Ключи и ссылочная целостность Защита таблиц.
Транксрипт:

Что нового в PostgreSQL 8.3? PostgreSQL 8.4 Олег Бартунов Российское сообщество пользователей PostgreSQL, PostgreSQL Global Developmen Group, PostgreSQL Major Developer Николай Самохвалов Российское сообщество пользователей PostgreSQL, ООО «Постгресмен» 2008 – удачный год для начала использования PostgreSQL Об успешном будущем, фундамент которого создаётся уже сегодня

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

Что нового в PostgreSQL 8.34 Производительность Разработчикам баз данных Администраторам баз данных Проекты сторонних разработчиков Новое PostgreSQL 8.3

Что нового в PostgreSQL 8.35 Производительность

Что нового в PostgreSQL 8.36 Summer 2007: The 1 st PostgreSQL Enterprise-level Benchmark (SPEC * ) PostgreSQL 8.2 – JOPS SPECjAppServer2004 2x Sun Fire X4200 appservers (8 cores, 4 chips) and 1 Sun Fire T2000 DB server (8 cores, 1 chips) with PostgreSQL HW: ~$65,000; SW: $0 Josh Berkus: «...a good day for Open Source» *) SPEC – Standard Performance Evaluation Corporation, Oracle 10g – JOPS SPECjAppServer HP rx2660 appserver (4 cores, 2 chips) and 1 rx2660 DB server (4 cores, 2 chips) with Oracle Database 10g Enterprise Edition Release HW: ~$74,000; SW: ~$110,000 Экономия $ для каждого сервера БД без потери производительности!

Что нового в PostgreSQL 8.37 Индексы: GiST и GIN (Фёдор Сигаев, Олег Бартунов) GiST GIN

Что нового в PostgreSQL 8.38 HOT (Heap Only Tuples) При обновлении (UPDATE) индекс не меняется, если: UPDATE не затрагивает проиндексированные столбцы, новая версия строки записывается на той же странице данных (heap). «Моментальное» повторное использование места в heap без ожидания процесса VACUUM.

Что нового в PostgreSQL 8.39 Обновление без HOT Heap Page 8kb Page HeaderItem1 PtrItem2 PtrItem3 Ptr Item 2: row #1, v2Item 1: row #1, v1 Item 3: row #1, v3 123 Index

Что нового в PostgreSQL HOT-обновление Heap Page 8kb Page HeaderItem1 PtrItem2 PtrItem3 Ptr Item 2: row #1, v2 Item 3: row #1, v3 1 Index 2

Что нового в PostgreSQL Asynchronous Commit SET synchronous_commit TO OFF; Позволяет отложить fsync на небольшое время (COMMIT без ожидания fsync) возможна потеря небольшой порции данных (порядка сек) нарушение целостности данных невозможно! (в отличие от fsync=off )

Что нового в PostgreSQL Надёжность производительности

Что нового в PostgreSQL Сглаживание контрольных точек (checkpoint smoothing) «Размазывание» процесса checkoint во времени, уменьшение интенсивности I/O-операций. Работает только для background checkpoints (при выключении сервера и явном выполнении команды CHECKPOINT – полная скорость I/O-операций).

Что нового в PostgreSQL Устройство PostgreSQL

Что нового в PostgreSQL Synchronized Scans Позволяет процессу «подсесть» к уже выполняющейся операции SeqScan другого процесса Сессия 1 Сессия 2 синхронизированный просмотр

Что нового в PostgreSQL Кроме того Autovacuum включён по умолчанию Несколько параллельных процессов autovacuum Экономия пространства (varvarlena) VARLENA-значения менее 128 байт: 1 байт вместо 4! заголовок строки: 24 байта вместо 27! При «читающих» транзакциях xid не меняется меньше записей в pg_clog! Автонастройка bgwriter ORDER BY... LIMIT без полной сортировки («Top N» sorting)

Что нового в PostgreSQL Пример перехода с 8.2 на 8.3 OLTP-система TPS 10% транзакций модификация данных

Что нового в PostgreSQL Разработчикам баз данных

Что нового в PostgreSQL Полнотекстовый поиск contrib/tsearch2 --> ядро системы Новый синтаксис Упрощённое создание индекса (без триггера) Простая миграция и апгрейд версии PostgreSQL с (8.3 на следующие версии)

Что нового в PostgreSQL Полнотекстовый поиск CREATE TEXT SEARCH DICTIONARY russian_ispell ( TEMPLATE = ispell, DictFile = russian, -- расширение (.dict) добавится автоматически AffFile = russian, StopWords = russian ); ALTER TEXT SEARCH CONFIGURATION utf8_russian ADD MAPPING FOR hword, word WITH russian_ispell, russian_stop; CREATE INDEX i_person__tsvector ON person USING gin(obj_tsvector); CREATE INDEX i_person__tsvector ON person USING gin(to_tsvector('russian', person_name || person_description));

Что нового в PostgreSQL Полнотекстовый поиск SELECT ts_rank_cd(obj_tsvector, q) AS rank, person_name FROM person, plainto_tsquery('футбол ясенево') q WHERE q obj_tsvector ORDER BY rank DESC LIMIT 50;

Что нового в PostgreSQL Поддержка XML Новый тип данных: xml Стандартные (ISO/ANSI SQL) функции публикации SQL/XML DTD-валидация XPath: функция xpath() (с поддержкой Namespaces) Альтернативные функции экспорта объектов БД в XML B-tree и GIN-индексы для XML-данных, полнотекстовый поиск

Что нового в PostgreSQL Поддержка XML SQL: SELECT XMLROOT ( XMLELEMENT ( NAME some, XMLATTRIBUTES ( val AS name, AS num ), XMLELEMENT ( NAME more, foo ) ), VERSION 1.0, STANDALONE YES ); Результат: foo

Что нового в PostgreSQL Поддержка XML SELECT * FROM table1 WHERE xdata, ARRAY[ARRAY['smpl', ' = '111'; CREATE INDEX i_table1_xdata ON table1 USING btree( xdata, ARRAY[ARRAY['smpl', ' ); SELECT * FROM table1 WHERE ARRAY['111']

Что нового в PostgreSQL Типы данных GUID/UUID enum массивы составных типов

Что нового в PostgreSQL Кроме того Автоматическая инвалидация плана («чистка» кэша функций) Table Function ( RETURN QUERY ) Updatable Cursors ORDER BY NULLS FIRST/LAST (ISO/ANSI SQL) Поддержка NULL-значений в GiST-индексах

Что нового в PostgreSQL Администраторам баз данных

Что нового в PostgreSQL EXPLAIN: больше информации QUERY PLAN Sort (cost= rows=13 width=176) (actual time= rows=6 loops=1) Sort Key: obj2tag.o2t_tag_name Sort Method: quicksort Memory: 18kB -> Hash Join (cost= rows=13 width=176) (actual time= rows=6 loops=1) Hash Cond: (obj2tag.o2t_tag_obj_id = tag.obj_id) -> Bitmap Heap Scan on obj2tag (cost= rows=13 width=172) (actual time= rows=6 loops=1) Recheck Cond: (o2t_obj_obj_id = ) Filter: (obj_status_did = 1) -> Bitmap Index Scan on u_obj2tag_ids (cost= rows=24 width=0) (actual time= rows=24 loops=1) Index Cond: (o2t_obj_obj_id = ) -> Hash (cost= rows=389 width=12) (actual time= rows=389 loops=1) -> Seq Scan on tag (cost= rows=389 width=12) (actual time= rows=389 loops=1) Total runtime: ms (13 rows)

Что нового в PostgreSQL Кроме того contrib/pg_standby – создание Warm Standby (Linux, Windows) Удаление пользователя вместе со всеми принадлежащими ему объектами GSSAPI Улучшенная сборка под Win32 (MS VC++)

Что нового в PostgreSQL Кроме того Оценки стоимости вызовов функций: ALTER FUNCTION log_data(text) COST ROWS 1; Per-function GUC settings: ALTER FUNCTION log_data(text) SET synchronous_commit TO OFF; Создание таблиц по «подобию»: CREATE TABLE dict2 (LIKE dictionary INCLUDING INDEXES);

Что нового в PostgreSQL Проекты-спутники

Что нового в PostgreSQL PL/pgSQL Debugger

Что нового в PostgreSQL Продукты Skype PL/Proxy – прокси-язык для удаленного вызова процедур и партицирования данных между разными базами (sharding) PgBouncer – простой и быстрый менеджер соединений. SkyTools WalMgr Londiste PgQ

Что нового в PostgreSQL Кроме того pgSNMP – SNMP-агент для PostgreSQL (мониторинг) SEPostgres – расширение, основанное на модели SELinux (безопасность) phppgadmin: настройка Slony и полнотекстового поиска, автовакуума Index Advisor

Что нового в PostgreSQL Ссылки Николай Самохвалов. PostgreSQL Документация Feature List PostgreSQL Feature Matrix