Как стать автором
Обновить
2.96
Рейтинг

MySQL *

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

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

Как генерировать Flame Graph из выходных данных perf и pt-pmp

Блог компании Конференции Олега Бунина (Онтико) Тестирование IT-систем *MySQL *Визуализация данных Тестирование веб-сервисов *
Перевод

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

Давайте воспользуемся их опытом и разберемся, откуда брать и как подготавливать образцы для визуализации данных. А после этого — как из них генерировать Flame Graph и как с этим работать.

Читать далее
Всего голосов 12: ↑12 и ↓0 +12
Просмотры 723
Комментарии 0

Новости

Сохранение данных для ESP32/Arduino в удаленной базе MySQL и не только

Блог компании FirstVDS MySQL *Администрирование баз данных *Разработка под Arduino *


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

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

Пишем социальную сеть на Ruby on Rails. Часть 2

Разработка веб-сайтов *Ruby *MySQL *Ruby on Rails *Изучение языков
Tutorial

Прошлая статья:

Пишем социальную сеть на Ruby on Rails. Часть 1

Всем привет, сегодня вторая часть серии статей "Пишем социальную сеть на Ruby on Rails" и сегодня я планирую добавить CI/CD.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 1.2K
Комментарии 3

Пишем социальную сеть на Ruby on Rails. Часть 1

Разработка веб-сайтов *Ruby *MySQL *Ruby on Rails *Изучение языков
Tutorial

Всем привет! Я Ruby on Rails Developer и еще совсем недавно я начинал свой путь в этой области. Я уже прошел первые шаги (о них я писал в данной статье), как выбор языка, изучение его основ, знакомство с фреймворком, первые pet-проекты, первые собеседования, первый оффер, первая компания. Но многие только начали идти по этому пути и именно для них эта статья. По своему опыту помню, как сложно искать гайды (большинство из них про создание книжных магазинов, личных блогов и т.д.), поэтому, надеюсь, многим понравиться идея создания соц сети.

Читать далее
Всего голосов 5: ↑4 и ↓1 +3
Просмотры 2.3K
Комментарии 5

7 распространенных ошибок в SQL-запросах, которые делал каждый (почти)

MySQL *PostgreSQL *Программирование *SQL *Microsoft SQL Server *
Tutorial

Сегодня SQL используют уже буквально все на свете: и аналитики, и программисты, и тестировщики, и т.д. Отчасти это связано с тем, что базовые возможности этого языка легко освоить. 

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

Кстати, иногда такая же участь постигает и специалистов более высокого полета. 

Сегодня мы решили собрать 7 таких ошибок в одном месте, чтобы как можно меньше людей их совершали.

Читать далее
Всего голосов 44: ↑38 и ↓6 +32
Просмотры 32K
Комментарии 90

Как не надо индексировать

MySQL *PostgreSQL *SQL *Microsoft SQL Server *

Развитие происходит по спирали: когда-то люди не умели правильно индексировать, потом (в основном) научились, потом пришли noSQL и все снова забыли знание древних. Что вы будете делать, когда последние из старых DBA отплывут в Валинор?

Снова и снова и сталкиваюсь с полным набором антипаттернов индексирования. Я их перечислю, но! Для каждого антипаттерна есть исключение, когда именно это и стоит делать. Поэтому кликбейтно сформулированное правило верно в 95% случаях, но если вы хотите копнуть глубже, то прочитайте про исключения.

И в конце полезные скрипты для MSSQL, Postgres и MySQL.

Читать далее
Всего голосов 44: ↑44 и ↓0 +44
Просмотры 26K
Комментарии 25

Делаем многоуровневого бота для ВК с Long Poll VK API, Python, MySQL и решаем вопрос многопоточности c помощью threading

MySQL *Python *
Из песочницы

Создание ботов - довольно заезжанная тема, но все уроки, статьи и различного рода документация дают информацию только о том, как построить одноуровневого бота без возможности создания древа из различных всплывающих меню (клавиатур).
А это нужно для создания:

