Как стать автором
Обновить
135.37

Администрирование баз данных *

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

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

Что нам стоит Resource Governor настроить

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

Наверное, каждый, кто работает с SQL Server оказывался, или ещё окажется, в такой ситуации: вечер пятницы, ты уже мысленно готов отдыхать и тут начинают прилетать уведомления о высокой нагрузке на CPU твоего SQL Server, телефон начинает звонить и в системе мониторинга ты видишь картинку как на КДПВ.

И, с одной стороны, в этом может не быть особой проблемы - да, серверу тяжело, да, это неприятно, но ведь, господи, ну сформируется ваш отчёт не за 15, а за 45 секунд - делов-то, вы же видите - вас много, а сервер один, нужно просто немножко подождать. Но что, если при всём при этом, есть какие-то бизнес-процессы, которые не могут ждать? Что если при такой нагрузке продажа товара становится настолько медленной, что покупатели отказываются от покупки?

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

И иногда их и правда можно разделить
Всего голосов 22: ↑22 и ↓0+22
Комментарии20

PostgreSQL Antipatterns: «Бесконечность — не предел!», или Немного о рекурсии

Время на прочтение4 мин
Количество просмотров7.3K
Рекурсия — очень мощный и удобный механизм, если над связанными данными делаются одни и те же действия «вглубь». Но неконтролируемая рекурсия — зло, которое может приводить или к бесконечному выполнению процесса, или (что случается чаще) к «выжиранию» всей доступной памяти.


СУБД в этом отношении работают по тем же принципам — "сказали копать, я и копаю". Ваш запрос может не только затормозить соседние процессы, постоянно занимая ресурсы процессора, но и «уронить» всю базу целиком, «съев» всю доступную память. Поэтому защита от бесконечной рекурсии — обязанность самого разработчика.

В PostgreSQL возможность использовать рекурсивные запросы через WITH RECURSIVE появилась еще в незапамятные времена версии 8.4, но до сих пор можно регулярно встретить потенциально-уязвимые «беззащитные» запросы. Как избавить себя от проблем подобного рода?
Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии9

В Tarantool можно совместить супербыструю базу данных и приложение для работы с ними. Вот как просто это делается

Время на прочтение15 мин
Количество просмотров12K
Пять лет назад я попробовал работать с Tarantool, но тогда он мне не зашел. Но недавно я проводил вебинар, где рассказывал про Hadoop, про то, как работает MapReduce. Там мне задали вопрос — «А почему под эту задачу не использовать Tarantool?».

Ради любопытства я решил вернуться к нему, протестировать последнюю версию — и на этот раз проект мне очень понравился. Сейчас я покажу, как написать в Tarantool простое приложение, нагружу его и проверю производительность, и вы увидите, как там все легко и круто.


Читать дальше →
Всего голосов 36: ↑36 и ↓0+36
Комментарии42

10 приёмов работы с Oracle

Время на прочтение26 мин
Количество просмотров53K
В Сбере есть несколько практик Oracle, которые могут оказаться вам полезны. Думаю, часть вам знакома, но мы используем для загрузки не только ETL-средства, но и хранимые процедуры Oracle. На Oracle PL/SQL реализованы наиболее сложные алгоритмы загрузки данных в хранилища, где требуется «прочувствовать каждый байт».

  • Автоматическое журналирование компиляций
  • Как быть, если хочется сделать вьюшку с параметрами
  • Использование динамической статистики в запросах
  • Как сохранить план запроса при вставке данных через database link
  • Запуск процедур в параллельных сессиях
  • Протягивание остатков
  • Объединение нескольких историй в одну
  • Нормалайзер
  • Визуализация в формате SVG
  • Приложение поиска по метаданным Oracle
Читать дальше →
Всего голосов 21: ↑20 и ↓1+19
Комментарии18

Истории

Виды репликации в MongoDB

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


Привет, хабровчане! Расшифровали для вас часть урока по MongoDB от Евгения Аристова, разработчика с 20-летним стажем и автора онлайн-курса «Нереляционные базы данных». Материал, как и сам курс, будет полезен специалистам, сталкивающимся в работе с NoSQL, желающим научиться оптимизировать свои базы данных и работу с ними.
Читать дальше →
Всего голосов 12: ↑11 и ↓1+10
Комментарии8

Знакомство с pg_probackup. Вторая часть

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

