Все потоки
Поиск
Написать публикацию
Обновить
198.59

Базы данных *

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

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

Уровни изоляции транзакций для собеседования и работы

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

Уровни изоляции транзакций — один из частых вопросов на собеседовании. Есть мнение, что один раз настроил и не вмешиваешься, но на практике не всегда так. Участвовал в нескольких проектах, где незнание уровней изоляции привело к трудноуловимым ошибкам и искажениям данных. В какой ситуации какой уровень изоляции лучше — разбираем в статье.

Читать далее

Сравнение транзакционных систем Oracle и PostgreSQL

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

Механизм реализации транзакций - основная часть реляционных баз данных. Он упрощает разработку приложений, в которых гарантируется целостность данных. Стандарт SQL регламентирует, часть свойств по поддержке транзакций, но многие детали не стандартизованы. Как следствие, реализация поддержки транзакций в разных базах данных может существенно различаться. В настоящее время, многие пытаются перейти с Oracle на PostgreSQL. Для миграции приложений важно понимать различия в реализации работы транзакций, иначе можно столкнуться с неприятными сюрпризами, которые могут поставить под угрозу производительность и целостность данных. Поэтому Лоренс Альбе решил, что полезно сравнить реализацию работы транзакций в Oracle и PostgreSQL и свести различия в одной статье.

Читать далее

Разбираемся с ReplacingMergeTree в ClickHouse

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

В мире систем обработки данных редко встречаются инструменты, которые одновременно просты в использовании и решают болезненные задачи архитекторов и инженеров. ReplacingMergeTree в ClickHouse — один из таких случаев. Этот движок берёт на себя рутину по дедупликации и обновлению строк, позволяя хранить только актуальные версии данных без лишних костылей. Как он работает на практике, зачем нужен ORDER BY, чем помогает столбец version и какие подводные камни могут ждать при проектировании — разбираем в статье.

Читать далее

Записки оптимизатора 1С (ч.13). Что не так в журнале регистрации 1С в формате SQLite?

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

Хочу вернуться к старой проблеме с хранением журнала регистрации 1С в формате SQLite. История стара как мир, но мы нет-нет, а продолжаем с ней сталкиваться, поскольку очень часто большие информационные системы работают далеко не на самых свежих версиях платформы 1С, а администраторы системы не уследили за форматом хранения журнала регистрации (ЖР).

Наглядно посмотрим к чему может приводить ЖР в формате SQLite в многопользовательской нагруженной системе, а также выясним как администраторам и разработчикам понять, что проблема просадки производительности связана с чтением ЖР.

Читать далее

Как успешно мигрировать с Oracle на Postgres Pro Enterprise

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

Миграция с Oracle в «ванильный» PostgreSQL ломается на пакетах, автономных транзакциях и коллекциях — там их просто нет. Разбираем, почему ora2pg спотыкается, что дает нативная реализация этих механизмов в Postgres Pro Enterprise и как ora2pgpro переводит PL/SQL семантически точно, без костылей и регулярок.

Читать далее

Переосмысление материализованных представлений: высокопроизводительный инструмент для единого lakehouse

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

Материализованные представления в StarRocks упрощают моделирование данных, ускоряют запросы и повышают актуальность данных в lakehouse‑архитектуре. Разбираем базовые возможности MV, три практических сценария — моделирование, прозрачное ускорение и «lake + warehouse» — и даём ссылки на актуальные рекомендации для StarRocks 3.5.

Читать далее

Оптимизация БД начинается в пятницу

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

Всем привет, меня зовут Денис Лимарев, я руковожу разработкой в одной из продуктовых команд Uzum Tezkor. В этой статье разберу несколько оптимизаций запросов к БД, которыми наша команда пользуется при разработке своих сервисов, и опишу подход к оптимизациям запросов в целом. В своих проектах мы используем PostgreSQL версии 14.15, поэтому все запросы я проанализировал на ней, и ваши результаты могут отличаться в зависимости от вашей версии.

Читать далее

Не просто ещё один органайзер: Как я создал универсальную платформу для управления знаниями и данными

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

Всем привет!

