Как стать автором
Поиск
Написать публикацию
Обновить
207.99

Базы данных *

Все об администрировании БД

Сначала показывать
Период
Уровень сложности

Сегментация клиентов методом K-Means на стороне БД

Время на прочтение4 мин
Количество просмотров1.5K

Привет, Хабр!

Сегодня мы рассмотрим, как заставить PostgreSQL самостоятельно крутить K-Means для сегментации клиентов, не вытаскивая данные наружу. Пройдемся по циклу: нормализуем фичи в materialized view, напишем функцию PL/PythonU, которая дергает scikit-learn, сохраняем cluster_id обратно в таблицу и закрываем гештальт отчётом «доход по кластеру» чистым SQL.

Читать далее

Мета-ориентирование, баланс между классическим документированием и автодокументированием

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров681

Добрый день! Меня зовут Воронин Николай, я занимаюсь автоматизацией систем отчётности и анализа в ПГК Диджитал.

Моя статья является структурированием личного опыта, полученного в конкретных условиях, он не претендует на статус best‑practice, допускает ситуации, в которых могут существовать более эффективные решения или проблема не стоит в целом.

Мета‑ориентирование — это общее название, в рамках статьи, для совокупности навыков и подходов, облегчающих понимание частных алгоритмов и потоков данных в большой системе со сложными связями между множеством объектов.

В моём случае речь пойдёт о комплексе нескольких BI систем, существующих параллельно, но сложности вполне могут возникать и в рамках одной, достаточно массивной системы отчётности.

Читать далее

Максимизация производительности ScyllaDB

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров1.5K

ScyllaDB — это высокопроизводительная распределённая NoSQL-база данных, совместимая с Apache Cassandra, но в разы более быстрая за счет того, что написана на C++. Однако, несмотря на сверхбыструю скорость работы, можно ли сделать ее еще быстрее?

Читать далее

PostgreSQL Connection Pooling: Наш опыт и с чем его едят

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров8.7K

Как обеспечить высокую производительность PostgreSQL и эффективно управлять соединениями? В этой статье мы разберёмся, как правильно настроить пул соединений, какие преимущества он даёт и как избежать распространённых ошибок. Делимся нашим опытом перехода с MongoDB на PostgreSQL и работы с пулом в Go с использованием pgx.

Читать далее

Вопрос на техинтервью аналитика и разработчика: “Назовите способы проверки username на уникальность”

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров24K

Продолжаем посты на тему технических интервью. Новый пост, который мы позаимствовали у автора Дилана Смита, будет для джунов по специальностям «Системный аналитик», «Backend‑разработчик» и «Fullstack‑разработчик». Иногда такой вопрос также попадается на интервью архитекторам и инженерам баз данных. Ответ на вопрос из заголовка может быть как очень коротким, где всего четыре пункта, так и развернутым — включая примеры кода и диаграммы. Естественно, мы рассмотрим тему во всех подробностях.

Читать далее

Как надёжно стереть секретную информацию из базы данных

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров4.2K

Зачем вообще "надёжно" стирать данные? Главное же, чтобы пользователь через интерфейс СУБД не мог их достать. Мало ли, что там за остатки данных в файлах болтаются, это же не проблема. Или нет?

Читать далее

Транзакции в базах данных на примере PostgreSQL

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров22K

Транзакция — это набор операций с базой данных. В этот набор может входить как одна операция, так и несколько. Операции внутри транзакции либо выполняются все и полностью, либо ни одна операция не выполняется. Это свойство еще называют атомарностью. Транзакция переводит базу данных из одного согласованного состояния в другое. Согласованность означает что данные в базе данных подчиняются определенным правилам, которые были заложены при ее создании. К примеру, у нас есть две таблицы — Покупатели (Customer) и Покупки (Purchase).

Читать далее

Оптимистические и пессимистические блокировки на примере Hibernate (JPA)

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров14K

Привет, Хабр! Недавно пытался изучить тему «оптимистические» и «пессимистические» блокировки, но на мое удивление ни в ру сегменте, ни в англ — хороших статей, которые дают полное представление об двух типах блокировок с применением Hibernate, — нет, поэтому я решил агрегировать всю информацию в одной короткой статье. Так как это моя первая статья, буду рад критике:) Итак, погнали.

P. S. Это статья не является полным гайдом, так как в первую очередь она нацелена на то, чтобы дать понятное описание двух решений одной проблемы, а если нужны примеры использования, то добро пожаловать в Google:)

Читать далее

Как упростить управление базами данных и снизить расходы

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров3.8K

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

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

Читать далее

Добавление базы данных Postgres в проект и запуск миграций через Flyway для NestJS-mod приложения

Время на прочтение18 мин
Количество просмотров1.4K

База данных будет подниматься через Docker Compose.

Миграции пишутся вручную и запускаются через Flyway мигратор.

Приложение имеет свой логин и пароль, который отличается от рутового.

Конфигурации для Docker Compose и Flyway генерируются через запуск NestJS-mod в режиме инфраструктуры.

Читать далее

Firebird Conf 2024

Уровень сложностиПростой
Время на прочтение15 мин
Количество просмотров1.3K

Шестого июня прошла конференция Firebird Conf 2024, организованная компанией Ред Софт. Были озвучены доклады как о планах развития Firebird и Ред база данных, так и об опыте использования и внедрения Firebird. Мы взяли интервью у организаторов и докладчиков, поговорили с ними о докладах и впечатлениях от конференции в целом.

Читать далее

Разработка многопоточной Базы Данных: Ключевые аспекты и примеры реализации ( C++ )

