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

MySQL *

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

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

Marzban: миграция с sqlite3 на MySQL

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров2.9K

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

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

Читать далее

Поиск изображений по тексту с Manticore Search

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров3K

Кратко: Узнайте, как Manticore Search даёт возможность искать изображения по текстовому описанию, совмещая обработку естественного языка и поиск по векторным представлениям. Мы рассмотрим разные пути — от классических методов до современных решений на базе векторного поиска. А если хотите увидеть всё в реальном времени, загляните в наше демо.

Читать далее

Чем отличается пессимистическая и оптимистическая блокировка в MySQL

Время на прочтение5 мин
Количество просмотров5.2K
При проектировании приложений, использующих базы данных, часто возникают такие ситуации, в которых требуется конкурентный доступ к данным. Это может приводить к самым разным последствиям, поскольку состояние базы данных может нарушиться, или некоторые данные могут быть потеряны. Чтобы предотвратить такие сценарии, существуют различные способы контролировать доступ к ресурсам. Например, применяется оптимистическая и пессимистическая блокировка, о которых мы здесь поговорим.
Читать дальше →

Как надёжно стереть секретную информацию из базы данных

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров4.2K

Зачем вообще "надёжно" стирать данные? Главное же, чтобы пользователь через интерфейс СУБД не мог их достать. Мало ли, что там за остатки данных в файлах болтаются, это же не проблема. Или нет?

Читать далее

Рецензия на книгу «MySQL. Сборник рецептов. 4-е издание»

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров2.4K

Этот пост про толстенную 900-страничную книгу с множеством примеров решения практических задач при работе с СУБД MySQL. Довольно редко, когда американское издательство публикует книги от русскоязычного автора. Однако Света Смирнова — признанный эксперт по MySQL, и ее книги выходят в издательстве O’REILLY с 2012 года. Если вы совершенствуетесь в применении СУБД MySQL — новая книга будет очень хорошим подспорьем, а мы в SSP SOFT поможем с промокодом на покупку. 

Читать далее

Никогда не используйте MySQL, всегда используйте PostgreSQL

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров16K

Никогда не используйте MySQL, всегда используйте PostgreSQL

И вот почему, по результатам нагрузочного тестирования:

PostgreSQL в два раза меньше потребляет ресурса CPU, PostgreSQL в два раза меньше потребляет ресурса RAM, PostgreSQL в полтора раза меньше потребляет ресурса HDD (storage), PostgreSQL в три раза быстрее выполняет запросы, PostgreSQL после выполнения команды очистки (TRUNCATE TABLE) полностью очистил диск , MySQL очистил диск только наполовину.

Наверное MySQL надо уметь готовить ? Наверное. Если кто то напишет рецепт в комментариях, то благодарное человечество, в лице меня лично, скажет большое спасибо.

Одновременно с этим есть PostgreSQL, который можно не уметь готовить и иметь большую (такую же?) эффективность, стоит ли связываться с MySQL ?

Подробности (с картинками!)

Flutter Push-уведомления, том числе в Web

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров4.2K

Добрый день!

Хотел написать статью, обобщающую то, что я нашёл в интернете. Может кому-то она покажется слишком простой, может ненужной, а может наоборот вызовет обсуждение, на что я крайне надеюсь.

В двух словах о чём статья:

С нуля мы создадим flutter-проект с подключением к push-уведомлениям. Будем отправлять уведомления не только на Android, IOS, но и на наш веб-сайт, который может рассылать уведомления в т.ч. на мобильные устройства. Нам потребуется дополнительно лишь небольшой хостинг с mysql БД и php.

Читать далее

Уровни изоляции транзакций в PostgreSQL, MySQL, MSQL, Oracle с примерами на Go

Уровень сложностиСредний
Время на прочтение33 мин
Количество просмотров16K

В данной статье обсудим проблемы, возникающие при конкурентной работе с данными, а также инструменты для их решения – атомарные инструкции, явные и неявные блокировки и уровни изолированности транзакций, реализованные в OLTP СУБД PostgreSQL, MySQL, SQL Server, Oracle с примерами на Go. Поговорим о деталях их реализации в указанных СУБД. На примере PostgreSQL проведем benchmark-тестирование производительности уровней изоляции с использованием инструмента pgbench

Читать далее

Ускорение запроса MySQL с помощью обратного условия

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров8.6K

Как удалось ускорить выполнение запроса MySQL почти на порядок с помощью простого изменения формулировки условия.

Читать далее

Марии (db) 15 лет! 15 причин чтобы её полюбить (или хотя бы с ней познакомиться)

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров6.1K

MariaDB Server исполняется 15 лет! Вот 15 причин, по которым разработчики и администраторы баз данных любят его!

Читать далее

