#бд — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #бд, aggregated by home.social.
-
Скрытая цена JSONB в PostgreSQL: что происходит при обновлении больших документов
jsonb легко полюбить. Он даёт гибкую схему, позволяет не плодить десятки мелких колонок, хорошо подходит для полуструктурированных данных и обычно очень удобен на старте проекта. Пока документы маленькие и меняются редко, кажется, что всё отлично. Проблемы начинаются позже. Данные растут, в документ добавляются новые поля, часть из них начинает часто обновляться, а потом внезапно выясняется, что вроде бы безобидный UPDATE одного ключа внутри jsonb стоит заметно дороже, чем ожидалось. В этой статье мы не собираемся доказывать, что jsonb плохой тип данных. Наоборот: jsonb – один из самых полезных инструментов PostgreSQL. Хотелось бы разобраться в более узком вопросе: что именно происходит, когда мы обновляем один ключ внутри большого JSONB-документа, и чем это отличается от обновления обычной колонки рядом с таким же большим документом?
-
Ускоряем вставку данных в PostgreSQL
Это текстовая версия доклада с Java Rock Star Meetup, с которым выступал Дмитрий Фатов ( @FatOFF ) — руководитель разработки Газпромбанка с опытом разработки приложений более 13 лет. Дмитрий работал как backend-, так и fullstack-разработчиком на языках Java, Kotlin, JS, TS, 1С и имеет большой опыт работы с SQL-базами данных.
https://habr.com/ru/companies/axiomjdk/articles/1010606/
#java #kotlin #postgresql #postgres #бд #базы_данных #insert #вставка #ускорение #атомарность
-
LWLock:LockManager, fastpath и всё-всё-всё
Общеизвестным является тезис о том, что от избыточного индексирования страдают только DML-операции, а SELECTы только получают разнообразные бенефиты. Однако существуют определённые нюансы, которые могут разрушить данную стройную картину мира. Я попробую продемонстрировать возможную проблему на тестовом примере (кстати, почти аналогичная проблема наблюдалась в реальной ПРОМ-системе).
https://habr.com/ru/companies/gnivc/articles/993938/
#postgresql #postgres #lwlock #производительность #базы_данных #data_bases #data_base #бд
-
Lakehouse vs Data Warehouse в 2026: что выбирать DE-команде
Привет, Хабр! Выбор между lakehouse и классическим хранилищем остается проблемой не первый год, но к 2026-му накопилось достаточно опыта, чтобы говорить предметно. Разберём, как эти архитектуры устроены под капотом, где каждая реально сильна и почему универсального ответа до сих пор нет. Сравнить подходы
https://habr.com/ru/companies/otus/articles/991128/
#БД #lakehouse #data_warehouse #Spark #объектное_хранилище #витрины_данных
-
Patroni и логическая реплика в PostgreSQL: как не потерять данные при failover’е
Если вы используете nofailover: true (а многие так и делают), Patroni не синхронизирует слоты логической репликации — и при переходе на реплику часть данных может исчезнуть навсегда. Рассказываем, почему и как фиксить.
https://habr.com/ru/companies/flant/articles/978322/
#patroni #postgresql #sql #бд #failover #репликация #асинхронная_репликация #логическая_репликация #nofailover #потеря_данных
-
[Перевод] Как отследить трафик PostgreSQL
Недавно я изучал детали реализации взаимодействия клиента PostgreSQL с базой данных и был удивлён, насколько легко просматривать трафик PostgreSQL с помощью wireshark. Когда я поделился своим удивлением в социальной сети, меня попросили привести пример того, как это сделать.
https://habr.com/ru/companies/gnivc/articles/962184/
#wireshark #sniffer #psql #protocol #бд #базы_данных #постгрес #sql
-
О «залипании» процесса checkpoint и archive_timeout в Postgres
Добрый день, коллеги! Недавно мы столкнулись со следующей проблемой при тестировании СУБД PostgresPro под высокой нагрузкой: процесс представлял собой массированную многопоточную заливку данных на протяжении многих часов,а данных было около 20 ТБ, потоков — 75. В процессе загрузки наблюдалось следующее явление: через некоторое время процесс checkpointer переставал делать контрольные точки в зависимости от других параметров БД либо сразу, либо через 2-3 часа.
https://habr.com/ru/companies/gnivc/articles/945742/
#postgresql #lwlock #checkpoint #troubleshooting #sql #бд #базы_данных #постгрес
-
Генерация тестовых данных на Python: руководство по библиотеке Faker
Привет, Хабр! Думаю, многие сталкивались с необходимостью генерации тысячи пользователей. Вручную - не вариант, слишком долго. В данной статье разберу библиотеку Faker. Это генератор реалистичных тестовых данных, который превращает заполнение базы и создание демо-контента из рутины в дело пары строк кода. В статье продемонстрирую, как генерировать тысячи правдоподобных записей на русском, заполнять БД и создавать собственные типы данных для ваших проектов.
https://habr.com/ru/articles/940056/
#Python #Faker #генерация_данных #тестирование #автоматизация #скрипт #библиотека_python #библиотека #база_данных #бд
-
Рефакторинг скриптов liquibase
Неважно почему, но иногда может появиться желание заняться рефакторингом ваших скриптов liquibase. В моём случае постоянно возникали конфликты в общем файле журнала изменений, количество скриптов превратилось в ужасно длинный список, а в самих скриптах невозможно было ориентироваться, поскольку они содержали по 1–2 команды, а в названии файла были только дата и действие. Долго это терпел, долго взвешивал плюсы и минусы, и всё время боролся с желанием всё отрефачить. И в какой-то момент дошёл до точки, когда желание взяло верх. Решение принято: рефакторингу быть! Сразу скажу, приступать было страшно, но сейчас я очень доволен результатом. «Идеальную» структуру мы не получили, пришлось идти на компромиссы и заплатить свою цену, зато в новой структуре удалось вылечить все проблемы. Теперь в ней удобно ориентироваться и читать код, конфликты создаются очень редко, а все скрипты автоматически детектируются liquibase-ом. Но только это конец истории. А вначале было вообще непонятно, как рефакторить журнал изменений, да так, чтобы в существующие базы данных он смог пролиться, и ничего не поломал при этом! Приступаем к рефакторингу
-
Борьба с BIM-коллизиями в инженерных системах или история про создание плагина
Привет, друзья и коллеги по инженерному делу и проектированию! Меня зовут Сергей Погорельский, и я работаю в компании КРОК в качестве эксперта по автоматизации инженерных систем. Работаю с BIM-технологиями 6 лет и недавно защитил диссертацию на эту тему. В этой статье я расскажу вам о том, как мы пришли к разработке собственного плагина по работе с коллизиями и как научились их побеждать в десятки раз быстрее, чем раньше.
https://habr.com/ru/companies/croc/articles/901010/
#BIMколлизии #navisworks #revit #3d #c# #TBD_Clash #бд #базы_данных #плагин #проектирование
-
Борьба с BIM-коллизиями в инженерных системах или история про создание плагина
Привет, друзья и коллеги по инженерному делу и проектированию! Меня зовут Сергей Погорельский, и я работаю в компании КРОК в качестве эксперта по автоматизации инженерных систем. Работаю с BIM-технологиями 6 лет и недавно защитил диссертацию на эту тему. В этой статье я расскажу вам о том, как мы пришли к разработке собственного плагина по работе с коллизиями и как научились их побеждать в десятки раз быстрее, чем раньше.
https://habr.com/ru/companies/croc/articles/901010/
#BIMколлизии #navisworks #revit #3d #c# #TBD_Clash #бд #базы_данных #плагин #проектирование
-
Борьба с BIM-коллизиями в инженерных системах или история про создание плагина
Привет, друзья и коллеги по инженерному делу и проектированию! Меня зовут Сергей Погорельский, и я работаю в компании КРОК в качестве эксперта по автоматизации инженерных систем. Работаю с BIM-технологиями 6 лет и недавно защитил диссертацию на эту тему. В этой статье я расскажу вам о том, как мы пришли к разработке собственного плагина по работе с коллизиями и как научились их побеждать в десятки раз быстрее, чем раньше.
https://habr.com/ru/companies/croc/articles/901010/
#BIMколлизии #navisworks #revit #3d #c# #TBD_Clash #бд #базы_данных #плагин #проектирование
-
Борьба с BIM-коллизиями в инженерных системах или история про создание плагина
Привет, друзья и коллеги по инженерному делу и проектированию! Меня зовут Сергей Погорельский, и я работаю в компании КРОК в качестве эксперта по автоматизации инженерных систем. Работаю с BIM-технологиями 6 лет и недавно защитил диссертацию на эту тему. В этой статье я расскажу вам о том, как мы пришли к разработке собственного плагина по работе с коллизиями и как научились их побеждать в десятки раз быстрее, чем раньше.
https://habr.com/ru/companies/croc/articles/901010/
#BIMколлизии #navisworks #revit #3d #c# #TBD_Clash #бд #базы_данных #плагин #проектирование
-
UUIDv7 — ключ к глобальному поиску с помощью LLM в произвольных внешних системах
Представим себе такой сценарий. Пользователь устно и/или в чате поручает ИИ-агенту найти и приобрести нужный товар с заданными параметрами. ИИ-агент в разговоре уточняет у пользователя задание, составляет описание товара и на его основе формирует запрос к поисковой системе... а затем ищет товар в базах данных поставщиков. Как это реализовать
https://habr.com/ru/articles/893536/
#LLM #UUIDv7 #ииагент #RAG #MCP #бд #schemaorg #ключ #сниппет
-
Опыт разработки на доработанном pgTap
В этой статье я поделюсь своим опытом разработки юнит-тестов внутри базы данных под управлением PostgreSQL. А также расскажу, зачем мне потребовалось доработать расширение pgTap. pgTap – это расширение PostgreSQL для разработки юнит-тестов. Сами тесты, как, собственно, и pgTap, пишутся на plpgSQL, что означает низкий порог вхождения для разработчиков PG. Уверен, что читатель, по крайней мере, знаком с техникой разработки через тесты. Поэтому не буду пускаться в описание теории юнит-тестирования. Благо литературы на эту тему более чем достаточно. Тем не менее, чтобы быть понятым, приведу некоторые детали ниже.
https://habr.com/ru/companies/gnivc/articles/877314/
#unittesting #plpgsql #sql #pgtap #бд #базы_данных #postgresql
-
Опыт разработки на доработанном pgTap
В этой статье я поделюсь своим опытом разработки юнит-тестов внутри базы данных под управлением PostgreSQL. А также расскажу, зачем мне потребовалось доработать расширение pgTap. pgTap – это расширение PostgreSQL для разработки юнит-тестов. Сами тесты, как, собственно, и pgTap, пишутся на plpgSQL, что означает низкий порог вхождения для разработчиков PG. Уверен, что читатель, по крайней мере, знаком с техникой разработки через тесты. Поэтому не буду пускаться в описание теории юнит-тестирования. Благо литературы на эту тему более чем достаточно. Тем не менее, чтобы быть понятым, приведу некоторые детали ниже.
https://habr.com/ru/companies/gnivc/articles/877314/
#unittesting #plpgsql #sql #pgtap #бд #базы_данных #postgresql
-
Опыт разработки на доработанном pgTap
В этой статье я поделюсь своим опытом разработки юнит-тестов внутри базы данных под управлением PostgreSQL. А также расскажу, зачем мне потребовалось доработать расширение pgTap. pgTap – это расширение PostgreSQL для разработки юнит-тестов. Сами тесты, как, собственно, и pgTap, пишутся на plpgSQL, что означает низкий порог вхождения для разработчиков PG. Уверен, что читатель, по крайней мере, знаком с техникой разработки через тесты. Поэтому не буду пускаться в описание теории юнит-тестирования. Благо литературы на эту тему более чем достаточно. Тем не менее, чтобы быть понятым, приведу некоторые детали ниже.
https://habr.com/ru/companies/gnivc/articles/877314/
#unittesting #plpgsql #sql #pgtap #бд #базы_данных #postgresql
-
Опыт разработки на доработанном pgTap
В этой статье я поделюсь своим опытом разработки юнит-тестов внутри базы данных под управлением PostgreSQL. А также расскажу, зачем мне потребовалось доработать расширение pgTap. pgTap – это расширение PostgreSQL для разработки юнит-тестов. Сами тесты, как, собственно, и pgTap, пишутся на plpgSQL, что означает низкий порог вхождения для разработчиков PG. Уверен, что читатель, по крайней мере, знаком с техникой разработки через тесты. Поэтому не буду пускаться в описание теории юнит-тестирования. Благо литературы на эту тему более чем достаточно. Тем не менее, чтобы быть понятым, приведу некоторые детали ниже.
https://habr.com/ru/companies/gnivc/articles/877314/
#unittesting #plpgsql #sql #pgtap #бд #базы_данных #postgresql
-
Как создать дамп базы данных MySQL
MySQL — это наиболее популярная система управления реляционными базами данных выполняющая множество разнородных манипуляций с таблицами: добавление, удаление, поиск, сортировка и вывод по запросу пользователя. Важно понимать, что MySQL, подобно библиотекарю в библиотеке, управляет БД, а не является ею. Поэтому MySQL и база данных отделены друг от друга.
https://habr.com/ru/companies/timeweb/articles/861534/
#timeweb_статьи #mysql #бд #adminer #сервер #GTID #SQL #phpMyAdmin #json
-
Уровни изоляции транзакций в PostgreSQL, MySQL, MSQL, Oracle с примерами на Go
В данной статье обсудим проблемы, возникающие при конкурентной работе с данными, а также инструменты для их решения – атомарные инструкции, явные и неявные блокировки и уровни изолированности транзакций, реализованные в OLTP СУБД PostgreSQL, MySQL, SQL Server, Oracle с примерами на Go. Поговорим о деталях их реализации в указанных СУБД. На примере PostgreSQL проведем benchmark-тестирование производительности уровней изоляции с использованием инструмента pgbench
https://habr.com/ru/articles/857486/
#isolation_levels #transactions #postgresql #mysql #acid #транзакция #уровни_изоляции #уровни_изоляции_бд #бд #atomicity
-
Сайзинг многоуровневого КХД (ч.1 Что сайзим)
Приветствую, ищущий методики и подхода, Гость! Мой многолетний опыт работы в части проектирования и реализации КХД с использованием продуктов иностранных Вендоров, всегда был сопряжен с использованием их обширной инфраструктуры и наработок обеспечивающих и помогающих выполнять вспомогательные задачи быстро и условно качественно. Одной из таких задач всегда являлось выполнение сайзинга разрабатываемого КХД. Вы можете задаться вопросом: " Почему "условно качественно" ? - ответ тут прозаичен и банален: "Инструменты сайзинга не могут однозначно ответить на вопрос, какие характеристики заложить и как посчитать сайзинг КХД до того, как полностью сформировано ТЗ и не расставлены все точки над Ё...", ну и конечно, никакой инструмент не в силах справиться с изменениями требований по ходу проекта, криворукостью разработчиков и применением не оптимальных решений. Как оказалось, после ухода поставщиков программного обеспечения с рынка и массового перехода на OpenSource решения, вместе с софтом "ушли" и прикладные решения для выполнения сайзинга КХД. Методика, которая рассматривается ниже, основывается на следующих послулатах
https://habr.com/ru/articles/827668/
#КХД #Сайзинг #Многоуровневое_хранилище #Расчет_размера_БД #БД #Размер_базы_данных
-
«Переезд» в другую СУБД: как не потерять данные
Привет, Хабр! На связи Александр Чебанов, product owner Modus. Вопросы «переезда» из одной СУБД в другую всплывают регулярно, особенно актуальны они для растущих компаний. Поэтому начнем говорить о миграции и о том, как этот процесс проходит для наших пользователей. Первая статья будет довольно простая и для тех, кто только "смотрит" в сторону смены БД. Поехали!
https://habr.com/ru/companies/modusbi/articles/841200/
#миграция_бд #миграция_данных #миграция #modus #modusbi #бд #dwh
-
«Переезд» в другую СУБД: как не потерять данные
Привет, Хабр! На связи Александр Чебанов, product owner Modus. Вопросы «переезда» из одной СУБД в другую всплывают регулярно, особенно актуальны они для растущих компаний. Поэтому начнем говорить о миграции и о том, как этот процесс проходит для наших пользователей. Первая статья будет довольно простая и для тех, кто только "смотрит" в сторону смены БД. Поехали!
https://habr.com/ru/companies/modusbi/articles/841200/
#миграция_бд #миграция_данных #миграция #modus #modusbi #бд #dwh
-
«Переезд» в другую СУБД: как не потерять данные
Привет, Хабр! На связи Александр Чебанов, product owner Modus. Вопросы «переезда» из одной СУБД в другую всплывают регулярно, особенно актуальны они для растущих компаний. Поэтому начнем говорить о миграции и о том, как этот процесс проходит для наших пользователей. Первая статья будет довольно простая и для тех, кто только "смотрит" в сторону смены БД. Поехали!
https://habr.com/ru/companies/modusbi/articles/841200/
#миграция_бд #миграция_данных #миграция #modus #modusbi #бд #dwh
-
Установка и настройка phpMyAdmin: пошаговая инструкция
phpMyAdmin — это специальная утилита, написанная на PHP, которая реализует графический интерфейс для управления базами данных MySQL через браузер. Помимо визуального отображения таблиц, phpMyAdmin упрощает менеджмент баз данных, позволяя формировать SQL-запросы через панель управления без непосредственного написания команд или какого-либо кода. При этом phpMyAdmin реализует весь функционал SQL-запросов: просмотр, добавление, удаление и изменение баз данных, а также их таблиц, полей и индексов. В этом руководстве мы рассмотрим процесс установки phpMyAdmin и всех его зависимостей на удаленный хост. В показанных примерах используется облачный сервер Timeweb Cloud под управлением Ubuntu 22.04.
https://habr.com/ru/companies/timeweb/articles/824144/
#timeweb_статьи #phpMyAdmin #SQL #MySQL #PHP #Ubuntu #Nginx #FastCGI #Windows #SSH #БД #Cloud #MongoDB #html #веб #хост #FPM #HTTP
-
Миграция Big Data на практике: как мы готовили напильники
Всем привет, меня зовут Алексей Марьин, я IT-лидер стрима «Озеро данных» в ВТБ. До 2019 года мы активно и вполне успешно использовали для анализа и обработки больших данных продукт Oracle Big Data Appliance с Cloudera Hadoop Distribution внутри. И всё было хорошо, пока Oracle не решил прекратить развивать это направление бизнеса. Тогда пришлось задуматься об альтернативе, и мы обратились к Arenadata Hadoop. По пути мы столкнулись с некоторыми, так скажем, особенностями: пришлось кое-что допиливать напильником. Сейчас многие сталкиваются с похожими проблемами импортозамещения продуктов. Так что мы с коллегой, директором проектов службы развития больших данных Дмитрием Власовым, решили написать эту статью, чтобы подсказать решения и предупредить о трудностях.
-
Миграция Big Data на практике: как мы готовили напильники
Всем привет, меня зовут Алексей Марьин, я IT-лидер стрима «Озеро данных» в ВТБ. До 2019 года мы активно и вполне успешно использовали для анализа и обработки больших данных продукт Oracle Big Data Appliance с Cloudera Hadoop Distribution внутри. И всё было хорошо, пока Oracle не решил прекратить развивать это направление бизнеса. Тогда пришлось задуматься об альтернативе, и мы обратились к Arenadata Hadoop. По пути мы столкнулись с некоторыми, так скажем, особенностями: пришлось кое-что допиливать напильником. Сейчас многие сталкиваются с похожими проблемами импортозамещения продуктов. Так что мы с коллегой, директором проектов службы развития больших данных Дмитрием Власовым, решили написать эту статью, чтобы подсказать решения и предупредить о трудностях.
-
Миграция Big Data на практике: как мы готовили напильники
Всем привет, меня зовут Алексей Марьин, я IT-лидер стрима «Озеро данных» в ВТБ. До 2019 года мы активно и вполне успешно использовали для анализа и обработки больших данных продукт Oracle Big Data Appliance с Cloudera Hadoop Distribution внутри. И всё было хорошо, пока Oracle не решил прекратить развивать это направление бизнеса. Тогда пришлось задуматься об альтернативе, и мы обратились к Arenadata Hadoop. По пути мы столкнулись с некоторыми, так скажем, особенностями: пришлось кое-что допиливать напильником. Сейчас многие сталкиваются с похожими проблемами импортозамещения продуктов. Так что мы с коллегой, директором проектов службы развития больших данных Дмитрием Власовым, решили написать эту статью, чтобы подсказать решения и предупредить о трудностях.
-
Как перейти с Oracle на PostgreSQL, используя Ora2Pg
Привет, Хабр! Сегодня мы поговорим об актуальной задаче — миграции баз данных с Oracle на PostgreSQL с использованием Ora2Pg . Сейчас популярность PostgreSQL обоснована его мощностями и экономически выгодной альтернативы коммерческим решениям.
-
Что такое транзакция, ACID, CAP теорема и уровни изоляций транзакций простыми словами
Данный материал позволит вам подготовиться к собеседованию, освежить знания или познакомиться с такими терминами как транзакции, ACID и уровни изоляции. Важно отметить, что речь пойдет о реляционных базах данных , которые наилучшим образом подходят для транзакций и соответствуют критериям ACID.
https://habr.com/ru/companies/alfa/articles/812417/
#acid #транзакция #уровни_изоляции #cap_theorem #бд #уровни_изоляции_бд #isolation_levels #transactions