Метка «postgresql» - 7

Зачастую работа «в поле» требует сбора и анализа информации на сайте заказчика в условиях наличия крайне скудного списка утилит. В частности собрать информацию об использовании системы ввода-вывода в течении дня.

В статье я попробую показать, как располагая только iostat и gnuplot можно попробовать провести анализ системы и какие выводы можно сделать.

Я не претендую на доскональное владение предметом и точное использование терминов. Более того, я постараюсь говорить «обычным» языком и не бросаться терминами.

Все описанное ниже есть плод опыта, ошибок, гугления, курения манов и прочая
Читать полностью »

Когда вопрос заходит о хранении в БД гибких (заранее не известных, часто изменяемых) структур данных, разработчики обычно обращаются к «великому и ужасному» EAV-паттерну, либо к ныне модным NOSQL базам данных.
Не так давно такая задача стала и передо мной.
EAV. Вызывает у меня стойкую неприязнь, да и сказано и написано об этом было очень много всего негативного (Кайт, Фаулер, Карвин, Горман). Главный минус в том, что при написании запросов приходится оперировать уже не реальными сущностями («Сотрудник», «Дом», «Клиент», то для чего и предназначен SQL), а объектами, орагнизованными на более низком уровне (извините за сумбур). Поэтому это был самый не желательный вариант.
NOSQL. Поначалу очень заинтересовал этот вариант (в частности MongoDB). После продолжительного использования реляционок, первое время начинаешь испытывать чувство тотальной свободы, от которого захватывает дыхание. Хранение документов любой структуры, моментальное создание новых коллекций, запросы к ним — красота! Но после непродолжительного использования эйфория начала спадать, а проблемы обнаруживаться:
— Бедный язык запросов (ИМХО) + отсутствие джойнов;
— Отсутствие схем (хорошая статья недавно была на эту тему (и не только на эту) habrahabr.ru/post/164361/);
— Отсутствие встроенной поддержки ссылочной целостности;
— Отсутствие прибамбасов в виде хранимых процедур/функций, триггеров, представлений и многого другого.
— В моем приложении помимо данных с гибкой(изменяемой) структурой также необходимо хранить обычные статические данные — таблица пользователей, посещений, сотрудников и т.д. Работать с которыми (опять же имхо) гораздо проще и (самое главное) надежнее в обычной реляционной базе (та же самая ссылочная целостность и пр.).

Читать полностью »

Доброго времени суток.

Работая в институте, мне приходится иметь дело с большим количеством полу-структурированной информации. Здесь приставка «полу» значит, что в целом все данные похожи, но, как правило, распиханы в локальных папках на компьютерах у сотрудников, в .xls, .txt или в бинарном формате. Информация представляет из себя данные полученные с различных приборов( датчиков уровня, температуры, скорости течений, атмосферного давления, влажности и так далее до 20-30 различных параметров). Все приборы выгружают данные каждый в своем формате: либо в ascii либо бинарный формат, который потом обрабатывается, и, на выходе, снова получаются ascii. Ну вообщем все как всегда, вы и сами представляете весь этот хаос.

Захотелось мне все это дело запихнуть в одну общую базу данных, что бы не искать нужные данные нужной версии в нужной папке, что занимает крайне много времени. Опыт разработки различных систем (в основном гео-информационных) имеется. Но то, что делалось раньше, содержало в себе исключительно обработанные данные, и в целом все эти системы делались под заказчика. Никакого комплекса автоматизации для самих себя не было.

Обработка всего этого хозяйства — вполне стандартные вещь, ничего нового и интересного: проверка временных рядов на целостность(если нужна – интерполяция), построение кучи различных графиков, запуск различных моделей на этих данных, обработка вывода моделей(снова куча графиков), вывод статистики. О последней я и расскажу в этой статье.

Читать полностью »

Привет!

Расскажу и я свою историю.

Случилось так, что однажды я устроился на должность начальника технического отдела в одном небольшом интернет-провайдере. Компания на тот момент испытывала некоторые проблемы технического характера, технаря найти не могли. В тот момент я как раз искал нормальную работу — за год до этого ушел с великого и могучего завода АвтоВАЗ (работал в Дирекции Информационных Систем) — кризис прижал, денег не давали. После — год работы учителем в школе (параллельно регистрировался как ИП), в общем крутился как мог. И находясь осенью в другом городе, от знакомого узнаю о том, что срочно нужен технарь. Пришел на собеседование без особой надежды, да и большого желания, и как оказалось — зря. После примерно 10-минутной беседы директор попросил выйти сегодня же. И я вышел.

