Одни из самых интересных задач в работе администратора приложений, на мой взгляд, это осуществление миграции данных при переходе на новую систему. Сегодня я хочу поделится собственным опытом переноса данных с не очень известной helpdesk системы VisionFlow в более известную систему ServiceNow.
MySQL *
Свободная реляционная СУБД
Создаем базу данных на примере службы доставки и разбираем запросы SQL
Сегодня мы рассмотрим пример базы данных и различные команды агрегации, группировки, сортировки, соединения таблиц и другое на примере MySQL. Сами данные представляют собой набор таблиц с произвольными названиями и значениями.
MySQL в финансах: реакция или созидание?
Высоконагруженные приложения финансовой сферы предъявляют жесткие требования ко всем компонентам, особенно к системе хранения данных.
Нужно постоянно и стабильно держать нагрузку, несмотря, а иногда и вопреки отказам, поломкам и внезапным миграциям. О том, как приходится жить DBA в мире стремительного повышения нагрузок и высоких требованиях стабильности, в своем докладе на конференции Saint HighLoad++ Online 2020 рассказал эксперт по базам данных ECOMMPAY IT Владимир Федорков.
Читаем EXPLAIN на максималках
Многим, кто работает с MySQL, известно, что команда EXPLAIN используется для оптимизации запросов, получения информации об использованных и возможных индексах. Большинство разработчиков и администраторов СУБД этой информацией и ограничивается. Я же предлагаю изучить команду EXPLAIN максимально подробно.
Истории
MySQL: казнить нельзя помиловать
Сайт и интернет-магазин «Эльдорадо» — это около 40 тысяч покупок ежедневно. Объяснять, что это значит для бизнеса компании, наверное, не надо.
Исторически магазин работает на движке Bitrix с огромным количеством кастомного кода и дополнений. В качестве хранилища выступает кластер MySQL с четырьмя мастер-серверами.
Монолитные приложения есть у значительного числа компаний, и работать с ними приходится очень многим. Способов борьбы с монолитом предостаточно, вот только про удачные, к сожалению, пишут мало. Надеюсь, что рассказ о том, как мы подпираем наш монолит (пока его не распилили) будет вам интересен.
Подключение БД с SSH-туннелем к PowerBI
Как интегрировать БД с SSH-туннелем в PowerBI, как настроить SSH-туннель с приватным ключом, как обновлять данные по запросам к БД в PowerBI
Углубленный мониторинг баз данных с помощью DBmarlin – вебинар
Привет, друзья! Приглашаем на вебинар, посвященный продукту для углубленного мониторинга баз данных – DBmarlin, который:
– контролирует производительность баз данных – MySQL, MariaDB, PostgreSQL, Oracle, MS SQL Server, развернутых как в своей инфраструктуре, так и у облачного провайдера (AWS, Azure);
– предоставляет детальную видимость работы серверов, на которых развернуты БД;
– собирает statements и wait states, благодаря чему вы видите, на что именно тратится время внутри БД во время исполнения SQL запроса;
– автоматически обнаруживает изменения в объектах схемы БД, параметрах БД, собирает планы выполнения запросов, чтобы вы видели их влияние на производительность.
- регистрирует релизы и другие события для анализа их влияния на БД.
При возникновении проблемы с запросом к БД, инструменты мониторинга и APM, не специализирующиеся на БД, покажут вам SQL-запрос в трейсе, который долго исполнялся. Все, что вы сможете увидеть – это текст SQL запроса и длительность его исполнения. Причина, по которой он был таким медленным остается неизвестной. DBmarlin покажет, в чем именно была проблема в БД - вы увидите, например, что вызывает блокировку.
На вебинаре мы покажем и расскажем:
– Какие задачи должен решать современный продукт для мониторинга баз данных?
– Кто выигрывает от улучшения мониторинга СУБД (спойлер – не только DBA).
– Что отличает продукт DBMarlin от конкурентов?
Регистрация доступна прямо на этой странице ниже или по ссылке.
Разгоняем портал ДО на основе Moodle (решение проблем узких мест)
В последнее время все острее встает вопрос об обучении онлайн, во время пандемии, так и в связи с переходом в онлайн всего и вся. На сайте Хабр есть материалы по установке базовой системы на основе moodle. В данной заметке хотелось бы поделиться некоторым опытом настройки сервера для продакшен использования (речь пойдет о настройке ПО, без кластеризации и изменения железной конфигурации), для случая когда портал работает уже с некоторой нагрузкой. Примеры приведены для разрешения проблем узких мест из-за которых портал может работать с невысокой производительностью.
Советы по хранению Percona Backup в облаке
Percona внесла большой вклад в мир программного обеспечения с открытым исходным кодом. Один из самых популярных продуктов Percona — это программное обеспечение для резервного копирования MySQL и MongoDB. Подобное программное обеспечение играет жизненно важную роль для резервного копирования и разработки планов аварийного восстановления.
Важным моментом является место хранения резервных копий. Здесь важна не только возможность восстановления из резервной копии, но и безопасность хранения, чтобы у посторонних лиц не было к ним доступа.
Обычно резервные копии хранятся в нескольких местах, в том числе в облаках. Облачное хранилище обладает преимуществами благодаря экономической эффективности, безопасности и высокой доступности.
Теперь давайте подробнее поговорим о хранении резервных копий в облаке.
Развертывание кластера баз данных через Vagrant с помощью ClusterControl
Если вы работаете с большим количеством виртуальных машин, то Vagrant, вероятно, будет лучшим инструментом для их создания, автоматизации и управления, повышая эффективность и производительность развертывания (особенно для dev-окружений). ClusterControl также может быть развернут через Vagrant.
Vagrant поддерживает различные платформы виртуализации: VirtualBox, KVM, Hyper-V, контейнеры Docker, VMware и AWS. Мы в качестве провайдера виртуальных машин будем использовать VirtualBox, а для их провижининга — Vagrant.
Оптимизация mysql комплексная
Сегодня речь пойдет опять и снова про mySQL. Разберемся в оптимизации и поговорим про множество параметров сервера.
Давайте приступать.
Начало
Сервер у нас пусть будет на CentOS. Оптимизировать будем методом правки конфига my.cnf .
Настройка некоторых параметров может повысить
производительность БД сервера в несколько раз!
Базы данных. Тенденции общемировые и в России
Эта статья не является ответом на множество вопросов по базам данных (БД) и системам управлениям базами данных (СУБД). Я как автор выражаю своё собственное мнение о трендах, стараясь опираться на беспристрастные показатели, статистики и т.д., но для примера приводя собственный опыт. Я не являюсь ангажированным представителем какой-либо компании и выражаю точку зрения опираясь на опыт более 25 лет работы с разными СУБД, в том числе, которую создавал своими руками. Не так много даже опытных программистов и архитекторов, которые знают все термины, технологии, какие подводные камни и куда идёт движение. Тема поистине огромная, поэтому в рамках одной статьи не раскрыть даже верхний уровень информации. Если кто-то не встретит свою любимую СУБД или её невероятный плюс, который стоит упомянуть, то прошу в комментариях указать и этим дополнить общую картину, что поможет другим разобраться и понять лучше предметную область. Поехали!
Open Source DBMS vs Commercial DBMS
Для начала приведён график с сайта, db-engines.com, по моим ощущениям, неплохо отслеживающим тренды БД. Именно этот график добавил желания написать статью о текущем положении дел.
Репликация баз данных MySQL. Введение
Ближайшие события
Серия мастер-классов по MySQL 15—17 декабря
Приглашаем на мастер-классы «Тюнинг и масштабирование проекта на MySQL» 15—17 декабря 2020. Расскажем, что именно настроить, чтобы база не тормозила и не падала, а данные не терялись. Поможем найти медленные запросы и сделать их быстрыми.
Мастер-классы ведет Владимир Федорков, специалист по настройке и эксплуатации СУБД MySQL, эксперт в сфере производительности MySQL, постоянный спикер конференций в России, Европе и США.
DataGrip 2020.3: SQL для Монги, новые форматы экспорта, интроспекция прав доступа и другое
Пишем CRUD-приложение на Go с помощью Mysql, GORM, Echo, Clean Architecture
Начнем сначала
В этой статье будет сказ о том, как на Clean Architecture написать API с функциями CR(U)D, где в качестве БД взят Mysql, фреймворк – Echo, ORMapper – GORM.
Что делаем
API с функциями Create, Read, (Update), Delete. Обновление на самом деле реализовать особо не удалось, милости прошу попробовать самостоятельно.
Целевая аудитория
Те разработчики, которые хотят создать простой API после освоения Go.
Загадочная ситуация с TIME в MySQL
Многие в 2020 году стали жертвой странного феномена восприятия времени, но некоторые системы управления базами данных манипулируют временем гораздо дольше. Впервые я обратил на это внимание, когда мой друг в одном из своих проектов (Accord — популярный бот для Discord) столкнулся со следующим исключением от коннектора MySQL при использовании с EF Core:
MySqlException: Incorrect TIME value: '960:00:00.000000'
Будучи не слишком сведущим в MySQL (т.к. предпочитаю PostgreSQL по причинам, которые скоро станут очевидными), я на секунду подумал, что неправильным здесь является число часов. Разумно предположить, что значения TIME ограничены 24 часами или что для значений, охватывающих нескольких дней, требуется другой синтаксис — например,
40:00:00:00
будет представлять 40 дней. Но действительность оказалась куда сложнее и запутаннее.Изучаем использование памяти MySQL с помощью Performance Schema
Понимание того, как MySQL использует память, является ключом к настройке системы для достижения оптимальной производительности, также как и для устранения неполадок в случаях ненормального использования памяти, например, когда у вас есть сервер MySQL, использующий намного больше памяти, чем вы ожидаете, исходя из параметров конфигурации.
На заре MySQL понимание всех тонкостей и нюансов использования памяти было трудным и включало очень много догадок. Быть может, для выполнения некоторых запросов требуется большая временная таблица или выделение больших объемов памяти для сохраненных пользовательских переменных? Может, какие-либо хранимые процедуры занимают неожиданно большой объем памяти? Причиной чрезмерного использования памяти MySQL могло оказаться что угодно, но у вас не было легких путей понять и быть уверенным, что именно.
Все это изменилось в MySQL 5.7, который добавил инструментарий для отслеживания памяти в Performance Schema, а в MySQL 8.0 этот инструментарий стал включен по умолчанию, поэтому вы можете получить эти данные практически с любого работающего инстанса.
Шифрование в MySQL: ротация Master Key
В преддверии старта нового набора на курс «Базы данных» продолжаем публиковать серию статей про шифрование в MySQL.
В предыдущей статье этой серии мы обсудили, как работает шифрование с главным ключом (Master Key). Сегодня, основываясь на полученных ранее знаниях, посмотрим на ротацию главных ключей.
Ротация главных ключей заключается в том, что генерируется новый главный ключ и этим новым ключом повторно шифруются ключи табличных пространств (которые хранятся в заголовках табличных пространств).
Давайте вспомним, как выглядит заголовок зашифрованного табличного пространства:
Шифрование в MySQL: использование Master Key
В преддверии старта нового набора на курс «Базы данных» продолжаем публиковать серию статей про шифрование в MySQL.
В предыдущей статье этой серии (Шифрование в MySQL: хранилище ключей) мы говорили о хранилищах ключей. В этой статье мы рассмотрим, как используется главный ключ (master key), а также обсудим достоинства и недостатки шифрования методом конвертов (envelope encryption).
Вклад авторов
alizar 732.0maghamed 424.0snevsky 400.0olegbunin 346.2moscas 269.0tuta_larson 263.0youROCK 241.0zabivator 206.0mcshadow 197.0rdruzyagin 179.4