— Сложных ботов с несколькими уровнями "глубины" (различные меню/клавиатуры)
— Ботов, созданных одновременно для групповых чатов и для лички сообщества
— Ботов, с повторяющимися ключевыми командами в различных меню, которые необходимо разделять

В этой статье будет рассказано как реализовать многоуровневого бота с использованием Python 3, MySQL, VK Bots Long Poll API и библиотеки threading, чтобы каждый пользователь бота сохранял своё положение в меню и мог, вернувшись обратно, стартовать с той же позиции в любое время.

Читать далее
Всего голосов 3: ↑1 и ↓2 -1
Просмотры 5.1K
Комментарии 3

Сервис для выгрузки данных из E-Commerce CMS OpenCart

MySQL *SQL *Разработка под e-commerce *Управление e-commerce *Data Engineering *

Дорогие читатели, позвольте представить вам программный сервис, разработанный для экспорта данных из электронных магазинов созданных на основе CMS OpenCart.

Читать далее
Всего голосов 25: ↑1 и ↓24 -23
Просмотры 2.7K
Комментарии 8

С чем кушать Irregular Selectivity в MSSQL и не только

MySQL *PostgreSQL *SQL *Microsoft SQL Server *

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

В идеальном мире, если в таблице миллион записей, а разных значений например всего 100K, то на каждое значение приходится по 10 записей. Но что делать, если в список ваших значений затесалось особое значение, например, NULL, пробел или 'n/a'? Для SQL optimizier это головная боль. Для вас тоже.

Картинка иллюстрирует людей со значением 'n/a' в поле SSN

Читать далее
Всего голосов 4: ↑3 и ↓1 +2
Просмотры 3.8K
Комментарии 18

Основные ошибки, которых следует избегать при репликации MySQL

Блог компании OTUS MySQL *
Перевод

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

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

Читать далее
Всего голосов 15: ↑13 и ↓2 +11
Просмотры 3K
Комментарии 1

NoSQL и Антивакцинаторство

MySQL *PostgreSQL *SQL *NoSQL *Microsoft SQL Server *

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

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

С середины прошлого века мы работаем над реляционными базами данных. И они прекрасны. Но сейчас все чаще любят использовать NoSQL всех видов и мастей. И они иногда неплохо ложатся и затыкают собой какое-то мелкое место в проекте. Если я ценю свои данные и мне нужна какая-то надежность, то мне нужны ACID гарантии. Если это всего лишь кеш, данные из которого нужны чтобы ускорить приложение то я с радостью возьму Redis или аналоги. Ведь если он упадет или данные рассогласуются я смогу их восстановить из нормальной базы.

Читать далее
Всего голосов 56: ↑48 и ↓8 +40
Просмотры 7.5K
Комментарии 44

Блокировки MySQL: виды, проблемы и способы обнаружения

Блог компании Ситимобил MySQL *SQL *Серверная оптимизация *Серверное администрирование *

Рано или поздно любой разработчик или администратор СУБД, имеющий дело с MySQL, сталкивается с проблемой блокировок. Всё дело в природе MySQL как системы с конкурентным доступом на чтение/запись. Я расскажу о видах блокировок в MySQL, их преимуществах и недостатках, о проблемах, которые они вызывают, а также дам полезные советы по обнаружению и способам борьбы с блокировками.

Читать далее
Всего голосов 18: ↑17 и ↓1 +16
Просмотры 7.6K
Комментарии 2

Как я exif данные из JPEG вытаскивал и в БД запихивал (а потом доставал)

PHP *MySQL *
Задача была такова: Есть общая папка с изображениями, к каждому из которых проставлены ключевые слова (определяющие конкретного человека/организацию). Необходимо получать перечень изображений с определенным тегом для последующего вывода галереи на странице этого человека.
Читать дальше →
Всего голосов 11: ↑7 и ↓4 +3
Просмотры 2.5K
Комментарии 60

DataGrip 2021.3: Aggregate view в редакторе, табличное представление узлов дерева БД, новое окно сравнения БД и др

Блог компании JetBrains MySQL *PostgreSQL *SQL *Администрирование баз данных *