Продолжаем знакомиться с инструментом pg_probackup.

В первой части мы установили pg_probackup, создали и настроили экземпляр, сняли два бэкапа — полный и инкрементный в режиме DELTA, научились просматривать и изменять конфигурацию экземпляра. Получили список бэкапов, написали скрипт (bkp_base.sh), производящий резервное копирование кластера и отправку результатов последней операции по снятию бэкапа в систему мониторинга. Сегодня будем решать не менее интересные задачи.

Задача 2


Дано: У нас есть два сервера, на первом у нас располагается наша база данных (имя хоста srv_db1, пользователь postgres), а на втором мы будем хранить бэкапы (имя хоста srv_bkp, пользователь backup_user). Но помимо бэкапов на этом же сервере мы будем хранить копии журналов предварительной записи, чтобы иметь возможность восстановления на произвольный момент времени (Point-in-time recovery) в течение последних 3х дней.
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии21

Переезжаем на ClickHouse: 3 года спустя

Время на прочтение19 мин
Количество просмотров21K
Три года назад Виктор Тарнавский и Алексей Миловидов из Яндекса на сцене HighLoad++ рассказывали, какой ClickHouse хороший, и как он не тормозит. А на соседней сцене был Александр Зайцев с докладом о переезде на ClickHouse с другой аналитической СУБД и с выводом, что ClickHouse, конечно, хороший, но не очень удобный. Когда в 2016 году компания LifeStreet, в которой тогда работал Александр, переводила мультипетабайтовую аналитическую систему на ClickHouse, это была увлекательная «дорога из желтого кирпича», полная неведомых опасностей — ClickHouse тогда напоминал минное поле.

Три года спустя ClickHouse стал гораздо лучше — за это время Александр основал компанию Altinity, которая не только помогает переезжать на ClickHouse десяткам проектов, но и совершенствует сам продукт вместе с коллегами из Яндекса. Сейчас ClickHouse все еще не беззаботная прогулка, но уже и не минное поле.

Александр занимается распределенными системами с 2003 года, разрабатывал крупные проекты на MySQL, Oracle и Vertica. На прошедшей HighLoad++ 2019 Александр, один из пионеров использования ClickHouse, рассказал, что сейчас из себя представляет эта СУБД. Мы узнаем про основные особенности ClickHouse: чем он отличается от других систем и в каких случаях его эффективнее использовать. На примерах рассмотрим свежие и проверенные проектами практики по построению систем на ClickHouse.


Всего голосов 35: ↑35 и ↓0+35
Комментарии9

История о физическом удалении 300 миллионов записей в MySQL

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

Введение


Привет. Я ningenMe, веб-разработчик.

Как сказано в названии, моя история — это история о физическом удалении 300 миллионов записей в MySQL.

Я заинтересовался этим, поэтому решил сделать памятку (инструкцию).

Начало — Alert


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

Обычно этот процесс завершается примерно в течение 1 часа, но в этот раз он не завершался 7 или 8 часов, и alert не переставал вылазить…
Читать дальше →
Всего голосов 13: ↑7 и ↓6+1
Комментарии6

Конференция Graph+AI World 2020 — графовые алгоритмы и машинное обучение

Время на прочтение5 мин
Количество просмотров2.5K
Graph+AI World

28-30 сентября пройдёт конференция Graph+AI World 2020 для людей, не равнодушных к графовым технологиям и машинному обучению. Мероприятие будет проходить онлайн в течение трех дней, участие бесплатное.

Организатором выступила компания TigerGraph, создатель одноименной Графовой БД, а в программе будут доклады от спикеров из различных компаний: Intel, KPMG, AT&T, Forbes, Intuit, UnitedHealth Group, Jaguar Land Rover, Xilinx, Xandr, Futurist Academy и др.

Зачем участвовать Руководителю или Инженеру и присоединиться к одному из 3000 участников из 110 Fortune 500 компаний? Добро пожаловать под кат.

Для тех, кто сразу хочет принять участие, ссылка на регистрацию.
Читать дальше →
Всего голосов 10: ↑8 и ↓2+6
Комментарии2

Обзор операторов PostgreSQL для Kubernetes. Часть 1: наш выбор и опыт

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


