В PostgreSQL есть два типа данных: JSON и JSONB. Первый формат является текстовым хранилищем, в котором json хранится "as is", второй — бинарным, в нем ключи отсортированы (сначала по длине ключа, а потом по его названию), дубликаты удалены, а пробелы удалены. Этот SQL-запрос иллюстрирует различие между JSON и JSONB:
Рубрика «postgres» - 3
Борьба с TOAST или будущее JSONB в PostgreSQL
2022-01-23 в 21:26, admin, рубрики: high performance, highload, json, jsonb, postgres, postgresql, postgresql performance, toast, Администрирование баз данных, бенчмарки, Блог компании Конференции Олега Бунина (Онтико), высокая производительность, исследования в it, хранилища данныхPostgresso 35 — спецвыпуск: PostgreSQL 14
2021-10-23 в 21:03, admin, рубрики: data bases, dbms, postgres, postgresql, rdbms, базы данных, Блог компании Postgres Professional, рсубд, СУБДПресс-релиз PostgreSQL обширен и основателен. Есть и выжимка (highlights), в которой после бурных обсуждений в рассылках выделили главное.
Статей о 14-й много. Мы смотрели и разрозненные статьи и целые сериалы:
обзоры коммитфестов Павла Лузанова (5 серий),
waiting for PostgreSQL 14 Хуберта 'depesz' Любашевского (18),
микрообзоры Postgres 14 highlights Мишеля Пакье (Michael Paquier) (5),
в блоге Fujitsu OSS (5).
Кроме того есть пространная статья-справочник от HPE: PostgreSQL 14 New Features With Examples (Beta 1).
Начнём со статей, в которых авторы стараются охватить версию 14 в целом. Но перед этим разомнёмся
в облаках и контейнерах
Как мы использовали расширенную статистику Postgres и ускорились в 2850 раз
2021-08-22 в 13:41, admin, рубрики: join, postgres, postgresql, skillfactory, sql, базы данных, Блог компании SkillFactory, оптимизация, планировщик, Программирование, производительность, Разработка веб-сайтов, Серверная оптимизацияВ этом переводе к старту курса по Fullstack-разработке на PythonЧитать полностью »
Postgresso 26
2020-11-13 в 10:16, admin, рубрики: data bases, dbms, postgres, postgresql, базы данных, Блог компании Postgres Professional, рсубд, СУБД
Жизнь продолжается. А мы продолжаем знакомить вас с самыми интересными новостями PostgreSQL.
Напоминаем о неписанном правиле сообщества: в Core Team не должно быть большинство из одной компании. После слияния-поглощения EDB 2ndQuadrant 3 из 5 участников Основной Команды оказались коллегами по EDB. К счастью, никого не сократили, а добавили двух достойных: Андреса Фройнда (Andres Freund, Microsoft, Citus) и Джонатана Каца (Jonathan Katz, Crunchy Data).
Любимые области Андреса Фройнда: репликация, производительность и масштабируемость (смотрите три недавние статьи на эту тему, ссылки в нашем разделе Статьи. Производительность), хранение.
Джонатан Кац (Jonathan Katz, Crunchy Data) занимался патчами и ревью, но больше концентрировался на разработке и поддержке сайта, выпуске релизов и прочей сопутствующей, но необходимой деятельности. Он вообще важный человек: председатель совета директоров Ассоциации PostgreSQL в США (United States PostgreSQL Association) и директор Ассоциации PostgreSQL-сообщества Канады (PostgreSQL Community Association of Canada), которая выступает как юридическое лицо сообщества.
Прекрасное, взвешенное решение. Впрочем, не все с этим согласны: Альваро Эрнандес (Álvaro Hernández Tortosa — если полностью) поздравил новоизбранных (непонятно кем и непонятно как — по его мнению) и предложил задуматься над следующими 10 проблемами управления сообществом:
Влияние компаний:
- 40% из Core Team были из одной компании, теперь — 43%, 71% из двух;
- 100% из всего лишь 4 компаний.
Многообразие (diversity):
- 100% это белые мужчины;
- 100% из США или Европы;
- все кроме одного работают в американских компаниях.
Демократия:
- членов Core Team назначают члены Core Team;
- срок неограничен, четверо являются членами уже больше 15 лет.
Прозрачность:
- процессы выбора членов и кандидатов, критерии выбора и пр. — суть большой секрет;
- заседания секретны;
- стратегии (policies) объявляются, а не обсуждаются в сообществе.
Здоровье индексов в PostgreSQL глазами Java-разработчика
2020-03-03 в 11:00, admin, рубрики: bloat, index, java, open source, pg_repack, postgres, postgresql, sql, Администрирование баз данныхПривет.
Меня зовут Ваня, и я Java-разработчик. Так получилось, что я много работаю с PostgreSQL – занимаюсь настройкой БД, оптимизацией структуры, производительностью и немного играю в DBA по выходным.
За последнее время я привёл в порядок несколько баз данных в наших микросервисах и написал java-библиотеку pg-index-health, которая облегчает эту работу, экономит моё время и помогает избежать некоторых типовых ошибок, допускаемых разработчиками. Именно об этой библиотеке сегодня и пойдёт речь.
Disclaimer
Основная версия PostgreSQL, с которой я работаю, это 10-ка. Все используемые мною SQL-запросы также проверены на 11-й версии. Минимальная поддерживаемая версия — это 9.6.
Предыстория
Началось всё почти год назад со странной для меня ситуации: конкурентное создание индекса на ровном месте завершилось с ошибкой. Сам индекс, как водится, в невалидном состоянии остался в базе. Анализ логов показал нехватку temp_file_limit. И понеслось… Копнув поглубже, я обнаружил целый ворох проблем в конфигурации БД и, засучив рукава, с блеском в глазах принялся их чинить.
Postgresso 18
2020-02-17 в 10:49, admin, рубрики: data base, data bases, dbms, postgres, postgresql, базы данных, Блог компании Postgres Professional, СУБД
После паузы (отпуск), продолжаем знакомить вас с самыми интересными новостями по PostgreSQL. Не будем придерживаться здесь строго отображения всех релизов и событий, произошедших после последнего, еще октябрьского выпуска Postgresso #17, но важнейшее, произошедшее ещё в конце 2019 всё же постараемся упомянуть.
Релизы
PostgreSQL 12.2
А также 11.7, 10.12, 9.6.17, 9.5.21, и 9.4.26 увидели свет 13 февраля. Последняя в списке и есть последняя: 27-й уже не будет. В 12.2 исправлено огромное количество (более 70) багов, обнаруженных в 12.1. Из них многие в секционировании.
Решили проблемы с правами в конструкции ALTER… DEPENDS ON EXTENSION. В 12.1 обладатели прав на DROP EXTENSION могли расправляться с объектами, зависимыми от этого расширения.
Улучшили производительность parallel hash join для процессоров с большим количеством ядер и для hash join с очень большими таблицами.
Postgres Pro Standard 12.1.1
Эта версия вышла в конце декабре 2019 и основана, соответственно, на PostgreSQL 12.1. Об особенностях этой версии можно прочитать в этой статье. Там подробно и с примерами рассматриваются:
— проверка версий ICU;
— оптимизация блокировок, джойнов и GROUP BY;
— поддержка PTRACK;
— WaitLSN;
и многое другое.
Читать полностью »
Как в Солнечной галактике Clickhouse выбирали
2020-01-29 в 6:00, admin, рубрики: clickhouse, cstore, elastic, postgres, Администрирование баз данных, базы данных, партиционирование, ПрограммированиеДавным-давно, в далёкой-далёкой Солнечной галактике, ещё до того, как она стала частью вселенной Ростелеком, в небольшом продукте webProxy возникла потребность не только фильтровать сетевой трафик, но и строить по нему статистику с последующим ее хранением. На тот момент колоночные БД ещё не были так популярны, как сейчас. Единственным подходящим аналогом оказалась платная БД HP Vertica. Как в Солнечной галактике решили эту задачу и к чему в итоге пришли, расскажем под катом.
Доставку заказывали? Как «Перекрёсток» доставляет 6000 заказов в день
2020-01-16 в 13:19, admin, рубрики: kotlin, postgres, rabbit mq, swift, wms, Блог компании X5 Retail Group, витрина, доставка, мобильная разработка, разработка, разработка мобильных приложенийЛюди любят доставку. За небольшую плату ты покупаешь возможность получить нужные товары, не выходя из дома: еду из любимого ресторана, крупногабаритную мебель, книгу, которую хотел давно прочитать, да и вообще — что угодно. И рост числа сервисов по быстрой доставке всего на свете только подтверждает этот тезис. Да и для магазинов это плюс — запартнёрился с любой доставкой товаров до двери и увеличил свой чек.
У нас в «Перекрёстке» есть собственная доставка. Для человека со стороны процесс доставки из магазина до дома выглядит примерно так:
- Выбрал что-то на сайте и положил в корзину.
- Ввёл адрес и оплатил заказ.
- Магазин быстро отдал заказ курьеру.
- Курьер доставил заказ.
На самом деле, всё немного сложнее. Меня зовут Виталий, я руководитель отдела разработки, и сегодня я расскажу, как у нас всё работает. И на чём.
Вышла Postgres Pro Standard 12.1
2019-12-25 в 7:15, admin, рубрики: data base, data bases, postgres, Postgres Pro, postgresql, базы данных, Блог компании Postgres Professional, СУБДСУБД Postgres Pro Standard придумана для того, чтобы доставлять наши разработки пользователям быстрее, чем мы можем это сделать через PostgreSQL. Те фичи, которые еще не вошли в PostgreSQL, но находятся на твердом пути туда, мы включаем в Postgres Pro Standard. Также в Postgres Pro Standard входят некоторые расширения, которые востребованы нашими клиентами, но отсутствуют в обычной поставке PostgreSQL.
Иногда бывают исключения, когда в Postgres Pro Standard по просьбам юзеров и для их удовлетворения включаются и менее тривиальные фичи, которым по-хорошему место только в Postgres Pro Enterprise. В частности, это PTRACK, о нём ниже.
Не все, но изрядная доля дополнительных расширений и утилит, входящих в Standard, разработана в Postgres Professional. Все патчи Postgres Pro придуманы и реализованы нашими силами. Начнем с улучшений, потребовавших вмешательства в ядро СУБД.
Читать полностью »