Обновить
32.26

MySQL *

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

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

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

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


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

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

Время на прочтение7 мин
Количество просмотров5.2K
Задача была такова: Есть общая папка с изображениями, к каждому из которых проставлены ключевые слова (определяющие конкретного человека/организацию). Необходимо получать перечень изображений с определенным тегом для последующего вывода галереи на странице этого человека.
Читать дальше →

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

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

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

Читать далее

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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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


TL;DR:


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

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

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

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

Читать далее

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

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

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

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

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

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

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

Поехали

Дифференциальные и инкрементальные бэкапы MySQL

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

Для MySQL существует широко известный инструмент по созданию резервных копий баз данных — mysqldump, который создаёт дамп посредством записи серии SQL-инструкций для восстановления таблиц и данных целевой базы данных.

Он неплохо подходит для резервного копирования небольших баз данных, но когда база данных набирает приличный «вес» и возникает необходимость резервного копирования чаще, чем раз в сутки, скорость создания и размеры дампов могут стать проблемой. В данном случае на помощь приходят утилиты, создающие копию бинарных файлов баз данных, например, такие как Percona XtraBackup.
Читать дальше →

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