Восстанавливаем работу MySQL. Решение задачи

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров3.4K

Привет! Я Саша Хренников, руководитель DevOps-юнита в KTS.

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

В этой статье я разберу задачу и покажу, как её можно решить двумя способами.

Читать далее

DevOps Challenge: восстановите работу MySQL и выиграйте крутой мерч

Уровень сложностиСредний
Время на прочтение2 мин
Количество просмотров6.6K

Привет! Я Саша Хренников, руководитель DevOps-юнита в KTS.

Наша команда дважды готовила для вас испытания. Сначала вы оживляли сломанное приложение, затем пробовали запустить k8s v0.1, и гардеробы счастливых победителей уже украшает наш мерч. Сегодня мы предлагаем вам пополнить их ряды: вас ждет новый челлендж и новое соревнование за место в списке достойнейших.

Вам предстоит восстановить работу экземпляра MySQL, запущенного с помощью MySQL-оператора. Подведем итоги 17 октября в 19:00, а десять самых быстрых участников получат футболки с Котзиллой по почте.

Читать далее

Как я делал систему сбора данных на провинциальном заводе и что из этого вышло

Уровень сложностиПростой
Время на прочтение23 мин
Количество просмотров12K

Привет, Хабр!

Меня зовут Валерий, и я проработал инженером на заводе шесть лет. Звучит как начало занятий по групповой психотерапии для выгоревших сотрудников, но о моём выгорании и причинах этого я расскажу как-нибудь в другой раз. В данной статье хочу поделиться историей о том, как я воплощал свой Pet-проект в рамках промышленного предприятия и что из этого вышло. Впереди много картинок, так что добро пожаловать под кат!
Читать дальше →

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

Когда существующих решений недостаточно: сложности построения собственных СУБД

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров3.8K

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

Меня зовут Александр Кленов. Я тимлид разработки Tarantool DB в команде Tarantool. В этой статье я расскажу, почему мы решили добавить в свой продуктовый портфель Tarantool DB и что реализовали в инструменте, а также покажу на примере словарей, почему строить свою СУБД сложно. 

Читать далее

Решаем загадку Джиндоша из Dishonored 2 на SQL перебором с возвратом

Уровень сложностиСредний
Время на прочтение18 мин
Количество просмотров16K


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

Сегодня мы рассмотрим решение непростой загадки Джиндоша из замечательной игры Dishonored 2 с помощью SQL.
SQL Может Многое!

Репликация: создание кластера, подключение, изменения настроек таблицы в кластере

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров2K

Привет, я Майк.

Недавно я начал работать в компании Manticore на должности Developer Advocate. Я не совсем далёк от ИТ, но сейчас активно осваиваю современные технологии. В этом блоге я буду делиться своим опытом и тем, что узнаю о Manticore. Я планирую вести дневник, где буду рассказывать, что такое Manticore и как с ним работать. Давайте вместе разбираться, как все устроено, выявлять проблемы и взаимодействовать с разработчиками.

Если вам интересно изучать Manticore вместе со мной, я буду держать вас в курсе в:

Читать далее

Reverse engineering конкурсных списков поступления на бюджет в вузы России

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров10K

Сегодня, 3 августа 2024 года, был последний день подачи документов в вузы России на бюджет.

Ситуация нервная: слишком много факторов.

Мать-недопрограммист не дождалась приказа

Ещё раз о том, какого размера должны быть тесты

Уровень сложностиСложный
Время на прочтение9 мин
Количество просмотров6.2K

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

Читать далее

Стоит ли бояться serializable-транзакций больше, чем труднонаходимых багов?

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров8.4K

В базах данных транзакции обладают свойствами ACID, где «I» означает изоляцию транзакций при одновременном (concurrent) выполнении.

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

Сериализация выполнения транзакций не бесплатна с точки зрения производительности.

Многие СУБД поддерживают более слабые уровни изоляции, оставляя за разработчиком выбор подходящего. В монолитных СУБД более слабый уровень изоляции часто используется по умолчанию. Так, в PostgreSQL и MySQL это «read committed». В распределённых СУБД чаще по умолчанию более строгие уровни: «repeatable read» в YugabyteDB и TiDB, «serializable» в CockroachDB и YDB.

Слабые уровни изоляции могут быть причиной очень труднонаходимых багов. Причём эти баги могут вызвать уязвимости в безопасности.

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

Читать далее

Как MariaDB поломали экспорт (ERROR at line 1: Unknown command "-") или 17 лет небезопасному MySQL клиенту

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров8.2K

Как MariaDB поломала экспорт файлов MySQL в новых версиях и с чем это связано.

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

Еще один вектор атаки на ваши сервера, который надо учитывать и знать о его существовании.

Читаем о том, что случилось с MariaDB

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