В апреле на RailsConf в Фениксе мы обсудили огромное количество советов по использованию Postgres с Rails, и подумали, что будет полезно их записать и поделиться с более широкой аудиторией. Здесь вы найдете некоторые из них, касающиеся отладки и улучшения производительности базы данных вашего Rails приложения.
Рубрика «postgresql» - 45
Советы по Postgres для Rails разработчиков
2017-06-10 в 18:46, admin, рубрики: active record, activerecord, postgres, postgresql, ruby on rails, Блог компании okmeter.ioMySQL 8, Postgres NoSQL, Tarantool Винил, CockroachDB, ClickHouse, и все-же, почему Uber ушел от Postgresql?
2017-06-07 в 4:38, admin, рубрики: CockroachDB, mariadb, mysql, nosql, postgresql, tarantool, Анализ и проектирование систем, базы данных, Блог компании DevConf17 июня в Москве, Измайлово пройдет конференция Devconf::Storage
Базы данных становятся все чудесатее и чудесатее. Традиционные RDBMS становятся NoSQL, а новые движки становятся кластерными, распределенными и колоночными.
Олег Бартунов, известный разработчик Postgres, хочет рассказать чем их база лучше MongoDB при работе с JSON, а его коллега Иван Панченко — о том, как писать для постгреса на perl, python и javascript.
Антон Околелов расскажет как перейти с MySQL, чтобы ощутить мощь Postgres, а другой докладчик, Алексей Копытов расскажет почему Uber сделал точно наоборот, и ушел с Postgres на MySQL.
Читать полностью »
Зеленый свет разработчикам — oт стартапа к звездам. Валентин Гогичашвили
2017-06-06 в 11:39, admin, рубрики: constraints, locks, postgresql, sql, Блог компании PG Day'17 RussiaКонференция PG Day проводится уже в четвертый раз. За это время у нас накопилась большая база полезных материалов от наших докладчиков. Уровень докладов в индустрии с каждым годом становится все выше и выше, но есть темы, которые, как хорошее вино, не теряют своей актуальности.
На одном из прошлых PG Day Валентин Гогичашвили, возглавляющий департамент Data Engineering в Zalando, рассказал, как PostgreSQL используется в компании с большим штатом разработчиков, высокой динамичностью процессов, и как они пришли к такому выбору.
Не секрет, что Zalando является постоянным гостем PG Day. На PG Day'17 Russia мы представим вам три замечательных доклада от немецких коллег. Мурат Кабилов и Алексей Клюкин расскажут про внутреннюю разработку Zalando для развертывания высокодоступных кластеров PostgreSQL. Александр Кукушкин поведает о практике эксплуатации PostgreSQL в AWS. Дмитрий Долгов поможет разобраться c внутренностями и производительности типа данных JSONB в контексте эксплуатации PostgreSQL как документо-ориентированного хранилища.
Читать полностью »
Лекции Технопарка. Базы данных (весна 2017)
2017-06-01 в 12:18, admin, рубрики: mysql, postgresql, sql, Анализ и проектирование систем, базы данных, Блог компании Mail.Ru Group, разработка, технопарк
Всем жаждущим знаний предлагаем ознакомиться с новыми лекциями Технопарка, посвящённым базам данных. Курс ведёт Артём Навроцкий, ведущий программист в Allods Team.
Список лекций:
Postgres и Пустота
2017-05-31 в 4:50, admin, рубрики: postgresql, ненормальное программирование, пустотаТолько что натолкнулся на возможность Postgresql, показавшуюся мне забавной.
Для кого "боян" — респект вам, я несколько лет работаю с Postgres и до сих пор не натыкался на такую штуку.
select;
без указания полей, таблицы и условий возвращает одну строку.
Но у этой строки нет полей:
=> select;
--
(1 row)
Для сравнения:
=> select null;
?column?
----------
(1 row)
=> select null where 0=1;
?column?
----------
(0 rows)
А сможем ли мы создать таблицу из такого "пустого" запроса? Таблицу без полей.
Использование статистики в PostgreSQL для оптимизации производительности — Алексей Ермаков
2017-05-29 в 9:25, admin, рубрики: postgresql, Query, query planning, sql, Блог компании PG Day'17 Russia, оптимизацияДрузья, мы продолжаем публиковать транскрипции наиболее интересных технических докладов прошлых конференций PG Day Russia. Сегодня вашему вниманию предлагается доклад Алексея Ермакова, специалиста компании Data Egret, посвященный устройству и функционированию планировщика.
Статистическая информация, собираемая PostgreSQL, имеет большое влияние на производительность системы. Зная статистику распределения данных, оптимизатор может корректно оценить число строк, необходимый размер памяти и выбрать наиболее быстрый план выполнения запроса. Но в некоторых редких случаях он может ошибаться, и тогда требуется вмешательство DBA.
Помимо информации о распределении данных, PostgreSQL также собирает статистику об обращении к таблицам и индексам, вызовов функций и даже вызовов отдельных запросов (при помощи расширения pg_stat_statements). Эта информация, в отличие от распределений, больше нужна администраторам, нежели для работы самой базы, и очень помогает для нахождения и исправления узких мест в системе.
В докладе будет показано, каким образом статистическая информация собирается, для чего она важна, и как ее правильно читать и использовать; какие параметры можно «подкрутить» в тех или иных случаях, как подобрать оптимальный индекс и как переписать запрос, чтобы исправить ошибки планировщика.
Читать полностью »
Индексы в PostgreSQL — 3
2017-05-29 в 6:48, admin, рубрики: index, indexing, postgres, postgresql, sql, Блог компании Postgres ProfessionalВ первой статье мы рассмотрели механизм индексирования PostgreSQL, во второй — интерфейс методов доступа, и теперь готовы к разговору о конкретных типах индексов. Начнем с хеш-индекса.
Hash
Устройство
Общая теория
Многие современные языки программирования включают хеш-таблицы в качестве базового типа данных. Внешне это выглядит, как обычный массив, но в качестве индекса используется не целое число, а любой тип данных (например, строка). Хеш-индекс в PostgreSQL устроен похожим образом. Как это работает?
Как правило, типы данных имеют очень большие диапазоны допустимых значений: сколько различных строк можно теоретически представить в столбце типа text? В то же время, сколько разных значений реально хранится в текстовом столбце какой-нибудь таблицы? Обычно не так много.
Идея хеширования состоит в том, чтобы значению любого типа данных сопоставить некоторое небольшое число (от 0 до N−1, всего N значений). Такое сопоставление называют хеш-функцией. Полученное число можно использовать как индекс обычного массива, куда и складывать ссылки на строки таблицы (TID). Элементы такого массива называют корзинами хеш-таблицы — в одной корзине могут лежать несколько TID-ов, если одно и то же проиндексированное значение встречается в разных строках.
Хеш-функция тем лучше, чем равномернее она распределяет исходные значения по корзинам. Но даже хорошая функция будет иногда давать одинаковый результат для разных входных значений — это называется коллизией. Так что в одной корзине могут оказаться TID-ы, соответствующие разным ключам, и поэтому полученные из индекса TID-ы необходимо перепроверять.
Читать полностью »
«Эпоха колониального ИТ-аутсорсинга подходит к закату». Замгендира Postgres Professional — о переносе петербургского центра Oracle в Индию
2017-05-25 в 17:45, admin, рубрики: java, oracle, postgresql, импортозамещение, инвестиции, Индия, кадры, кейсы, колонка, Нам пишут, Работа в России, Россия, Санкт-Петербург, советы, метки: hr, java, oracle, postgresql, импортозамещение, инвестиции, Индия, кадры, кейсы, колонка, Нам пишут, Работа в России, Россия, Санкт-Петербург, советыНедавно стало известно о том, что корпорация Oracle переносит петербургский центр разработок в Индию, где будет развивать бизнес в сфере «облачных» технологий и дата-центров. Среди возможных причин упоминалось изменение политического отношения головной компании к российскому рынку, желание сэкономить на рабочей силе и даже фактор большей культурной совместимости — как известно, Читать полностью »
10 способов достижения HighLoad’а и BigData на ровном месте
2017-05-25 в 8:32, admin, рубрики: BigData, highload, highload junior, postgresql, Анализ и проектирование систем, Блог компании Конференции Олега Бунина (Онтико), высокая производительность, илья космодемьянский, Разработка веб-сайтов
Илья Космодемьянский ( hydrobiont )
Есть типичные ошибки работы с хранилищем, и эти ошибки, не то чтобы я их выдумываю специально, но поскольку мы много работаем с удаленной поддержкой баз данных, мы их просто коллекционируем. Зачастую одни и те же от клиентов. И составляем своеобразный рейтинг того, что наколлекционировали. Об этих вещах я и буду сегодня рассказывать.
Читать полностью »
Способы диагностики PostgreSQL — Владимир Бородин и Ильдус Курбангалиев
2017-05-22 в 16:34, admin, рубрики: debugging, gdb, optimization, perf, performance, postgresql, troubleshooting, Администрирование баз данных, Блог компании PG Day'17 Russia, Серверное администрирование, хранилища данныхОдним из самых популярных докладов конференции PG Day в 2015 году стал рассказ Владимира Бородина и Ильдуса Курбангалиева о ситуациях, когда посгресовым базам становится плохо, надо их диагностировать и искать узкие места. Все примеры в докладе взяты из реальной практики Яндекса, сопровождаются иллюстрациями и подробным рассказом о поиске «боттлнека». Не смотря на то, что проблемы рассматривались в разрезе 9.4 и 9.5 версий базы данных, общая ценность и практическая применимость советов Владимира и Ильдуса остается неизменной. Рады предложить вам транскрипцию этого доклада.
Вступление Ильи Космодемьянского: сейчас у нас будет рассказ о том, как жить, если очень хочется иметь Oracle, а его нет. На самом деле, это полезный доклад, потому что одна из проблем, которую мы сейчас имеем – это проблема средств диагностики. Средства диагностики местами не достают, местами, вместо привычных средств диагностики нужно использовать довольно сложные тулзы, которые вообще предназначены для разработчиков Linux, а не для DBA. У DBA зубы начинают болеть, когда они смотрят на эти скрипты. И вот ребята из Яндекса и PG Pro расскажут о методах диагностики Postgres, которые они применяют, как ими пользоваться и немного расскажут о том, как они собираются улучшить этот мир.