Как там говорится, то все присказка была?
Читать полностью »

Всем привет!

imageС радостью сообщаем, что облачный PHP хостинг Jelastic теперь доступен в России у хостинг провайдера Русоникс. В первую очередь стоит отметить, что платформа обладает такими функциями, как: вертикальное и горизонтальное масштабирование, поддержка различных серверов и баз данных, а также VDS серверов, поддержка Git и SVN, доступны различные PHP расширения, предоставляется возможность изменения конфигурационных файлов, выбор версии PHP и много других полезных и удобных фич.Читать полностью »

Оптимизация настроек всегда дело тонкое и выставить именно те параметры, которые дадут максимальную производительность, зачастую можно только уже в процессе работы приложения, когда уже есть статистика нагрузки и видны узкие места.
Но очень полезно сделать и первичную оптимизацию при запуске СУБД. В этом посте рассмотрены пути автоматической оптимизации MySQL и PostgreSQL утилитами mysqltuner и pgtune.

Читать полностью »

Привете! image

Я много общался с разработчиками по поводу Amazon Web Services и многие сетовали на то, что RDS не предоставляет PostgreSQL. Да, это промах со стороны AWS, ведь очень многие используют эту RDMS. Но это не повод не использовать AWS.

В сентябре я был в Чикаго на Cloud Connect и там на выставке я набрёл на стенд компании EnterpriseDB, где они пиарили себя как провайдера облачного варианта PosgreSQL. И сегодня, наконец, получилось их потестить! И вы знаете, мы будем их использовать!
Читать полностью »

image

Добрый день, хаброжители. Прошло много времени с выпуска 2 версии книги по PostgreSQL — успела выйти версия 9.1 и 9.2 этой замечательной базы данных. Материалов также накопилось не мало по практическому использованию этой БД, поэтому я решил выпустить обновление по книге. Итак, встречайте: «Работа с Postgresql: настройка и масштабирование», 3-е издание.

Читать полностью »

Замедляем выполнение запросов в PostgreSQL
Кому-то может показаться странным заголовок поста. И правда, зачем в здравом уме тормозить выполнение запросов на сервере?

Я вот отвечу: «Чтобы проверить как работает интерфейс программы-клиента во время длительных запросов». Такая задача возникла предо мной во время реализации импорта структуры базы для нашего ER-дизайнера.

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

  1. Радовать глаз пользователя всякого рода статистикой и анимацией(?).
  2. Не дать пользователю нажать или сделать что-то не то.
  3. С другой стороны, обязательно дать возможность остановить длительный процесс.

Читать полностью »

Создание любого приложения требует глубокого понимания проблем, которые могут возникать в процессе его жизненного цикла: от разработки до продакшина. Когда Вы разрабатываете комплексное приложение с кастомизированной логикой и пользовательскими интерфейсами, конфигурация «на лету» и в одном окружении не имеет никакого смысла. Как правило, такие приложения разрабатываются достаточно долго и требуют более формального подхода, чтобы обеспечить их эффективную работу по назначению и удовлетворить все потребности пользователей. Даже, если проект не очень большой, все равно намного удобней иметь отдельные окружения для разработки и тестирования, где Вы можете кодить, запускать тесты, никак не влияя на конечных пользователей.

image Типичный жизненный цикл приложения включает разработку, тестирование, разворачивание и обновление. Само собой разумеется, что на стадии разработки программисты используют разного рода инструменты для анализа требований, проектирования и моделирования самого решения, а потом занимаются написанием кода приложения. Затем этот код проходит стадию тестирования и попадает на продакшн к конечному пользователю. После этого приложение постоянно обновляют, добавляют новые фичи и т.д.

Платформа Jelastic поддерживает несколько инструментов и функций, которые значительно упрощают управление жизненным циклом приложения. Например, Вы можете использовать встроенный Maven, чтобы собирать проекты прямо в облаке. Непрерывная интеграция с помощью Jenkins или Hudson позволяет идентифицировать ошибки заранее и сразу же исправлять их. Вы можете легко клонировать окружения для разработки, тестирования и продакшина так, что они будут абсолютно идентичны касательно программного стека и топологии. Так же можно легко привязывать доменные имена и переключать их между окружениями, когда это необходимо.Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js