На код‑ревью регулярно всплывает одна и та же классическая проблема. Открываешь проект нового разработчика, а там финансовые поля вроде price или balance лежат во float или double. На вопрос о причинах такого выбора обычно следует стандартный ответ: «В ORM всё запускается, копейки сохраняются, на локальной машине работает». О том, что при росте базы двоичная логика округления стандарта IEEE 754 начнет искажать расчеты и терять деньги бизнеса, на ускоренных курсах не рассказывают.
Рубрика «бд»
mysql_guard — open source инструмент для автоматического поиска скрытых ошибок в архитектуре баз данных MySQL
2026-06-30 в 15:59, admin, рубрики: аналитика данных, бд, бд mysql, наглядно, примерРефакторинг скриптов liquibase
2025-08-17 в 14:45, admin, рубрики: liquibase, базы данных, бд, рефакторинг
Всем привет! Я уже больше 6 лет занимаюсь разработкой микросервисов, и хочу рассказать про наш опыт работы с liquibase.
Борьба с BIM-коллизиями в инженерных системах или история про создание плагина
2025-04-15 в 10:05, admin, рубрики: 3d, BIM-коллизии, C#, Navisworks, revit, TBD_Clash, базы данных, бд, плагин, проектированиеПривет, друзья и коллеги по инженерному делу и проектированию! Меня зовут Сергей Погорельский, и я работаю в компании КРОК в качестве эксперта по автоматизации инженерных систем. Работаю с BIM-технологиями 6 лет и недавно защитил диссертацию на эту тему.
В этой статье я расскажу вам о том, как мы пришли к разработке собственного плагина по работе с коллизиями и как научились их побеждать в десятки раз быстрее, чем раньше.
Миграция базы данных Grafana: от внутреннего хранилища к PostgreSQL
2025-04-04 в 7:16, admin, рубрики: Grafana, postgres, postgresql, sqlite, sqlite3, бд, миграция, миграция бд, миграция данныхВсем доброго дня! Пишу здесь впервые. На написание меня этой статьи побудило желание рассказать людям об эффективном способе миграции от внутренней базы данных sqlite3 к внешней БД PostgreSQL. Подобной статьи на Хабре я не нашел, поэтому надеюсь будет полезно.
Я перечитал много статей на эту тему и попробовал различные варианты, но получилось у меня только с одним. Спасибо этому человеку: Oodcode. Так же расскажу про остальные способы и что из них вышло.
Предпосылки
Изначально причиной миграции стали ошибки алертов, приходящие из Grafana (~130 штук). А именно: Читать полностью »
Уровни изоляции транзакций в PostgreSQL, MySQL, MSQL, Oracle с примерами на Go
2024-11-11 в 5:15, admin, рубрики: acid, atomicity, isolation levels, mysql, postgresql, transactions, бд, транзакция, уровни изоляции, уровни изоляции бдВступление
В данной статье обсудим проблемы, возникающие при конкурентной работе с данными, а также инструменты для их решения – атомарные инструкции, явные и неявные блокировки и уровни изолированности транзакций, реализованные в OLTP СУБД PostgreSQL, MySQL, SQL Server, Oracle с примерами на Go. Поговорим о деталях их реализации в указанных СУБД. На примере PostgreSQL проведем benchmark-тестирование производительности уровней изоляции с использованием инструмента pgbench.
Docker – compose с СУБД и код примеров можно найти в Читать полностью »
Как упорядочить данные в базе сайта, у которого пять личных кабинетов
2024-10-02 в 8:16, admin, рубрики: бд, госпроекты, менеджментПривет! Меня зовут Миша Шлыков, я менеджер проектов в диджитал-продакшене Далее. Уже два года мы вместе с «Национальными приоритетами» развиваем сайт наука.рф. За это время 30 миллионов человек поучаствовали в проектах Десятилетия науки, а делают его простые люди со всей России. В статье рассказываю о том, как проект добавил +100 к пониманию пользователей с низкой компьютерной грамотностью.
Шпаргалка по SQL (postgres), которая выручает меня на собесах
2023-07-04 в 22:38, admin, рубрики: postgresql, psql, sql, Администрирование баз данных, архитектура, бд, интервью, планировщик, собес, собеседование вопросы, СУБД, Терминология ITПривет!
Я решил посвятить свою первую статью SQL. Вопросы, рассмотренные ниже мне задавали на собеседованиях на позицию python-разработчика. Естественно отвечать правильно получалось не всегда, а если точнее то чаще не правильно, однако проведя N часов в рефлексии я составил перечень ответов, которыми пользуюсь до сих пор.
Данная информация предполагает знание основ языка запросов и я надеюсь, она окажется полезной для разработчиков, которые сейчас активно ищут работу а также, что ты прочитаешь этот текст до конца и добавишь свой вопрос к перечню (ну или поправишь неточности в существующих)Читать полностью »
Testing SQL Server code with tSQLt
2019-09-03 в 9:21, admin, рубрики: automation testing, Microsoft SQL Server, MS Sql Server, qa, qa automation, qa testing, quality assurance, sql, sql server, test automation, testing, testing tools, tsqlt, unit test, unit tests, xunit, бд, Блог компании Аркадия, СУБД, Тестирование IT-систем, Тестирование веб-сервисовFYI: this article is an expanded version of my talk at SQA Days #25.
Based on my experience with colleagues, I can state: DB code testing is not a widely spread practice. This can be potentially dangerous. DB logic is written by human beings just like all other «usual» code. So, there can be failures which can cause negative consequences for a product, business or users. Whether these are stored procedures helping backend or it is ETL modifying data in a warehouse — there is always a risk and testing helps to decrease it. I want to tell you what tSQLt is and how it helps us to test DB code.

Тестируем SQL Server код с tSQLt
2019-09-03 в 9:20, admin, рубрики: automation testing, Microsoft SQL Server, MS Sql Server, qa, qa automation, qa testing, quality assurance, sql, sql server, testing, testing tools, tsqlt, unit test, unit tests, xunit, автоматизация тестирования, бд, Блог компании Аркадия, модульное тестирование, СУБД, СУБД SQL Microsoft, тестирование, Тестирование IT-систем, Тестирование веб-сервисов, тестирование по, юнит-тестыFYI: эта статья представляет собой дополненную версию моего доклада на SQA Days #25.
Опираясь на свой опыт общения с коллегами, могу утверждать: тестирование кода в БД не является распространённой практикой. Это может нести в себе потенциальную опасность. Логику в БД пишут такие же люди, какие пишут «обычный» код. Следовательно, там так же могут присутствовать ошибки, и они так же могут повлечь за собой негативные последствия для продукта, бизнеса и потребителей. Неважно, идёт ли речь о хранимых процедурах, помогающих бэкенду, или о ETL, преобразующих данные в хранилище — риск есть, и тестирование может его существенно снизить. О том, что такое tSQLt и как оно помогает нам в тестировании кода в SQL Server, я и хочу вам рассказать.

Анализ инцидента 21 октября на GitHub
2018-10-31 в 15:29, admin, рубрики: github, mysql, Orchestrator, бд, внесение неисправностией, высокая производительность, репликация, Серверное администрирование, согласованность, Тестирование IT-систем, хаос-инжиниринг, хранение данныхРоковые 43 секунды, которые вызвали суточную деградацию сервиса
На прошлой неделе в GitHub произошёл инцидент, который привёл к деградации сервиса на 24 часа и 11 минут. Инцидент затронул не всю платформу, а только несколько внутренних систем, что привело к отображению устаревшей и непоследовательной информации. В конечном счете данные пользователей не были потеряны, но ручная сверка нескольких секунд записи в БД выполняется до сих пор. На протяжении почти всего сбоя GitHub также не мог обрабатывать вебхуки, создавать и публиковать сайты GitHub Pages.
Все мы в GitHub хотели бы искренне извиниться за проблемы, которые возникли у всех вас. Мы знаем о вашем доверии GitHub и гордимся созданием устойчивых систем, которые поддерживают высокую доступность нашей платформы. С этим инцидентом мы вас подвели и глубоко сожалеем. Хотя мы не можем отменить проблемы из-за деградации платформы GitHub в течение длительного времени, но можем объяснить причины произошедшего, рассказать об усвоенных уроках и о мерах, которые позволят компании лучше защититься от подобных сбоев в будущем.
Читать полностью »
