Когда Ваш проект начинает пользуется популярностью и каждая миллисекунда обработки запроса от пользователя становится критической, приходится искать узкие места в системе. Часто больше всего времени занимает выполнение SQL запроса из приложения к базе данных. Попробуем разобраться, что можно оптимизировать в программе при работе с БД.
Читать полностью »
Рубрика «postgresql» - 70
Пулы соединений к БД — зачем и почему
2013-09-18 в 6:52, admin, рубрики: java, postgresql, Программирование, метки: java, postgresqlRubyNoName Podcast S05E17
2013-09-03 в 11:09, admin, рубрики: postgresql, ruby, ruby on rails, метки: postgresql, ruby, ruby on railsСсылка на выпуск подкаста: http://rubynoname.ru/posts/2013/S05E17.html
Новости
- Phusion Passenger 4.0.14
- Гем для того, чтобы делать необычные отметки в коде
- Своя игра в Ruby
- Ускорение гема contracts.ruby
- PostGIS и Rails
- Параллельный bundler
- Local path в бандлер
- Ускоряем загрузку рельс
- Книга про платежи в Ruby
- Вышла книга «Confident Ruby»
- Permit в Rails
- Тестирование Rails API
- Полнотекстовый поиск в PostgreSQL
- Ускоряем прогон тестов
25 дней кода или проект Синий пони
2013-08-23 в 3:17, admin, рубрики: android, postgresql, ruby on rails, Геоинформационные сервисы, ненормальное программирование, Спортивное программирование, метки: android, postgresql, ruby on railsВы регулярно пользуетесь услугами такси?
Вы замечали, что с некоторыми таксистами ездить комфортнее, чем с другими? Это может выражаться в более чистом салоне, большей любви к машине или чем-то еще. Чаще всего такию люди не являются профессиональными таксистами, а лишь время от времени подрабатывают в дополнение к основной деятельности.
А ведь было бы не плохо иметь возможность добавлять таких таксистов в друзья и при следующей поездке посмотреть на карте, кто из них сейчас работает и где находится?
Читать полностью »
Обзор важнейших фич Postgres 9.3: материализованные представления
2013-08-02 в 14:09, admin, рубрики: materialized views, postgresql, Администрирование баз данных, Веб-разработка, материализованные представленияPostgreSQL 9.3 выйдет с довольно-таки крутой фичей, называющейся материализованные представления. Фича была разработан Кевином Гриттнером и не так давно закоммичена:
commit 3bf3ab8c563699138be02f9dc305b7b77a724307
Дата: Воскресенье 4 Марта 18:23:31 2013 -0600
Автор: Кевин ГриттнерДобавлены материализованные представления
У материализованного представления есть правило, так же как и у обычного представления, и куча, а также другие физические свойства, как у таблицы. Правило используется только для наполнения таблицы, ссылки в запросах указывают на материализованные данные.
Реализована минимальная функциональность, но и она может быть полезной во многих случаях. В настоящее время данные загружаются только “по требованию” инструкциями CREATE MATERIALIZED VIEW и REFRESH MATERIALIZED VIEW. Ожидается, что в будущих релизах будут добавлены инкрементальные обновления данных с различными настройками времени обновления, и будет дано более четкое определение самому понятию “свежие” данные. В какой-то момент даже запросы смогут использовать материализованные данные вместо данных самих таблиц, но это требует реализации описанного выше функционала в первую очередь.
Большая часть работы по составлению документации проделал Robert Haas. Ревью: Noah Misch, Thom Brown, Robert Haas, Marko Tiikkaja. Ревью по вопросам безопасности, включающее решение о том, как лучше реализовать sepgsql, ожидается от KaiGai Kohei.
Отказоустойчивый кластер Master-Slave на PostgreSQL
2013-07-28 в 18:19, admin, рубрики: linux, pgpool, postgresql, postgresql 9.0, метки: linux, pgpool, postgresql 9.0 Приветствую, читатели!
В этой статье я хочу поделиться опытом развертывания кластера Master-slave на СУБД PostgreSQL. Отказоустойчивость достигается с помощью возможностей pgpool-II (failover, online recovery).
pgpool — это прекрасное средство для масштабирования и распределения нагрузки между серверами и, думаю, немногие знают о возможностях автоматического создания failover на ведомом сервере при отказе ведущего и как добавить новые мощности в уже работающий кластер без отключения всего кластера.
Читать полностью »
Базы данных в онлайн играх. От Аллодов Онлайн до Skyforge
2013-07-24 в 8:06, admin, рубрики: game development, mysql, postgresql, skyforge, базы данных, Блог компании Mail.Ru Group, игры, КРИ, Программирование, метки: game development, mysql, postgresql, skyforge, базы данных, игры, криКогда говорят про разработку игр, обычно речь идет о шейдерах, графике, AI и т.д. Крайне редко затрагивается серверная часть игровых проектов, а ещё реже — базы данных. Исправим это досадное недоразумение: сегодня я расскажу о нашем опыте работы с базами данных, который мы приобрели в ходе разработки Аллодов Онлайн и нашего нового проекта Skyforge. Обе эти игры — клиентские MMORPG. В первой зарегистрировано несколько миллионов игроков. Вторая разрабатывается студией в строжайшей секретности в недрах Allods Team.
Меня зовут Андрей Фролов. Я ведущий программист Allods Team и работаю в команде сервера. Мой опыт разработки — почти 10 лет, но в игры я попал только в октябре 2009. В коллективе я уже больше трёх лет, с марта 2010. Начинал работу на Аллодах Онлайн, а сейчас на Skyforge. Занимаюсь всем, что так или иначе связано с сервером Skyforge и базами данных. В этой статье я расскажу о базах данных в онлайн-играх на примере Аллодов и Skyforge.
Оптимизация sum в PostgreSQL
2013-07-16 в 17:37, admin, рубрики: aggregate, optimization, postgresql, sql, реляционные базы данных, метки: aggregate, optimization, postgresql, sql, реляционные базы данныхРассмотрим ситуацию: имеется статистическая таблица с колонками-идентификаторами и колонками-счётчиками. Требуется просуммировать счётчики по некоторому подмножеству. При этом нас не интересует, каким образом мы выбираем интересующее нас множество — про индексы и партицирование написано множество книг и статей. Будем считать, что все данные уже выбраны самым оптимальным способом и изучим, как быстрее суммировать.
Это не первое место, которое надо оптимизировать, если запрос тормозит, скорее последнее. Изложенные ниже идеи осмысленно применять когда план выполнения (explain) уже с виду идеальный и комар в нём носа не подточит, но хочется «выжать» ещё немного.
Читать полностью »
Ubuntu vs CentOS vs Win2k8 vs Debian: производительность PostgreSQL для 1С
2013-07-03 в 8:38, admin, рубрики: 1с предприятие 8, CentOS, linux, postgresql, ubuntu server, метки: 1с предприятие 8, CentOS, linux, ubuntu serverХотя интернет уже переполнен статьями о «правильной» настройки связки PostgreSQL и 1C 8.2, для подводных камней всегда остается место. При сравнении производительности СУБД PostgreSQL на разных ОС, показатели различаются в разы. Самая большую обиду принесла любимая Ubuntu (человечность). После долгих дней и ночей проведенных за консолью этой ОС, она разочаровала окончательно.
Тормоза PostgreSQL в Ubuntu Server. Что с ними делать? Сколько раз можно наступать на грабли?
Читать полностью »
Драйвер для PostgreSQL на Node.js
2013-06-28 в 9:18, admin, рубрики: node.js, postgresql, Драйвер, метки: node.js, postgresql, ДрайверКак известно, скорость любого каравана ограничена сверху скоростью самого медленного верблюда. В мире программирования, мы, то и дело, сталкиваемся с этим принципом, разрабатывая сложную, многокомпонентную систему взаимодействующих модулей. Оптимизировав свои внутренние алгоритмы, мы сталкиваемся с ограничениями верблюдов-драйверов, предоставляющих нам интерфейс к сторонним сервисам: базам данным, менеджерам очередей сообщений, и т.д.
Valentina Studio — бесплатная программа для работы с СУБД
2013-06-03 в 15:25, admin, рубрики: mysql, postgresql, sqlite, Администрирование баз данных, базы данных, метки: mysql, postgresql, sqlite, utility, базы данныхОчень многие разработчики считают что лучший интерфейс для работы с базами данных — текстовый интерфейс консольного. Я лично еще не достиг подобного просветления, поэтому больше доверяю GUI-инструментам. Хорошо, если у СУБД как у Postgres есть своя, утилита для работы с БД, а что делать если нет? Или если надо работать с различными базами данных одновременно? Под Windows альтернативных клиентов к различным СУБД — море разливанное. С другими ОС (я в данный момент работаю в OS X) все не так радужно, хотя есть программы разной степени пригодности и удобства. Раньше я использовал Navicat, но недавно нашел еще одно интересное решение, о котором и хочу рассказать: Valentina Studio.
Сразу скажу — я общался с разработчиками, и мне очень импонирует их концепция, то что они делают и как, поэтому я решил просто написать обзор о хорошем инструменте, о котором мало кто знает, поскольку публичный релиз программы состоялся очень недавно. До этого она долгое время разрабатывалась для Valentina DB и только в феврале вышла версия с поддержкой известных популярных баз данных. При этом разработчики приняли достаточно разумное решение — базовая версия совершенно бесплатна, а деньги берут только за несколько мощных «особо профессиональных» функций без которых чаще всего можно обойтись.
Читать полностью »