Время на прочтение6 мин
Количество просмотров4K

Эта статья посвящена разработке многопоточной базы данных. Мы рассмотрим основные компоненты, такие как хранилище данных, транзакционные системы, многопоточность, журналирование и восстановление, а также создание API для взаимодействия с базой данных. Примеры кода на языке C++ помогут лучше понять реализацию различных аспектов многопоточной базы данных.

Читать далее

Как я подвергся «хакерской атаке»

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров5.1K

Привет всем, меня зовут Никита, я начинающий backend-разработчик. Сегодня хочу вам рассказать про атаку, которая произошла при изучении новой технологии, а именно redis'а.

хакнуть

Ближайшие события

Шесть вредных советов по работе с Patroni на случай, если вы не хотите спать ночью

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров2.2K

Привет, Хабр!

О том, как правильно готовить кластеризацию для PostgreSQL, написано уже достаточно. А потому сегодня вашему вниманию предлагается небольшой сборник рекомендаций, как администратору СУБД под управлением Patroni гарантированно проснуться в три часа ночи от звонка из отдела мониторинга.

Читать далее

Один из методов мониторинга и анализа ошибок СУБД

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров4.8K


Очень неприятная ситуация для DBA: «что-то происходит с СУБД, но что именно — нет информации». Первый и иногда достаточный способ избежать неопределенности — всегда иметь полную информацию о нештатных ситуациях в работе СУБД на текущий период и в истории. Для решения этой в общем то стандартной задачи и нужно мониторить и анализировать лог СУБД. PostgreSQL в данном случае не исключение.

К рассмотрению предлагается один из способов мониторинга ошибок СУБД PostgreSQL и получением итоговой информации, используя Zabbix. Данная статья не tutorial и не roadmap, скорее как эскиз для обмена мнениями с коллегами.
Читать дальше →

Clickhouse: прогулки по граблям

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров9.9K

Добрый день, Хабр! 

Меня зовут Олег, я являюсь Backend-разработчиком в IT-компании «Философт» последние полтора года. Мы занимаемся разработкой платформы для жителей, подключённых к нашей системе, которая призвана помочь взаимодействовать с различными «умными» устройствами, коммуницировать с управляющей компанией, оплачивать счета ЖКХ и т.п.

Изначально разработка велась силами подрядчиков, оставивших после себя крайне посредственного качества монолит, который мы с коллегами приводим в приличный вид, постепенно распиливая на модули, а также занимаемся внедрением новых возможностей и интеграций. Одной из областей взаимодействия с пользователями является отображение показаний приборов учёта (электричество, водоснабжение и т.п.). Не так давно эта область кода была подвергнута достаточно масштабному рефакторингу и переработке, в рамках чего и состоялось наше знакомство с БД Clickhouse. 

Читать далее

Управляй и властвуй: как мы создали Platform V Dictionaries — централизованное управление справочными данными

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров1.6K

Привет, Хабр!

Справочные данные — неотъемлемая часть бизнеса. Информация о клиентах, продуктах, сотрудниках накапливается в компании годами и требует систематической актуализации и структурирования. В решении этих задач не обойтись без системы управления мастер-данными.

Меня зовут Иван Фролов, я ведущий руководитель IT-направления в СберТехе — компании, которая строит Platform V, цифровую платформу Сбера для разработки бизнес-приложений.

Мы развиваем Platform V Dictionaries — продукт для централизованной работы с критичными для бизнеса справочными данными. В статье расскажу, как и зачем мы создали этот инструмент и какие задачи он помогает нам решать.

Читать далее

Репликация сегментов в OpenSearch

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров2.8K


Многие наши коллеги всё больше смотрят в сторону OpenSearch, который постепенно обрастает всё новыми и новыми функциями. В телеграм-канале мы уже публиковали пост с описанием обновлений в версии 2.7, среди которых есть репликация сегментов (есть ещё и поиск по снэпшотам, но о нём как-нибудь в другой раз). Репликация сегментов — это альтернатива репликации документов. При репликации документов все ноды-реплики выполняют ту же операцию индексирования, что и основная нода. При репликации сегментов только основная нода выполняет операцию индексирования, создавая файлы сегментов, которые далее копируются на каждую ноду-реплику. При такой схеме репликации нагрузка по индексированию ложится только на основную ноду, освобождая ресурсы на репликах для использования под другие операции. В этом посте мы расскажем о концепции репликации сегментов, преимуществах и недостатках по сравнению с репликацией документов. Велком ту подкат.
Читать дальше →

Как великану из страны 1С пересесть на слона?

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров15K

В 1С у нас есть редкая свобода перехода с одной СУБД на другую (MS SQL, Oracle, Db2, Postgres). Но чем больше база, тем больше цена свободы. Данная статья позволяет спрогнозировать время, которое Вы потратите на переход с MS SQL на Postgres простой конвертацией через Dt.

Читать далее

MongoDB vs PostgreSQL: основные различия и особенности миграции

Время на прочтение8 мин
Количество просмотров21K

Механизм хранения данных может меняться на протяжении всего жизненного цикла приложения. Абсолютно нормально, когда от решения, которое использовалось на старте, отказываются в пользу более подходящего спустя пару лет эксплуатации. Частый сценарий — «переезд» с MongoDB на PostgreSQL.

В статье расскажем о ключевых различиях между MongoDB и PostgreSQL, а также сложностях, которые возникают в результате смены СУБД. Дополнительно разберём способы миграции с MongoDB на PostgreSQL.

Ещё по теме: «Как перейти с MongoDB на Postgres без простоев и сократить расходы на 30%»

Читать далее