The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Вышла первая бета-версия СУБД PostgreSQL 9.2

15.05.2012 15:48

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

Ключевые улучшения:

  • Поддержка типа данных JSON и встроенные средства для манипулирования данными в формате JSON, что позволяет создавать гибридные документо-реаляционные базы данных. Дополнительно представлен набор сопутствующих функций для преобразования массивов и строк в JSON-представление;
  • Новые типы для определения диапазонов (INT4RANGE, INT8RANGE, NUMRANGE, TSRANGE, TSTZRANGE и DATERANGE), которые могут быть использованы в календарях, временных рядах и аналитических приложениях;
  • Расширение возможностей оператора ALTER, упрощающих изменение и обновление структуры работающей БД. Снижение числа ситуаций, когда необходимо перестроение индексов и таблиц при выполнении ALTER TABLE. Поддержка выражения "IF EXIST", позволяющего игнорировать действие если элемент не существует (например, "ALTER FOREIGN TABLE IF EXISTS foo RENAME TO bar"). Добавлены выражения: ALTER FOREIGN DATA WRAPPER / RENAME, ALTER SERVER / RENAME, ALTER DOMAIN / RENAME;
  • Поддержка каскадных репликаций, при которых допускается репликация между slave-серверами (ранее slave-сервер мог получать данные только от master-сервера). Возможность создания территориально распределённых реплицированных резервных БД;
  • Включение в поставку утилиты pg_receivexlog для архивирования изменений в файлах xlog по мере записи данных, не дожидаясь окончания полного формирования xlog-файла;
  • Многочисленные оптимизации производительности, в том числе:
    • Режим сканирования только по индексам при котором scan-операции манипулируют только содержимым индекса, не обращаясь к базовым таблицам;
    • Расширены возможности масштабирования работающих только на чтение конфгураций, поддерживается задействование до 64 процессорных ядер и обеспечения производительности на одном сервере на уровне 300 тысяч запросов в секунду;
    • Ускорены операции записи данных, включая выполнение групповых коммитов;
    • Снижена нагрузка на CPU.


  1. Главная ссылка к новости (http://permalink.gmane.org/gma...)
  2. OpenNews: Первый номер журнала PostgreSQL Magazine
  3. OpenNews: Релиз СУБД PostgreSQL 9.1
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/33851-postgresql
Ключевые слова: postgresql
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (39) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, iCat (ok), 16:17, 15/05/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    Да простится мне моя невежественность!
    А возможно ли ожидать от postgresql при работе с 1Сv8 блокирования аналогично MSSQL?
     
     
  • 2.3, кверти (?), 16:38, 15/05/2012 [^] [^^] [^^^] [ответить]  
  • +3 +/
    нет, потому что разная архитектура - постгрес версиооник, а мсскл блокировочник
     
     
  • 3.6, Forth (??), 16:43, 15/05/2012 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > нет, потому что разная архитектура - постгрес версиооник, а мсскл блокировочник

    Вы уверены в сказанном?

     
     
  • 4.9, кверти (?), 16:59, 15/05/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    уверен
     
     
  • 5.11, Forth (??), 17:14, 15/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    1. Начиная с MS SQL 2005 уже есть версионность, какая-никакая.
    2. 1С приделала еще один режим блокировок в своем сервере приложений, как раз позволяющий работать правильно с версионниками.
     
     
  • 6.13, Аноним (-), 17:21, 15/05/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Мне 2-х лет хватило. Больше не возникает желания работать с MSSQL. Тогда еще 7-я версия была и следующая, уже не помню версию. Не думаю, что синтаксис хранимых процедур с тех пор стал лучше. Как помнится. Очень медленно работали функции с переменными таблицами. Приходилось постоянно использовать временные таблицы при вызове одной процедуры в другой вместо тривиального select * from func().
     
     
  • 7.17, Аноним (17), 19:05, 15/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Мне хватило одного раза, когда пришлось изменять структуру таблиц делая из простых полей первичные ключи.
     
  • 7.27, Kodirr (?), 11:27, 16/05/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Хранимки - это пережиток прошлого, когда кто-то очень "умный" думал, что при помощи SQL можно делать приложения. Из личного примера: СУБД использую исключительно для хранения таблиц и вьюшек. Всё остальное (защита, проверки) делается на уровне сервера приложений. Ну, FK само собой существуют! :) Поэтому перенос такой базы или апгрейд сервера практически ничего не затрагивает. Рекомендую.
     
     
  • 8.30, Ы (?), 18:28, 16/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Ути пусичка Если в твоём мухостранске жтого нет - оно нигде не надо Ну дак а... текст свёрнут, показать
     
     
  • 9.40, AlexAT (ok), 09:35, 20/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Телекомовцы на MSSQL смотрят не просто косо, а очень косо - это раз Два - как р... текст свёрнут, показать
     
  • 8.34, Аноним (-), 20:28, 16/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Уберите детей с форума Во первых никто кроме вас не думал что на SQL можно дела... текст свёрнут, показать
     
  • 8.37, mf (ok), 21:56, 16/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Тогда непонятно зачем Вам субд Вы на диск писать не умеете Поддержка целостнос... текст свёрнут, показать
     
  • 7.36, mf (ok), 21:41, 16/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >>вместо тривиального select * from func().

    Не могли бы Вы рассказать о СУБД, в которых из процедуры можно вернуть что-то, имеющее отношение к множествам и отличное от курсора.
    У Вас даже имя процедуры как бы намекает на непонимание разницы между функциями и процедурами.

     
  • 6.20, Аноним239 (?), 23:27, 15/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Начиная с MS SQL 2005 уже есть версионность, какая-никакая.

    Никакая.
    >2. 1С приделала еще один режим блокировок в своем сервере приложений, как раз позволяющий работать правильно с версионниками.

    *35673 строки матов о том КАК они это сделали вырезаны цензурой.*

     
  • 2.4, Forth (??), 16:40, 15/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Только в режиме "управляемых блокировок".
     
  • 2.5, ENik (?), 16:41, 15/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    После перехода на управляемый режим блокировок в 1С82, блокировками управляет сервер 1С. В таком режиме даже при работе на PostgresSQL излишних блокировок нет.
     
     
  • 3.25, Ъ (?), 08:47, 16/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Фраза построена так,будто в PostgresSQL есть какие-то 'лишние' блокировки. Это в версионнике то)
    Писать бы стоило,что в таком режиме ядро одинэса не создает ненужных блокировок.Ну или что создает только нужные.

     
  • 2.7, Levis (?), 16:49, 15/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Включите управляемый режим блокировок 1с:Предприятие и будет Вам счастье
     
     
  • 3.12, Forth (??), 17:15, 15/05/2012 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Включите управляемый режим блокировок 1с:Предприятие и будет Вам счастье

    И допишите нужный код везде, где требуются блокировки, часто надо перелопатить полконфигурации :)

     
  • 2.14, FractalizeR (ok), 17:42, 15/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще-то к Постгрессу это отношение не имеет. 8.2 имеет управляемые блокировки и практически все стандартные конфигурации их уже используют. С управляемыми блокировками Постгресс работает аналогично MS SQL, не блокируя таблицы целиком.
     
  • 2.21, AleksK (ok), 23:33, 15/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Только MS SQL и DB2 поддерживают автоматические блокировки. Но это далеко не лучший вариант, поэтому новые конфигурации для 1С пишутся с использованием управляемых блокировок уже на уровне платформы что гораздо эффективнее. Из уже готовых конфигураций ручные блокировки используют Бухгалтерия 2 и Управление торговлей 11. Так что обновляйтесь и будет вам счастье.
     

  • 1.2, Нету имени (?), 16:19, 15/05/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    Замечательно ! Плотно разработка идёт. Очень радует, что есть ТАКИЕ опенсурс решения.
     
     
  • 2.18, Аноним (-), 19:37, 15/05/2012 [^] [^^] [^^^] [ответить]  
  • +4 +/
    А также радует что есть Enterprise DB, которая такие замечательные продукты внедряет и поддерживает.
     

  • 1.8, Guest (??), 16:54, 15/05/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Мне пакеты (как в Oracle) нужны. Даже без шифрования.
    Для объединения процедур/функций/констант/переменных и т.д. внутри одной сущности.

    Интересно, когда-нибудь их сделают.....

     
     
  • 2.15, Аноним (-), 18:08, 15/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    сделай отдельную схему и объединяй там что хочешь
     
     
  • 3.22, Аноним (-), 00:59, 16/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Отмазка. Пакетные переменные (производительность), инициализация пакета (гибкость), не в курсе? Элементарно поиск по пакету (одному файлу) гораздо проще чем по куче отдельных функций, типов и т.п. Ну и необходимость жесткого указания имени схемы перед именем любого ее объекта (да, да, перед всеми таблицами во from и т.п.) тоже доставляет :)
     
     
  • 4.24, sybasesql (ok), 04:59, 16/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    set search_path никто не отменял
     
     
  • 5.31, Аноним (-), 19:48, 16/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    если у меня из одного пакета вызываются функции другого то search_path надо перестраивать перед каждым вызовом? :) (при условии что внутри схемы, объекты в запросах, например таблицы той же схемы, или функции, не содержат префикса в виде имени этой схемы)
     
  • 5.33, Аноним (-), 20:08, 16/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > set search_path никто не отменял

    А хоть какой нить аналог пакетных переменных есть? Простая задача - хочу общий набор переменных/констант, единый для нескольких функций, ну естественно чтобы при исполнении эти значения были рядом (производительность) а не лезть каждый раз в таблицу. Как?

     
  • 4.26, Аноним (-), 11:04, 16/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    В вашей СУБД, где есть все эти пакетики и т.п., нет никакого поиска по одному файлу. Внутри всё хранится точно так же, в обычных таблицах БД разбитое на множество записей и хз (условно) где физически локализованно. Разницы в физическом представлении здесь практически нет.

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

    > Ну и необходимость жесткого указания имени схемы перед именем любого ее объекта (да, да, перед всеми таблицами во from и т.п.) тоже доставляет :)

    Всё зависит от способа проектирования приложения для СУБД. Эти "неприятности" тоже преодолимы, жёстко всё указывать не является необходимостью.

     
     
  • 5.32, Аноним (-), 19:56, 16/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Да я не говорю что он не юзабельный, приходится юзать, только пакеты реально лучше, логичнее и функциональнее чем этот костыль, и не надо говорить что желание программиста иметь в среде пакеты (модули) это бешение с жиру :)

    > жёстко всё указывать не является необходимостью

    см. ветку выше

     
  • 5.38, Аноним (-), 22:22, 16/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Разницы в физическом представлении здесь практически нет

    В физическом ее нигде нет, все 0 да 1 :) А вот с точки зрения конечного программиста, в оракле я открываю пакет, для меня это единый кусок текста, как модуль, с описанием интерфейса, общих переменных, типов, структур и т.п, и элементарно по всему нему Ctrl+F. А что в слоне? как по схеме искать? sql дамп делать и по нему? такое хоть в какомнить фронтенде сделано? (и не надо тут в очередной раз отмазываться что это не проблема слона, он рулит - ему и отвечать)

     

  • 1.10, Аноним (-), 17:07, 15/05/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    А я хочу в оракле объект назвать длиной более 200 символов, когда это сделаю?
     
     
  • 2.16, Алексей (??), 18:44, 15/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    The system uses no more than NAMEDATALEN-1 bytes of an identifier; longer names can be written in commands, but they will be truncated. By default, NAMEDATALEN is 64 so the maximum identifier length is 63 bytes. If this limit is problematic, it can be raised by changing the NAMEDATALEN constant in src/include/pg_config_manual.h.

    http://www.postgresql.org/docs/8.3/static/sql-syntax-lexical.html

     

  • 1.19, Аноним (-), 21:59, 15/05/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    поддержка JSON - жду не дождусь
     
  • 1.23, jOKer (ok), 02:43, 16/05/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Уууу... поддержка JSON - это весч! С этим можно мноооого хорошего наворотить. Молодцы разработчики, респект!
     
     
  • 2.28, Kodirr (?), 11:29, 16/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Уууу... поддержка JSON - это весч! С этим можно мноооого хорошего наворотить.

    Я тоже плотно использую JSON, но только на уровне приложения. А чего хорошего он даст на уровне записей??

     
     
  • 3.29, 17 (??), 17:26, 16/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Я так понимаю, это элементы NoSQL. Как возможная альтернатива MongoDB итд
     
  • 3.39, Анонимчег (?), 15:25, 18/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Можно нативно хранить произвольные данные (раньше тоже можно было, но приходилось сериализовать в текстовое поле).

    Можно делать выборки с произвольными данными - эта штука гораздо полезнее. Можно при определенных условиях отдавать в выборке разные поля в JOSN

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру