Как стать автором
Поиск
Написать публикацию
Обновить
3.28

MySQL *

Свободная реляционная СУБД

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

Советы по хранению Percona Backup в облаке

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

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

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

Обычно резервные копии хранятся в нескольких местах, в том числе в облаках. Облачное хранилище обладает преимуществами благодаря экономической эффективности, безопасности и высокой доступности.

Теперь давайте подробнее поговорим о хранении резервных копий в облаке.

Читать далее

Развертывание кластера баз данных через Vagrant с помощью ClusterControl

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

Если вы работаете с большим количеством виртуальных машин, то Vagrant, вероятно, будет лучшим инструментом для их создания, автоматизации и управления, повышая эффективность и производительность развертывания (особенно для dev-окружений). ClusterControl также может быть развернут через Vagrant.

Vagrant поддерживает различные платформы виртуализации: VirtualBox, KVM, Hyper-V, контейнеры Docker, VMware и AWS. Мы в качестве провайдера виртуальных машин будем использовать VirtualBox, а для их провижининга — Vagrant.

Читать далее

Оптимизация mysql комплексная

Время на прочтение5 мин
Количество просмотров64K
Доброго времени суток, уважаемые хабровчане.

Сегодня речь пойдет опять и снова про mySQL. Разберемся в оптимизации и поговорим про множество параметров сервера.
Давайте приступать.

Начало


Сервер у нас пусть будет на ​ CentOS​. Оптимизировать будем методом правки конфига ​my.cnf​ .

Настройка некоторых параметров может повысить
производительность БД сервера в несколько раз!

Читать дальше →

Базы данных. Тенденции общемировые и в России

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

Эта статья не является ответом на множество вопросов по базам данных (БД) и системам управлениям базами данных (СУБД). Я как автор выражаю своё собственное мнение о  трендах, стараясь опираться на беспристрастные показатели, статистики и т.д., но для примера приводя собственный опыт. Я не являюсь ангажированным представителем какой-либо компании и выражаю точку зрения опираясь на опыт более 25 лет работы с разными СУБД, в том числе, которую создавал своими руками. Не так много даже опытных программистов и архитекторов, которые знают все термины, технологии, какие подводные камни и куда идёт движение. Тема поистине огромная, поэтому в рамках одной статьи не раскрыть даже верхний уровень информации. Если кто-то не встретит свою любимую СУБД или её невероятный плюс, который стоит упомянуть, то прошу в комментариях указать и этим дополнить общую картину, что поможет другим разобраться и понять лучше предметную область. Поехали!

Open Source DBMS vs Commercial DBMS

 Для начала приведён график с сайта, db-engines.com, по моим ощущениям, неплохо отслеживающим тренды БД. Именно этот график добавил желания написать статью о текущем положении дел.

Читать далее (в конце краткие итоги)

Репликация баз данных MySQL. Введение

Время на прочтение9 мин
Количество просмотров53K
Редкая современная продакшн система обходится без репликации баз данных. Это мощный инструмент на пути к повышению производительности и отказоустойчивости системы, и современному разработчику очень важно иметь хотя бы общее представление о репликации. В данной статье я поделюсь базовыми знаниями о репликации, и покажу простой пример настройки репликации в MySQL с помощью Docker.

image
Читать дальше →

Серия мастер-классов по MySQL 15—17 декабря

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


Приглашаем на мастер-классы «Тюнинг и масштабирование проекта на MySQL» 15—17 декабря 2020. Расскажем, что именно настроить, чтобы база не тормозила и не падала, а данные не терялись. Поможем найти медленные запросы и сделать их быстрыми.


Мастер-классы ведет Владимир Федорков, специалист по настройке и эксплуатации СУБД MySQL, эксперт в сфере производительности MySQL, постоянный спикер конференций в России, Европе и США.

Читать дальше →

DataGrip 2020.3: SQL для Монги, новые форматы экспорта, интроспекция прав доступа и другое