Всё чаще от клиентов поступают такие запросы: «Хотим как Amazon RDS, но дешевле»; «Хотим как RDS, но везде, в любой инфраструктуре». Чтобы реализовать подобное managed-решение на Kubernetes, мы посмотрели на текущее состояние наиболее популярных операторов для PostgreSQL (Stolon, операторы от Crunchy Data и Zalando) и сделали свой выбор.

Эта статья — полученный нами опыт и с теоретической точки зрения (обзор решений), и с практической стороны (что было выбрано и что из этого получилось). Но для начала давайте определимся, какие вообще требования предъявляются к потенциальной замене RDS…
Читать дальше →
Всего голосов 54: ↑53 и ↓1+52
Комментарии27

14 вещей, которые я хотел бы знать перед началом работы с MongoDB

Время на прочтение8 мин
Количество просмотров33K
Перевод статьи подготовлен в преддверии старта курса «Нереляционные базы данных».





Основные моменты:

  • Крайне важно разработать схему несмотря на то, что в MongoDB она необязательна.
  • Аналогично, индексы должны соответствовать вашей схеме и шаблонами доступа.
  • Избегайте использования больших объектов и больших массивов.
  • Будьте осторожны с настройками MongoDB, особенно если речь идет о безопасности и надежности.
  • В MongoDB нет оптимизатора запросов, поэтому вы должны быть осторожны при выполнении операций запроса.

Я очень давно работаю с базами данных, но только недавно открыл для себя MongoDB. Есть несколько вещей, которые я хотел бы знать перед началом работы с ней. Когда у человека уже есть опыт в определенной сфере, у него существуют предвзятые представления о том, что такое базы данных и что они делают. В надежде облегчить задачу понимания другим людям, представляю список распространенных ошибок.
Читать дальше →
Всего голосов 40: ↑29 и ↓11+18
Комментарии13

PostgreSQL 13: happy pagination WITH TIES

Время на прочтение2 мин
Количество просмотров11K
На прошедшей неделе вышло сразу две статьи (от Hubert 'depesz' Lubaczewski и автора самого патча Alvaro Herrera), посвященные реализованной в грядущей версии PostgreSQL 13 поддержке опции WITH TIES из стандарта SQL:2008:
OFFSET start { ROW | ROWS }
FETCH { FIRST | NEXT } [ count ] { ROW | ROWS } { ONLY | WITH TIES }
Что это, и как оно избавляет от проблем с реализацией пейджинга, о которых я рассказывал в статье «PostgreSQL Antipatterns: навигация по реестру»?


Читать дальше →
Всего голосов 40: ↑40 и ↓0+40
Комментарии0

Как загрузить данные в Google BigQuery

Время на прочтение5 мин
Количество просмотров11K
Перевод статьи подготовлен в преддверии старта курса «Нереляционные базы данных».




В этой статье мы рассмотрим варианты загрузки данных в облачное хранилище Google BigQuery. Сюда входят простые способы загрузки данных из CSV/JSON файлов и способы загрузки через API или расширение.

С помощью Google BigQuery (GBQ) можно собирать данные из разных источников и анализировать их с помощью SQL-запросов. Среди преимуществ GBQ — высокая скорость вычислений даже на больших объемах данных и низкая стоимость.

Зачем нужно загружать данные в единое хранилище? Если вы хотите использовать сквозную аналитику, генерировать отчеты из сырых данных и оценивать эффективность вашего маркетинга, то вам нужен Google BigQuery.
Читать дальше →
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

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

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн

Трудности масштабирования бэкенда онлайн-кинотеатра. Доклад Яндекса

Время на прочтение8 мин
Количество просмотров3.6K
Бэкенд КиноПоиска HD — это платформа для передачи контента с помощью технологии Over the Top (OTT) на разные устройства, регионы и площадки. На нашей конференции о видеотехнологиях PlayButton я рассказал, как мы составляем персональные рекомендации, с какими трудностями справились, а какие еще собираемся преодолеть.


— Начну с того, откуда пошли онлайн-кинотеатры.
Читать дальше →
Всего голосов 10: ↑8 и ↓2+6
Комментарии5

Метод научного тыка, или как подобрать конфигурацию субд с помощью бенчмарков и оптимизационного алгоритма

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

Здравствуйте.


