Pull to refresh
393
18.8
Дмитрий EvilDBA @Tzimie

DBA

Send message

Когда Станислав Лем come true

Level of difficultyEasy
Reading time4 min
Views3.3K

Лем - "неровный" писатель. Есть у него очень хорошие вещи, а есть проходные. Серия "Дневники Йона Тихого" содержит и стеб, и политическую сатиру, но есть и очень глубокая вещь - это 21е путешествие.

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

Читать далее

И снова философские зомби и квалиа

Reading time3 min
Views2.2K

Недавно я прочитал статью Парадокс Ньюкома и искусственный интеллект и понял, что с появлением ИИ многие мысленные эксперименты стали реальными. Действительно, ИИ можно сохранять, стирать память, клонировать итд. А что сам ИИ думает по этому поводу?

Читать далее

MSSQL: красиво рисуем историю выполнения Agent jobs

Reading time1 min
Views1.4K

На этот раз более простая и красивая визуализация. Речь пойдет о том, как нарисовать историю выполнения SQL Agent jobs — как раз тех, с которыми все время имеет дело DBA.

Читать далее

MSSQL: рисуем метрики из Query Store на листинге процедуры

Level of difficultyMedium
Reading time2 min
Views910

В моей предыдущей статье я отображал метрики из записанного SQL profiler trace на листинг stored процедуры. Это идеально подходит к тестовым окружениям, но в production надо быть осторожным, и запись "частых" событий могут увеличивать CPU сервера и замедлять его работу.

@speshuric предложил использовать данные из Query Store. Там, правда, нет номеров строк. Но можно выкрутиться, так как есть смещения и можно посчитать количество переводов строки до смещения. Итак, сказано - сделано!

Читать далее

MSSQL: тепловые диаграммы индексов в виде TreeView

Level of difficultyMedium
Reading time2 min
Views1.3K

Вам интересно, какие индексы используются больше или меньше? Какие не используются вовсе? Какие таблицы и индексы самые большие? Очень легко создать такие диаграммы. Это и красиво, и полезно.

Читать далее

Быть админом

Level of difficultyEasy
Reading time3 min
Views4.4K

Мне кажется, что на одного админа приходится довольно много программистов. Многие стараются «войти в айти» либо напрямую, либо через QA. В админы идут редко. Поэтому на habr много обсуждений, а вот админов почти не упоминают. А, между прочим, у нас многое по другому. Поэтому я решил восполнить этот пробел статьей.

Читать далее

Раскраска листинга процедуры T-SQL значениями метрик

Level of difficultyMedium
Reading time3 min
Views1.1K

Сразу покажу, о чем идет речь, чтобы вы решили, нужно вам это или нет. На текст процедуры мы отображаем данные о числе выполнений, cpu, duration, о числе чтений и записей и числе обработанных записей.

Читать далее

Построение Flame Chart для MSSQL

Reading time3 min
Views1.3K

Если в вашем коде TSQL много вложенных вызовов stored procedures, вы можете наглядно построить стек вызовов с помощью «flame chart» — стандартным представлением для профилирования вызовов.

Опишем по шагам всю процедуру.

Читать далее

Катастрофическое падение производительности из-за hyperthreading

Reading time4 min
Views29K

Недавно я писал статью - что такое 50% cpu? На системах с hyperthreading 50% cpu по метрикам означает, что большая часть ресурсов сервера уже использована. То есть cpu>50% - это уже "желтая зона", и мы ожидаем замедление всего, чего можно. Но я никогда не думал до экспериментов, что падение может быть столь катастрофическим.

Для экспериментов я использую MSSQL. Если вы не связаны с базами, прочитайте первую часть по диагонали до выводов.

Читать далее

Как войти в айти, если на дворе 1991 год

Reading time5 min
Views30K

Я написал ряд статей по истории техники, с которой сталкивался. Раз, Два, Три, Четыре. Но эти статьи были посвящены технике. А как было с наймом на работу?

Итак, на дворе 1991 год. Вы не знаете, кто вы — джуниор, миддл и сеньер, потому что никто не знает этих слов. Вы не поймете слова «стек», но после дополнительных пояснений можете объяснить, железячник вы или по программам. Скорее всего «писишки». Есть узкие специалисты, Novell Netware, например.

Ну и поиск работы. Нет сайтов linkedin и hh.ru... Да собственно, никаких сайтов нет.

Читать далее

Насколько сложна ваша работа MS SQL server DBA?

Reading time1 min
Views3.3K

Посчитаем по пунктам потенциальные грабли и проблемы, с которым встречается DBA на своем рабочем месте. Сколько получилось у вас? Отпишитесь в комментариях.

Читать далее

Что такое 50% cpu?

Level of difficultyEasy
Reading time3 min
Views48K

Если у вас на машине стрелочка показывает, что у вас осталась половина бака, то у вас точно осталась половина бака? На самом деле больше, так как современные машины врут и топлива еще немного есть, даже когда стрелка на нуле - забота об альтернативно одаренных водителях. А если сервер показывает 50% cpu, то сколько ресурсов у нас осталось?

Для многих ответ ясен, и это не 50%. Поэтому извините, если многие вещи будут вам очевидны. А вот для менеджеров, например, которые планируют ресурсы, это может быть открытием.

Читать далее

MSSQL natively compiled: когда они тормозят

Level of difficultyMedium
Reading time4 min
Views897

В базах данных нет серебряной пули, универсального рецепта. Мне захотелось проверить экспериментально один граничный случай использования in memory tables и natively compiled - когда в тесте все было хорошо, а на реальных данных начались тормоза.

Читать далее

SQL server: темная сторона AlwaysOn

Reading time4 min
Views2.3K

В SQL server есть замечательная технология - AlwaysOn. Она используется для DR (disaster recovery, асинхронная репликация данных), HA (high availability, часто с automatic failover, что возможно при синхронной репликации), и для того, что мы обсудим в статье: readonly replica для DWH/OLAP/Reporting workload.

Ничто не совершенно (хотя я восхищаюсь простотой установки некоторых решений в MS SQL по сравнению с Postgre и Oracle. Хотя бы бэкапы... А AlwaysOn для маленьких баз заводится буквально в пару кликов).

Cегодня мы рассмотрим проблемы при использовании AlwaysOn для DWH/OLAP/Reporting.

Читать далее

Странное поведение нетривиальных нулей Зета функции Римана

Level of difficultyMedium
Reading time2 min
Views9K

Я люблю проводить численные эксперименты. Процессор должен думать, а не простаивать. Напомню, что нетривиальные нули Зета функции Римана, расположенные симметрично относительно оси X, имеют вещественную часть равную -1/2 (что не доказано, может быть, у вас получится?), а мнимая часть у первых нулей равна (+/-, так как они расположены симметрично): 14.13, 21.02, 25.01, 30.42, 32.93...

Поиграем с этим.

Читать далее

MSSQL: сравниваем data compression и backup compression

Reading time2 min
Views2.4K

MSSQL поддерживает компрессию бэкапов на лету - легковесную и быструю. Также данные можно внутри базы упаковать с помощью DATA_COMPRESSION = PAGE или ROW. Как мы помним, упакованные данные плохо пакуются. Как упаковка данных повлияет на размер бэкапа?

Читать далее

Information

Rating
503-rd
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity

Specialization

Specialist
English
C
SQL
Python
High-loaded systems
C#