Хочу поделиться историей создания проекта, над которым я работал последние несколько лет — foxBase (https://fox-base.ru).

Как часто вам приходилось переключаться между десятком приложений для управления разными аспектами вашей работы и жизни? Блокнот для заметок, Excel для финансов, Trello для задач, отдельные инструменты для хранения кода и документации... Знакомая ситуация?

Меня зовут Игорь, я разработчик, и я столкнулся с этой проблемой в полный рост. Мне нужен был один инструмент, который объединил бы всё: от личных заметок до сложных бизнес-форм, от хранения кода до ведения домашнего бюджета. Так родилась идея foxBase.

Что это такое?

foxBase — это веб-приложение для создания универсальных баз знаний и данных. Его ключевая особенность — невероятная гибкость. Это не жёсткий конструктор, а скорее «цифровой конструктор ЛЕГО», где вы сами решаете, как структурировать информацию.

Для кого это?

Читать далее

Почти ультимативный гайд по Criteria API с продвинутыми возможностями Hibernate

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

Вам нужно создать сложный запрос к реляционной БД с изменяющимися параметрами?

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

Читать далее

Проблема маленьких файлов. Оценка замедления S3 и проблем HDFS и Greenplum при работе c ними

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

Не так давно в блоге компании Arenadata был опубликован материал тестирования поведения различных распределенных файловых систем при работе с маленькими файлами (~2 Мб). Краткий вывод: по результатам проверки оказалось, что лучше всего с задачей маленьких файлов справляется старый-добрый HDFS, деградируя в 1.5 раза, S3 на базе minIO не тянет, замедляясь в 8 раз, S3 API над Ozone деградирует в 4 раза, а наиболее предпочтительной системой в при работе с мелкими файлами, по утверждению коллег, является Greenplum, в том числе для компаний «экзабайтного клуба». Коллеги также выполнили огромную работу по поиску «Теоретических подтверждений неожиданных показателей».  

Результаты тестирования в части S3 minIO показались нашей команде неубедительными, и мы предположили, что они могут быть связаны с:

недостаточным практическим опытом эксплуатации SQL compute over S3 и S3 в целом;

отсутствием опыта работы с кластерами minIO. В частности в высоконагруженном продуктивном окружении на 200+ Тб сжатых колоночных данных Iceberg/parquet, особенно в сценариях, где проблема маленьких файлов быстро становится актуальной.

особенностями сборок дистрибутивов;

Мы благодарны коллегам за идею и вдохновение провести аналогичное тестирование. Давайте разбираться.

Читать далее

Генерация тестовых данных на Python: руководство по библиотеке Faker

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

Привет, Хабр! Думаю, многие сталкивались с необходимостью генерации тысячи пользователей. Вручную - не вариант, слишком долго. В данной статье разберу библиотеку Faker. Это генератор реалистичных тестовых данных, который превращает заполнение базы и создание демо-контента из рутины в дело пары строк кода. В статье продемонстрирую, как генерировать тысячи правдоподобных записей на русском, заполнять БД и создавать собственные типы данных для ваших проектов.

Читать далее

Оптимизация производительности с помощью логирования PostgreSQL

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

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

Читать далее

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

Время на прочтение9 мин
Количество просмотров952

На первый взгляд работа с данными может показаться скучной, состоящей из перетаскивания данных из одного хранилища в другое. В этом действительно есть часть правды :) но не вся правда… Если присмотреться, мы увидим, что дата-инженеры помогают компаниям сокращать время на поиск инсайтов, обучение моделей и понимание нужд пользователей. Данные — это новая нефть, поэтому важно понимать, как правильно их организовывать и какие сложности в работе могут повлиять на успешность бизнеса.

Привет, Хабр! Меня зовут Алёна Катренко, и я уже больше 10 лет работаю с данными. Сейчас занимаю позицию руководителя платформы данных в Циане, но начинала как BigData-инженер в Неофлексе. Сегодня расскажу, как мы приручали петабайты данных, искали призраков забытых таблиц и нашли инструмент, который сделал работу с метаданными понятной, безопасной и полезной для бизнеса. А ещё о том, как сейчас развиваться дату-инженеру, чтобы успевать за тенденциями на рынке.

Читать далее

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

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

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

 Привет!

У бизнеса на практике часто встречается задача построить полноценную аналитику, используя данных из excel, csv файлов. Разнообразие подходов к заполнению и образованию таких файлов может быть разное:

Читать далее

Геоданные в PostgreSQL: зачем нужен PostGIS и как он работает

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

PostgreSQL известна как надежная и универсальная СУБД. Но если нужно хранить координаты, строить маршруты или анализировать границы районов, ее базовых возможностей уже не хватает. Здесь на помощь приходит PostGIS. Под катом разберемся, что умеет расширение и как его использовать.

