Многие из нас сталкивались в своей работе с СУБД. На текущий момент базы данных в том или ином виде окружают нас повсюду, начиная с мобильных телефонов и заканчивая социальными сетями, в число которых входит и любимый нами хабр. Реляционные СУБД являются наиболее распространенными представителями семейства СУБД, и большинство из них являются транзакционными.
В институте нас заставляли заучивать определение ACID и стоящие за ним свойства, но почему-то стороной обходились подробности реализации этой парадигмы. В данной статье я постараюсь частично заполнить этот пробел, рассказав о MVCC, которая используется в таких СУБД как Oracle, Postgres, MySQL, etc. и является весьма простой и наглядной.
Читать полностью »
Рубрика «postgresql» - 83
Принципы работы СУБД. MVCC
2014-01-07 в 20:22, admin, рубрики: dbms, postgres, postgresql, rdbms, Алгоритмы, Анализ и проектирование систем, метки: dbms, postgres, rdbmsПредновогодняя проверка PostgreSQL
2013-12-24 в 6:06, admin, рубрики: c++, code review, memcmp, postgresql, pvs-studio, Блог компании PVS-Studio, статический анализ кода, метки: c++, code review, memcmp, postgresql, pvs-studio, статический анализ кода
Год заканчивается, а я давно не писал заметок о проверке открытых проектов. Мне уже неоднократно предлагали проверить проект PostgreSQL Database Management System. Этим я и занялся. К сожалению, грандиозной и интересной статьи не получится. Я заметил только несколько типовых ошибок. Так что в этот раз получилась совсем небольшая статья.
Оптимизация запросов. Основы EXPLAIN в PostgreSQL (часть 3)
2013-11-25 в 7:19, admin, рубрики: highload, postgresql, оптимизация, метки: highload, postgresql, оптимизация .jpg)
Подолжаю публиковать авторскую переработку Understanding EXPLAIN от Guillaume Lelarge.
Ещё раз обращу внимание, что часть информации для краткости опущено, так что настоятельно рекомендую ознакомиться с оригиналом.
Предыдущие части:
Оптимизация запросов. Основы EXPLAIN в PostgreSQL (часть 2)
2013-11-23 в 17:04, admin, рубрики: highload, postgresql, оптимизация, метки: highload, postgresql, оптимизация .jpg)
Подолжаю публиковать авторскую переработку Understanding EXPLAIN от Guillaume Lelarge.
Ещё раз обращу внимание, что часть информации для краткости опущено, так что настоятельно рекомендую ознакомиться с оригиналом.
Предыдущие части:
Оптимизация запросов. Основы EXPLAIN в PostgreSQL
2013-11-23 в 5:38, admin, рубрики: highload, postgresql, оптимизация, метки: highload, postgresql, оптимизация 
Почему запрос выполняется так долго? Почему не используются индексы?
Наверное, все слышали об EXPLAIN в PostgreSQL. Но не так много тех, кто понимает, как его использовать. Сам длительное время не мог найти доступного для понимания учебника (плохо искал?).
Надеюсь, эта статья поможет желающим разобраться с этим замечательным инструментом.
Читать полностью »
Миграция с mysql на postgresql
2013-10-21 в 8:25, admin, рубрики: django, mysql, postgresql, python, миграция, метки: Django, mysql, postgresql, миграцияПривет уважаемому сообществу!
В какой-то момент времени встала потребность перенести базу приложения на django с mysql на postgresql. Первые два захода на эту проблему были неудачными, но позволили разобраться с целостностью данных, искоренить проблемы для manage.py syncdb и manage.py migrate.
Читать полностью »
Создание расширений в PostgreSQL
2013-10-20 в 20:53, admin, рубрики: open source, postgresql, базы данных, Веб-разработка, слоны, метки: postgresql, базы данных, слоны 
Здравствуйте, читатели! Темой этой статьи будет создание расширений для PostgreSQL. В качестве примера, мы реализуем небольшую библиотеку для работы с 3D векторами. Параллельно будут рассмотрены пользовательские типы, операторы и приведения типов. Не будет лишним ознакомися с этим материалом, так как реализация хранимых функций будет на языке C. Надеюсь, друзья слонов помогут скрасить серый технический текст статьи.
Читать полностью »
Как не потерять данные в PostgreSQL
2013-10-16 в 9:39, admin, рубрики: backup, postgresql, резервное копирование, метки: backup, postgresql, резервное копирование PostgreSQL предлагает несколько вариантов резервирования данных. Обо всех них уже рассказано не раз, в том числе и на хабре. Но в основном рассказывается про технические особенности методов. Я же хочу постараться рассказать про общую стратегию резервного копирования, объединив все методы в эффективную систему, которая поможет вам сохранить все данные и уменьшить число погибших нервных клеток в критических ситуациях.
Вводные данные: сервер PostgreSQL 9.2, База размером >100Gb.
Читать полностью »
Загружаем данные в postgresql
2013-10-16 в 2:56, admin, рубрики: benchmark, golang, postgresql, postgresql 9.3, метки: benchmark, golang, postgresql 9.3 Прочитал статью о разгоне производительности операций вставок в СУБД Oracle при помощи транзакций на Java. Так как в данный момент я работаю с postgresql, то решил проверить, сколько выдаст эта СУБД в связке с голангом.
Используемый стек: golang-1.1.2 + postgresql-9.3.1.
Для запуска программы понадобится голанговский драйвер для postgresql. Я пользуюсь драйвером github.com/lib/pq, который установил при помощи команды go get -u github.com/lib/pq.
Читать полностью »
Хранимые функции на С в PostgreSQL
2013-10-06 в 20:02, admin, рубрики: postgresql, Администрирование баз данных, базы данных, Веб-разработка, слоны, метки: postgresql, базы данных, слоны 
Здравствуйте, читатели! Многие из Вас сталкивались с вынесением бизнес-логики в СУБД в виде хранимых функций/процедур, облегчая клиент. В этом есть как и преимущества, так и недостатки. Сегодня я бы хотел рассказать Вам как создавать хранимые функции в PostgreSQL, написанные на языке C. В статье будут самые основы, которые необходимо знать для начала работы с ними.
Читать полностью »
