Рубрика «Администрирование баз данных» - 11

image

Поисковик DuckDuckGo разместил список веб-трекеров Tracker Radar. Он включает наименования 5326 доменов, которые 1727 компаний и организаций используют для отслеживания активности пользователей.

Данные общедоступны в соответствии с Creative Commons Attribution-NonCommercial-ShareAlike 4.0. Код, который используется для создания Tracker Radar, открыт на GitHub под лицензией Apache 2.0. Базу обещали пополнять ежемесячно. Читать полностью »

Предлагаю ознакомиться с расшифровкой доклада 2017 года Игорь Стрыхарь «ClickHouse – визуально быстрый и наглядный анализ данных в Tabix».

Веб-интерфейс для ClickHouse в проекте Tabix.
Основные возможности:

  • Работает с ClickHouse напрямую из браузера, без необходимости установки дополнительного ПО;
  • Редактор запросов с подсветкой синтаксиса;
  • Автодополнение команд;
  • Инструменты графического анализа выполнения запросов;
  • Цветовые схемы на выбор.
    ClickHouse – визуально быстрый и наглядный анализ данных в Tabix. Игорь Стрыхарь - 1

Читать полностью »

image

Основатель сервиса проверки аккаунтов на утечки Have I Been Pwned Трой Хант рассказал, что он решил не продавать проект и управлять им самостоятельно. В своем блоге Хант поделился подробностями прошедших за последний год переговоров. Читать полностью »

Эта статья — практическая история о том, как мы столкнулись с проблемой разделения логов, хранимых в Elasticsearch, из-за которой пришлось поменять подход к бэкапам и управлению индексами.

Как мы Elasticsearch в порядок приводили: разделение данных, очистка, бэкапы - 1

Всё началось вскоре после того, как было поднято production-окружение. У нас был «боевой» кластер Kubernetes, все логи из которого собирал fluentd и направлял их напрямую в индексы logstash-yyy.mm.ddЧитать полностью »

Привет.

Меня зовут Ваня, и я Java-разработчик. Так получилось, что я много работаю с PostgreSQL – занимаюсь настройкой БД, оптимизацией структуры, производительностью и немного играю в DBA по выходным.

За последнее время я привёл в порядок несколько баз данных в наших микросервисах и написал java-библиотеку pg-index-health, которая облегчает эту работу, экономит моё время и помогает избежать некоторых типовых ошибок, допускаемых разработчиками. Именно об этой библиотеке сегодня и пойдёт речь.

Здоровье индексов в PostgreSQL глазами Java-разработчика - 1

Disclaimer

Основная версия PostgreSQL, с которой я работаю, это 10-ка. Все используемые мною SQL-запросы также проверены на 11-й версии. Минимальная поддерживаемая версия — это 9.6.

Предыстория

Началось всё почти год назад со странной для меня ситуации: конкурентное создание индекса на ровном месте завершилось с ошибкой. Сам индекс, как водится, в невалидном состоянии остался в базе. Анализ логов показал нехватку temp_file_limit. И понеслось… Копнув поглубже, я обнаружил целый ворох проблем в конфигурации БД и, засучив рукава, с блеском в глазах принялся их чинить.

Читать полностью »

Добрый день. Прошло уже 2 года с момента написания последней статьи про парсинг Хабра, и некоторые моменты изменились.

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

Читать полностью »

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

Например, на таблице, в которой вам надо что-то поправить, висит злобный триггер ON UPDATE, переносящий все изменения в какие-нибудь агрегаты. А вам надо все пообновлять (новое поле проинициализировать, например) так аккуратно, чтобы эти агрегаты не затронулись.

Давайте просто отключим триггеры!

BEGIN;
  ALTER TABLE ... DISABLE TRIGGER ...;
  UPDATE ...; -- тут долго-долго
  ALTER TABLE ... ENABLE TRIGGER ...;
COMMIT;

Собственно, тут и все — все уже висит.

Потому что ALTER TABLE накладывает AccessExclusive-блокировку, под которой никто параллельно выполняющийся, даже простой SELECT, ничего из таблицы прочитать не сможет. То есть пока эта транзакция не закончится, все желающие даже «просто почитать» будут ждать. А мы помним, что UPDATE у нас до-о-олгий…
Читать полностью »

image
Калифорнийский весенний пейзаж, Элмер Вахтер, 1920

Смитсоновский институт опубликовал на своей онлайн-платформе 2,8 миллиона двумерных и трёхмерных изображений и сделал их общественным достоянием. Любой пользователь может их просматривать, загружать к себе и использовать в любых целях, «будь то дизайн открытки, кружки пива или штанов», говорится на сайте институтского журнала. Читать полностью »

Введение

В этой статье рассматривались некоторые методы оптимизации LINQ-запросов.
Здесь же приведем еще некоторые подходы по оптимизации кода, связанные с LINQ-запросами.
Читать полностью »

Одна история с оператором Redis в K8s и мини-обзор утилит для анализа данных этой БД - 1

Что будет, если использовать всем известное in-memory-хранилище ключей и значений в качестве персистентной базы данных, не используя TTL? А если оно запущено с помощью надёжного, казалось бы, оператора в Kubernetes? А если в процессе увеличения реплик Redis мы внесём ещё одно маленькое и безобидное изменение?.. Отвечая на эти вопросы в данной статье, мы попутно расскажем, какие утилиты помогут найти пути к оптимизации размеров большой БД в Redis.

Проблемный кейс

Redis у нас используется внутри кластера Kubernetes в разных проектах. Для удобства управления и применения единых практик в рамках компании мы остановились на операторе от Spotahome. По нашему опыту, это наиболее стабильный вариант, хотя и у него есть свои проблемы, некоторые из которых будут затронуты далее в статье.Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js