Привет! Сегодня расскажем, что нового в свежем релизе DataGrip 2021.3. Если вы работаете с базами данных в других IDE от JetBrains, то этот пост и для вас тоже.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 2.3K
Комментарии 2

Имитационная модель пула потоков для сервера баз данных

Блог компании Huawei MySQL *Анализ и проектирование систем *

В работе построена объектная имитационная модель пула потоков, за основу которой взята реализация, используемая в СУБД MySQL, MariaDB и Percona Server. Описаны входные потоки модели и примеры их распределений. Приведены результаты апробации модели, согласующиеся с известными паттернами зависимости производительности от входных параметров. Практическое значение модель имеет как инструмент статического и динамического выявления наиболее значимых для производительности параметров и их оптимального выбора.

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

Конференция Oracle Database Russia: время поговорить о базах данных за чашечкой кофе

MySQL *Oracle *Администрирование баз данных *Машинное обучение *Конференции

Привет, Хабр! Завтра и послезавтра у нас состоится крупное мероприятие, посвященное базам данных, причем не только флагманской СУБД Oracle, но также MySQL и TimesTen. А поскольку я принимаю непосредственное участие в организации этого ивента, то сегодня хочу пригласить присоединиться к сессиям или просто послушать пару докладов тех, кто работает с базами данных и интересуется тенденциями и направлениями развития. Это и IT-руководители, и DBA, и разработчики, создающие приложения для СУБД. Под катом — подробнее о мероприятии и ссылка на регистрацию.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 1.2K
Комментарии 0

Использование PHP для системного администрирования

Системное администрирование *PHP *MySQL *
Из песочницы
Перевод

Практическая значимость PHP для веб-разработки, впечатляет с точки зрения эффективности и универсальности. Большинство системных администраторов этим ограничиваются. Как и язык С#, PHP может быть мощным инструментом для системного администратора, несмотря на то, что PHP является по своей природе языком для веб-разработки.

Самым главным преимуществом PHP для системного администрирования является его кроссплатформенность. В отличие от таких традиционных инструментов, как bash для Linux или bat-файлы и скрипты Visual Basic для Windows, PHP скрипты легко переносятся из одной операционной системы в другую. Все, что необходимо это совместимость с интерпретатором PHP и установка необходимых модулей.

Читать далее
Всего голосов 20: ↑9 и ↓11 -2
Просмотры 5.5K
Комментарии 29

Педальку в пол, или как ещё ускорить CPU-bound приложение?

Блог компании Huawei Высокая производительность *MySQL *Разработка под Linux *
Tutorial

Зачем я это читаю?


TL;DR:


  • Переложив секции кода и данных программы на большие страницы можно существенно ускорить приложение (у нас получилось до +10%) не трогая исходный код.
  • Можно быстро проверить ничего не перекомпилируя, детали здесь.
  • Финальное решение оперирует "классическими" большими страницами (не transparent huge pages), поэтому в какой-то степени его можно назвать дальнейшим развитием libhugetlbfs.
Читать дальше →
Всего голосов 36: ↑35 и ↓1 +34
Просмотры 4.5K
Комментарии 2

Разворачиваем сайт на CMS DLE в контейнерах Docker и Compose

Блог компании Timeweb Cloud Настройка Linux *PHP *MySQL *Nginx *
Tutorial

В данном туториале мы рассмотрим, как быстро развернуть LEMP-стэк на виртуальный сервер VPS, используя технологию контейнеризации на базе Docker для сайта под управлением CMS DataLife Engine (DLE).

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 3.4K
Комментарии 13

Go и MySQL: настраиваем пул соединений

Блог компании Конференции Олега Бунина (Онтико) Блог компании Ситимобил MySQL *Go *
✏️ Технотекст 2021

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

немного затронем основы клиент-серверного протокола MySQL, его базовое устройство и принципы работы;

дальше перейдем к Go части и разберем реализацию пула соединений;

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

Надеюсь каждый для себя найдет что-то полезное.

Поехали
Всего голосов 44: ↑43 и ↓1 +42
Просмотры 10K
Комментарии 12

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