Время на прочтение6 мин
Количество просмотров5K
Привет! Очередной длинный пост о том, что мы сделали за последние четыре месяца. Как всегда, мы говорим DataGrip, а подразумеваем все остальные наши IDE. В том числе и WebStorm, SQL-плагин к которому теперь можно докупить.


Читать дальше →

Пишем CRUD-приложение на Go с помощью Mysql, GORM, Echo, Clean Architecture

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

Начнем сначала


В этой статье будет сказ о том, как на Clean Architecture написать API с функциями CR(U)D, где в качестве БД взят Mysql, фреймворк – Echo, ORMapper – GORM.

Что делаем


API с функциями Create, Read, (Update), Delete. Обновление на самом деле реализовать особо не удалось, милости прошу попробовать самостоятельно.

Целевая аудитория


Те разработчики, которые хотят создать простой API после освоения Go.
Читать дальше →

Загадочная ситуация с TIME в MySQL

Время на прочтение5 мин
Количество просмотров6.1K
Прим. перев.: Этот детальный анализ одной, казалось бы, не очень значительной детали в реализации внутри MySQL вызвал закономерные дискуссии о правильности в подходах к разработке известного Open Source-проекта в целом. О том, что же, собственно, выяснил португальский инженер, он повествует в формате, приближенном к детективу…

Многие в 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

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

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

На заре MySQL понимание всех тонкостей и нюансов использования памяти было трудным и включало очень много догадок. Быть может, для выполнения некоторых запросов требуется большая временная таблица или выделение больших объемов памяти для сохраненных пользовательских переменных? Может, какие-либо хранимые процедуры занимают неожиданно большой объем памяти? Причиной чрезмерного использования памяти MySQL могло оказаться что угодно, но у вас не было легких путей понять и быть уверенным, что именно.

Все это изменилось в MySQL 5.7, который добавил инструментарий для отслеживания памяти в Performance Schema, а в MySQL 8.0 этот инструментарий стал включен по умолчанию, поэтому вы можете получить эти данные практически с любого работающего инстанса.

Читать далее

Шифрование в MySQL: ротация Master Key

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

В преддверии старта нового набора на курс «Базы данных» продолжаем публиковать серию статей про шифрование в MySQL.

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

Ротация главных ключей заключается в том, что генерируется новый главный ключ и этим новым ключом повторно шифруются ключи табличных пространств (которые хранятся в заголовках табличных пространств).

Давайте вспомним, как выглядит заголовок зашифрованного табличного пространства:

Читать далее

Шифрование в MySQL: использование Master Key

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

В преддверии старта нового набора на курс «Базы данных» продолжаем публиковать серию статей про шифрование в MySQL.

В предыдущей статье этой серии (Шифрование в MySQL: хранилище ключей) мы говорили о хранилищах ключей. В этой статье мы рассмотрим, как используется главный ключ (master key), а также обсудим достоинства и недостатки шифрования методом конвертов (envelope encryption). 

Читать далее

Шифрование в MySQL: хранилище ключей

Время на прочтение6 мин
Количество просмотров6.5K
В преддверии старта нового набора на курс «Базы данных» подготовили для вас перевод полезной статьи.





Прозрачное шифрование данных (Transparent Data Encryption, TDE) появилось в Percona Server for MySQL и MySQL довольно давно. Но задумывались ли вы когда-нибудь о том, как оно работает под капотом и какое влияние TDE может оказывать на ваш сервер? В этой серии статей мы рассмотрим, как TDE работает внутри. Начнем с хранения ключей, так как оно требуется для работы любого шифрования. Затем подробно рассмотрим как работает шифрование в Percona Server for MySQL/MySQL и какие дополнительные возможности есть в Percona Server for MySQL.
Читать дальше →

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

Как я Дота-лигу открывал. Часть 3

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


