Percona Live Open Source Database Conference — одно из главных мероприятий на календаре мира СУБД. Когда-то всё начиналось с разработки одного из форков MySQL, но потом сильно переросло прародителя. И хотя очень многие материалы (и посетители) всё ещё плотно связаны с тематикой MySQL, общий информационный фон стал значительно шире: это и MongoDB, и PostgreSQL, и другие менее популярные СУБД. В этом году «Перкона» стала значительным событием и на нашем календаре: впервые мы принимали участие в этой американской конференции. Как вы наверняка уже знаете, нас очень волнует состояние технологий мониторинга в современном мире. Со сдвигом инфраструктурных парадигм в сторону максимальной гибкости, микросервисов и кластерных решений должны меняться и сопутствующие инструменты и подходы в поддержке. О том, собственно, и был мой доклад. Но для начала хочу рассказать, как вообще попадают на штатовские конференции и какие сюрпризы могут ждать сразу после посадки самолёта.
Читать полностью »
Рубрика «postgresql» - 23
Как я стал докладчиком Percona Live (и несколько интригующих деталей с американской границы)
2019-06-21 в 5:31, admin, рубрики: Conference, ITSumma, mysql, Percona, Percona Live, postgresql, Администрирование баз данных, Блог компании ITSumma, доклад, конференции, конференция, облака, облачные сервисы, СУБДНе очень большие данные
2019-06-19 в 14:16, admin, рубрики: Partitioning, postgresql, sql, Блог компании Postgres Professional, секционированиеВ статье будут рассмотрены возможности, предоставляемые встроенным или декларативным секционированием в 12 версии PostgreSQL. Демонстрация подготовлена для одноименного доклада на конференции HighLoad++Siberia 2019.
Все примеры выполнены на недавно появившейся бета-версии:
=> SELECT version();
version
------------------------------------------------------------------------------------------------------------------
PostgreSQL 12beta1 on i686-pc-linux-gnu, compiled by gcc (Ubuntu 5.4.0-6ubuntu1~16.04.10) 5.4.0 20160609, 32-bit
(1 row)
Рецепты PostgreSQL: планировщик асинхронных задач
2019-06-19 в 11:05, admin, рубрики: postgresql, schedulerДля приготовления планировщика асинхронных задач нам понадобится сам postgres и его расширение pg_task. (Я дал ссылки на свой форк postgres, т.к. делал некоторые изменения, которые пока не удалось пропихнуть в оригинальный репозиторий. Можно также воспользоваться готовым образом.)
Читать полностью »
Рецепты Nginx: асинхронные уведомления из PostgreSQL в websocket
2019-06-19 в 3:12, admin, рубрики: async, nginx, Notify, postgresql, WebSocketДля приготовления асинхронных уведомлений из PostgreSQL в websocket нам понадобится сам nginx и его плагины postgres, push-stream, set-misc. (Я дал ссылки на свои форки, т.к. делал некоторые изменения, которые пока не удалось пропихнуть в оригинальные репозитории. Можно также воспользоваться готовым образом.)
Читать полностью »
Make Your Database Dream of Electric Sheep: Designing for Autonomous Operation
2019-06-18 в 13:17, admin, рубрики: autonomous system, machine learning, mysql, postgresql, Алгоритмы, Анализ и проектирование систем, базы данных, Блог компании Конференции Олега Бунина (Онтико), высокая производительностьКак вы думаете, кто лучше настроит PostgreSQL — DBA или ML алгоритм? И если второй, то пора ли нам задуматься, чем заняться, когда нас заменят машины. Или до этого не дойдет, и важные решения все-таки должен принимать человек. Наверное, уровень изоляции и требования к устойчивости транзакций должны оставаться в ведении администратора. Но индексы уже скоро можно будет доверить машине определять самостоятельно.
Энди Павло на HighLoad++ рассказал про СУБД будущего, которые можно «потрогать» уже сейчас. Если пропустили это выступление или предпочитаете получать информацию на русском языке — под катом перевод выступления.
Речь пойдет о проекте университета Карнеги-Меллона, посвященном созданию автономных СУБД. Под термином «автономный» подразумевается система, которая может автоматически развертывать, настраивать, конфигурировать себя без какого-либо вмешательства человека. Возможно, потребуется около десяти лет, чтобы разработать что-то подобное, но именно этим заняты Энди и его студенты. Конечно, для создания автономной СУБД необходимы алгоритмы машинного обучения, однако, в этой статье сосредоточимся только на инженерной стороне темы. Рассмотрим, как проектировать программное обеспечение, чтобы сделать его автономным.
Читать полностью »
В эту пятницу 21 июня пройдет юбилейная DevConfX, 22 июня эксклюзивные мастер-классы
2019-06-18 в 10:53, admin, рубрики: larabeer, laravel, mysql, php, postgresql, python, ruby, vuejs, yii framework, Администрирование баз данных, Блог компании DevConf, конференция веб-разработчиков, Разработка веб-сайтов
В эту пятницу пройдет юбилейная конференция DevConfX devconf.ru/ru
Как всегда — все участники получают значительную фору в знаниях на год вперед и шанс оставаться востребованным инженерами WEBa
Доклады которые могли бы Вас заинтересовать:
- PHP 7.4: стрелочные функции, типизированные свойства и др
- Symfony: Разработка абстрактных компонентов и бандлов
- Domain Driven Design
- TDD: как уйти от мучений и войти в поток
- Погружение в блокчейн для веб-специалиста
- Инфраструктура большой платежной платформы
- NoSQL + SQL = MySQL 8 Document Store!
- Предвкушая двенадцатый PostgreSQL
- Сертификация PostgreSQL. Вопросы и ответы
- Tarantool. Добавляем SQL в noSQL СУБД
- Ceph: настройка и тестирование
- Как мы построили сервис распределённых очередей в Яндексе
- Экстрим-улучшения — работа в рамках высокой нагрузки
Остальные доклады программы
devconf.ru/ru/schedule/jun21#main
Читать полностью »
MVCC в PostgreSQL-8. Заморозка
2019-06-17 в 15:56, admin, рубрики: autovacuum, freeze, postgresql, sql, tuples, vacuum, Блог компании Postgres ProfessionalМы начали с вопросов, связанных с изоляцией, сделали отступление про организацию данных на низком уровне, подробно поговорили о версиях строк и о том, как из версий получаются снимки данных.
Затем мы рассмотрели разные виды очистки: внутристраничную (вместе с HOT-обновлениями), обычную и автоматическую.
И добрались до последней темы этого цикла. Сегодня мы поговорим о проблеме переполнения счетчика транзакций (transaction id wraparound) и заморозке.
Читать полностью »
Игра в прятки с оптимизатором. Гейм овер, это CTE PostgreSQL 12
2019-06-13 в 11:42, admin, рубрики: dbms, postgres, postgresql, базы данных, Блог компании Postgres Professional, СУБДЭта статья — продолжение рассказа о новом в PostgreSQL 12. Мы уже разобрали SQL/JSON (патч JSONPath) в статье «Что заморозили на feature freeze 2019. Часть I. JSONPath», теперь очередь CTE.
CTE
CTE это Common Table Expression — общие табличные выражения, их еще называют конструкциями с WITH. Фактически это создание временных таблиц, но существующих только для одного запроса, а не для сессии. К ним можно обращаться внутри этого запроса. Такой запрос хорошо читается, он понятен, его легко видоизменять, если потребуется. Это очень востребованная вещь, и она в PostgreSQL давно.
Но удобства могут обойтись дорого. Проблемы связаны с материализацией выражения после AS внутри конструкции WITH… AS (). Его еще называют внутренним выражением и вычисляют перед тем, как начать вычисление остального, его нельзя встроить в запрос верхнего уровня (no inlining). Планирование этого выражения происходит без учета остальной части запроса. Такое поведение называют барьером для оптимизации, или fencing. Кроме того, сама материализация требует под себя work_mem. И если выборка большая, то начинаются проблемы (об этом, например, есть в докладе Ивана Фролкова на PGConf 2019).
Читать полностью »
История одного SQL расследования
2019-06-12 в 13:55, admin, рубрики: postgresql, postrgresql, sql, оптимизация запросовВ декабре прошлого года я получил интересный отчет об ошибке от команды поддержки VWO. Время загрузки одного из аналитических отчетов для крупного корпоративного клиента казалось непомерно большим. А так как это сфера моей ответственности, я тут же сосредоточился на решении проблемы.
Предыстория
Чтобы было понятно о чём речь, я расскажу совсем немного о VWO. Это платформа, с помощью которой можно запускать разные таргетированные кампании на своих сайтах: проводить A/B эксперименты, отслеживать посетителей и конверсии, делать анализ воронки продаж, отображать тепловые карты и проигрывать записи визитов.
Но самое главное в платформе — составление отчетов. Все вышеперечисленные функции связаны между собой. И для корпоративных клиентов, огромный массив из информации был бы просто бесполезен без мощной платформы, представляющей их в виде для аналитики.
Используя платформу, можно сделать произвольный запрос на большом наборе данных. Вот простенький пример:
Показать все клики на странице "abc.com" ОТ <даты d1> ДО <даты d2> для людей, которые использовали Chrome ИЛИ (находились в Европе И использовали iPhone)
Обратите внимание на булевы операторы. Они доступны для клиентов в интерфейсе запроса, чтобы делать сколь угодно сложные запросы для получения выборок.
Медленный запрос
Клиент, о котором идет речь, пытался сделать что-то, что интуитивно должно работать быстро:
Покажи все записи сессий для пользователей посетивших любую страницу с урлом, где есть "/jobs"
На этом сайте было огромное количество трафика, и мы хранили более миллиона уникальных URL-адресов только для него. И они хотели найти довольно простой шаблон урла, относящегося к их бизнес-модели.
Как мы строим UI для рекламных систем
2019-06-11 в 11:32, admin, рубрики: django, Django REST framework, IPONWEB, postgresql, python, UI, Блог компании IPONWEB
Вместо вступления
Ранее в нашем блоге мы писали, чем занимается компания IPONWEB — мы автоматизируем показ рекламы в интернете. Наши системы принимают решения не только на основе исторических данных, но и активно используют информацию, полученную в реальном времени. В случае DSP (Demand Side Platform — рекламная платформа для рекламодателей), рекламодатель (или его представитель) должен создать и загрузить рекламный баннер (креатив) в одном из форматов (картинка, видео, интерактивный баннер, картинка+текст и т.д.), выбрать аудиторию пользователей, которым этот баннер будет показан, определить сколько раз можно показать рекламу одному пользователю, в каких странах, на каких сайтах, на каких устройствах, и отразить это (и многое другое) в настройках таргетинга рекламной кампании, а также распределить рекламные бюджеты. Для SSP (Supply Side Platform — рекламная платформа для владельцев рекламных площадок) владелец сайта (мобильного приложения, билборда, телевизионного канала) должен определить рекламные места на своем ресурсе и указать, например, какие категории рекламы он готов на них показывать. Все эти настройки делаются вручную заблаговременно (не в момент показа рекламы) с помощью пользовательского интерфейса. В этой статье я расскажу про наш подход к построению таких интерфейсов при условии, что их много, они похожи друг на друга и при этом обладают индивидуальными особенностями.
Читать полностью »