Решил поделится своей находкой — плодом раздумий, проб и ошибок.
По большому счёту: это никакая не находка, конечно же — всё это должно быть давно известно, тем кто занимается прикладной стат-обработкой данных и оптимизацией каких либо систем, не обязательно именно СУБД.
И: да знают, пишут занятные статьи по своим ресерчам, пример (UPD.: в комментариях указали на очень интересный проект: ottertune )
С другой стороны: навскидку не усматриваю широкого упоминания, распространения такого подхода, в интернете, среди ит-специалистов, ДБА.


Итак, к сути.

Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии8

Введение в графовые базы данных SQL Server 2017

Время на прочтение8 мин
Количество просмотров16K
В преддверии старта курса «MS SQL Server Developer» подготовили для вас еще один полезный перевод.




Графовые базы данных — это важная технология для специалистов по базам данных. Я стараюсь следить за инновациями и новыми технологиями в этой области и, после работы с реляционными и NoSQL базами данных, я вижу, что роль графовых баз данных становится все больше. В работе со сложными иерархическими данными малоэффективны не только традиционные базы данных, но и NoSQL. Часто, с увеличением количества уровней связей и размера базы, наблюдается снижение производительности. А с усложнением взаимосвязей увеличивается и количество JOIN.
Читать дальше →
Всего голосов 12: ↑11 и ↓1+10
Комментарии1

Вебинары Hewlett Packard Enterprise | Сентябрь-октябрь 2020

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


В новой серии технических вебинаров Hewlett Packard Enterprise вы узнаете о cпособах достижения 100% доступности и защиты данных, технологиях Wi-Fi 6, сетевом консалтинге, ключевых обновлениях систем хранения данных HPE, а также о преимуществах облака для вашего ЦОД и не только.

Зарегистрироваться и узнать подробнее о каждом вебинаре вы можете ниже. Полный список вебинаров доступен по этой ссылке или на сайте

Читать дальше →
Всего голосов 1: ↑0 и ↓1-1
Комментарии0

Инкрементальные бэкапы PostgreSQL с pgBackRest. Часть 2. Шифрование, загрузка в S3, восстановление на новый сервер, PITR

Время на прочтение7 мин
Количество просмотров8.3K
Данная статья — продолжение статьи «Инкрементальные бэкапы postgresql с pgbackrest — курс молодого бойца от разработчика».

В первой части мы научились делать инкрементальные бэкапы, загружать их на удаленный сервер (репозиторий с бэкапами) и откатываться на последний бэкап.
В этой статье мы научимся шифровать бэкапы, загружать их в S3-совместимое хранилище (вместо второго сервера-репозитория), восстанавливаться на чистый кластер и, наконец, восстанавливаться на определенный момент времени (point in time recovery, PITR).
Читать дальше →
Всего голосов 4: ↑4 и ↓0+4
Комментарии1

Типичные ошибки при построении высокодоступных кластеров и как их избежать. Александр Кукушкин

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


Вы только что установили PostgreSQL и запустили ваш первый кластер, создали несколько таблиц, загрузили данные, и даже немного подкрутили конфигурацию PostgreSQL для улучшения производительности. Теперь вы думаете о том, как сделать ваш кластер высокодоступным. К сожалению, PostgreSQL не умеет сам выполнять автоматическое переключение при недоступности мастера, но, к счастью для нас, этого можно достичь с помощью сторонних утилит. Задача ясна, и вы начинаете изучать преимущества и недостатки всех утилит, чтобы выбрать лучшую. И… вы уже на неправильном пути, потому что в первую очередь вы должны определиться со значениями SLA, RTO и RPO. В этом докладе я планирую рассказать о ряде ошибок, которые допускают администраторы баз данных при настройке и эксплуатации высокодоступного кластера Постгреса с автоматическим переключением.

Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии0

PostgreSQL Query Profiler: как сопоставить план и запрос

Время на прочтение6 мин
Количество просмотров11K
Многие, кто уже пользуется explain.tensor.ru — нашим сервисом визуализации планов PostgreSQL, возможно, не в курсе одной из его суперсособностей — превращать сложно читаемый кусок лога сервера…


… в красиво оформленный запрос с контекстными подсказками по соответствующим узлам плана:


В этой расшифровке второй части своего доклада на PGConf.Russia 2020 я расскажу, как нам удалось это сделать.
С транскриптом первой части, посвященной типовым проблемам производительности запросов и их решениям, можно ознакомиться в статье «Рецепты для хворающих SQL-запросов».
Всего голосов 13: ↑13 и ↓0+13
Комментарии5