Читать сначала: Как я Дота-лигу открывал. Часть 1
Продолжение: Как я Дота-лигу открывал. Часть 2
Ответвление: Как я продолжил дело Дота-лиги

Год 2008-й, середина осени. В результате вооруженного переворота у меня отобрали лигу, и теперь я стал абсолютно свободен от каких-либо обязанностей. Мне больше не надо следить за ботами, за серверами, за лигой, за админами и думать над её развитием. Наконец-то я могу изучать интересные мне технологии! Я начал ковырять PHP, и придумывать следующий проект…
Читать дальше →

Перенос форума IPB в bbPress WordPress

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

Перенос форума Invision Power Board (Invision Community) на платформу Wordpress под bbPress

Как я переносил форум IPB на WP под bbPress. Танцы с бубном в конце недели. Все закончилось успешно, но не до конца...

Читать далее

Создание современного API на PHP в 2020 году

Время на прочтение5 мин
Количество просмотров19K
Итак, на примере этого API, я хочу показать современную PHP архитектуру для высоконагруженных проектов. Когда проект еще в самом начале, и не то, что бизнеслогика (взаимоотношения с базой данных) не прописана, но и сама бизнес модель не очень ясна, построение эффективной IT архитектуры может идти только одним путем: необходимо жестко разделить frontend и backend.

Что обычно делали в таких ситуациях два-три года назад? Брался монолитный фрейворк типа Laravel или Yii2, вся бизнес модель разбивалась, худо-бедно, на блоки, а эти блоки уже имплементировались как модули фреймворка. В итоге еще через 3 года получалась огромная не поворотная машина, которая сама по себе медленная, а становилась почти невыносимо медленной, в которой фронтенд рендится через бэкенд посредством классической MVC архитеркутуры (пользователь отправил запрос, контроллер его подхватил, вызвал модель, та в свою очередь чего-то там натворила с базой данных, вернула все контроллеру, а тот наконец-то вызвал вьювер, вставил туда данные из модели и отдал это все пользователю, который уже успел открыть очередную банку пива...). А… ну еще особо продвинутые ребята, они не просто вьюверели Tweeter Bootstrap, а во вьювер вкручивали на самом деле очень хорошие библиотеки типа JQuery или вместо вьювера использовали какой-нибудь фронтенд фреймворк. В итоге поддерживать такой БеЛаЗ становилось все сложнее, а ввести нового программиста в команду было очень сложно, ибо не все рождаются Энштейнами. Добавим сюда тотальное отсутствие документации разработчика (камменты в 9000 файлах почитаешь — там все есть!) и в итоге, смотря на это все, становилось по-настоящему грустно…
Читать дальше →

Сделайте свое приложение масштабируемым, оптимизировав производительность ORM

Время на прочтение5 мин
Количество просмотров3.6K
Перевод статьи подготовлен в преддверии старта курса «Backend-разработчик на PHP».





Привет! Я Валерио, разработчик из Италии и технический директор платформы Inspector.dev.

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

Уверен, каждому из нас приходилось жаловаться, что сервер или приложение работает медленно (а то и вовсе не работает), и коротать время у кофемашины в ожидании результатов длительного запроса.

Как это исправить?
Давайте узнаем!
Читать дальше →

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

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

Введение


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

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

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

Начало — Alert


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

Обычно этот процесс завершается примерно в течение 1 часа, но в этот раз он не завершался 7 или 8 часов, и alert не переставал вылазить…
Читать дальше →

Создание резервной копии MySQL при помощи утилиты XtraBackup

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

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

Главное преимущество XtraBackup заключается в том, что эта утилита подходит как для создания резервных копий высоко нагруженных серверов, так и для систем с низким количеством транзакций.

Читать далее

Настройка docker для django на mysql

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

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


Здесь будет описываться настройка докера для фреймворка django и базы данных mysql, которая будет храниться вне контейнера, благодаря чему можно будет не беспокоиться, что с нашим контейнером что-то случится.

Читать дальше →

Вклад авторов