Читать далее

Развёртывание боевого кластера Cassandra. Часть 3

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

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

1. Анализ рабочей нагрузки и требований
2.Разработка схемы данных
3. Настройка хостовых машин
4. Настройка конфигурации Cassandra
= ВЫ НАХОДИТЕСЬ ЗДЕСЬ =
5. Настройка топологии кластера
6. Подключение Prometheus Cassandra Exporter
7. Подключение Prometheus Node Exporter
8. Вывод всех метрик в Grafana
9. Проведение нагрузочного тестирования
10. Дополнительный тюнинг по результатам теста

Двинемся дальше?

Читать далее

Алгоритм как писатель: можно ли написать рассказ на чистом SQL?

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

Обычно SQL используют ради отчётов, аналитики и унылого «выгрузить за вчера». Но у языка запросов есть и другая, неожиданная сторона: если относиться к нему как к инструменту для сочинительства, можно попробовать написать рассказ. Сюжет, герои, диалоги — всё это вполне собирается на голом SQL. В статье я делюсь экспериментом, который начался ради шутки, а закончился странным ощущением, что база данных умеет рассказывать истории.

SQL я впервые выучил не ради красоты — нужен был для работы. Тогда казалось: язык скучный, служебный, без «души». SELECT, WHERE, JOIN… будто молоток или отвёртка. Но однажды, копаясь в старой демо-базе, я обратил внимание на то, что данные сами по себе напоминали короткие предложения. И пришла мысль: а что, если воспринимать таблицу не как набор строк, а как страницу романа?

Сначала это выглядело как дурацкая затея, но чем дальше я шёл, тем больше SQL переставал быть «сухим инструментом» и начинал вести себя как настоящий рассказчик.

Читать далее

Как работать с OpenSearch: обзор полнотекстового поиска и пример использования

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

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

Привет, Хабр! Меня зовут Евгений Ляшенко, я старший разработчик IBS. В эпоху, когда объемы данных растут с каждым днем, эффективный поиск информации становится критически важным для бизнеса и разработчиков. OpenSearch как мощный инструмент для полнотекстового поиска и аналитики предлагает гибкие решения для работы с большими массивами данных. Чтобы наглядно продемонстрировать его работу, я создал pet-проект с поиском по библиотеке книг и фильмов. Но сначала немного теории.

Читать далее

Как мы оптимизировали сбор данных для отчёта маркетологов и придумали новую Google Analytics

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

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

 Пару слов о нашей команде и о том, чем мы занимаемся. У нас 6 инженеров данных и 5 аналитиков — вместе мы помогаем продуктовым командам (тем, кто развивает сайты и приложения) создавать дашборды и отчёты. Они нужны для того, чтобы коллеги видели, как их изменения влияют на бизнес-метрики и поведение пользователей.

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

Как появилась задача

Наши пользователи — маркетологи — каждую неделю сталкивались с одной проблемой. По вторникам у них проходят планёрки с руководством, где они разбирают результаты прошлой недели: что сработало, что можно улучшить. Им критично важно к этому времени уже иметь готовый отчёт, чтобы успеть проанализировать данные и принять решения по рекламе.

Однако наш продукт выдавал отчёты только к 16:00. Кому-то хватает часа на подготовку, кому-то трёх, но пользователи жаловались: они просто не успевают осмыслить данные и сформулировать выводы.

Коллеги обратились к нам с запросом: перенести формирование отчетов на 12:00, чтобы оставалось больше времени на анализ. И мы стали думать, как это сделать своими силами без увеличения команды.  

Читать далее

От реляционных СУБД к экосистеме Hadoop

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

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

Недавно я понял, что не знаю, что такое Hadoop.

(На этом моменте становится понятно, что данная статья ориентирована на людей, которые не имеют экспертизы и реального опыта взаимодействия с продуктами экосистемы Hadoop)

Сам я являюсь разработчиком, и ежедневно взаимодействую с различными СУБД – в основном, с пресловутой PostgreSQL. Каково же было мое удивление, когда я узнал, что на проде в эту БД данные попадают не напрямую – а с какого-то Greenplum, а туда они, в свою очередь, приходят с некоего Hadoop.

В этот момент я решил узнать, чем обоснована необходимость использования этих инструментов и что они из себя представляют.

Читать далее