Обновить
32.26

MySQL *

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

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

Один человек ответил на 85+ тысяч вопросов на Stack Overflow (24,1 ответа в день)

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

В среднем 24,1 ответа в день (если все 365 дней в году считать рабочими) на протяжении почти 10 лет.

Несколько дней назад на некоторых англоязычных ресурсах началось обсуждение одного очень необычного пользователя Stack Overflow. Его зовут Гордон Линофф (Gordon Linoff), он из Нью-Йорка, и за 9 лет и 8 месяцев своего присутствия на платформе он дал 85,201 ответов на различные вопросы, в основном связанные с SQL и дата-майнингом (цифра актуальна на 27.09.2021).

Что это за маг?

Читать далее

Как справиться с Debezium + MySql + Spring Could Streams, Part 1

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

Добрый день, Хаброжители!

Это моя первая статья на Хабре, любые замечания, предложения, пожелания приветствуются!

В этой статье (часть 1), я попытаюсь рассказать и показать как поднять и настрить stand along Debezium CDC + MySql server.

Читать далее

Используем sequence в MySQL

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

Хочу рассказать о том, как создать сквозной монотонно возрастающий  целочисленный id в MySQL (это называется sequence в других БД). Зачем это нужно? Например, у нас есть два вида задач для сотрудников в системе, у каждого типа задач есть свой набор атрибутов и свой жизненный цикл (набор статусов). Для того чтобы не городить огород в коде приложения для корректного чтения разных сущностей из БД и не плодить колонки с NULL проще всего разнести сущности по разным таблицам.

Читать далее

MySQL в Docker не может писать slow-логи в /dev/stderr

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

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

Сначала краткая предыстория. Я пытался сделать так, чтобы логи медленных запросов в MySQL писались в /dev/stderr и их можно было бы читать с помощью простого docker-compose logs -f mysql без необходимости входить в контейнер с docker-compose exec mysql ash.

Читать далее

selectel-exporter — экспортер для manage-баз данных

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

Мы в KTS на многих проектах пользуемся услугами managed database от selectel. За этими кластерами нужно следить, и делать это хотелось бы из одной точки. Этой точкой у нас является prometheus, alertmanager и grafana. 

Из коробки у selectel нет prometheus exporter для manage-баз данных. Есть внутренние графики и мониторинг, но использовать их затруднительно. Поэтому мы написали свой selectel-exporter, который использует selectel API.

В статье расскажем, почему решили его написать и расскажем, что он умеет.

Читать далее

PlanetScale — Serverless SQL база данных для разработчиков

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

Этим летом я по уши увяз в serverless-тематике и даже решил переписать один из своих pet-проектов целиком на serverless. Движок для сайта, поддерживающий бессерверные вычисления и вендор для кэширующей прослойки были найдены быстро - NextJS (с деплоем на Vercel) и Upstash с оплатой за каждую отдельную операцию и байт в хранилище. Камнем преткновения стал выбор провайдера для DBaaS. Мне бы хотелось реализовать всё таким образом, чтобы у проекта было две разных базы данных - для разработки и для production, и мне совсем не хотелось запускать базу данных для разработки на локальной машине. Поверхностное ознакомление с DBaaS провайдерами показало, что за дополнительную базу данных пришлось бы платить вдвое больше несмотря на то, что она использовалась бы дай Бог пару раз в неделю. И я ушёл в просмотр докладов и презентаций на YouTube и это именно тот момент когда я открыл для себя PlanetScale. Хочу поделиться своим открытием с вами.

Читать далее

Централизованное управление CBPolicyD в мультисерверной инфраструктуре Zimbra OSE

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

CBPolicyD является универсальным инструментом для управления политиками в Postfix. Он входит в комплект поставки Zimbra OSE и ранее мы рассказывали о том, как настраивать CBPolicyD на своем почтовом сервере и создавать в нем различные политики, которые позволяют повысить уровень защищенности сервера от кибератак. Однако все данные ранее рекомендации были применимы к односерверной инфраструктуре Zimbra OSE, так как CBPolicyD по умолчанию использует автономную СУБД SQLite 3 для хранения и управления политиками, а это означает, что созданная на одном сервере политика не будет иметь силы на другом сервере и каждый раз для внедрения новой политики, администратору придется создавать ее на каждом сервере MTA. В случае с односерверной инфраструктурой это допустимо, однако когда речь идет о мультисерверной инфраструктуре Zimbra OSE, необходимо чтобы созданная политика применялась сразу на всех MTA. Это облегчает не только процесс создания политик, но и процесс управления ими. Для того, чтобы созданная политика автоматически применялась на всех MTA в инфраструктуре, необходимо подключить ее к глобальной СУБД MariaDB. Плюсом использования MariaDB является то, что эта СУБД более отказоустойчива, чем SQLite 3. То есть при больших нагрузках на MTA CBPolicyD гарантированно не будет пропускать письма, не соответствующие настроенным политикам. В данной статье мы расскажем о том, как это сделать.

Читать далее

DataGrip 2021.2: Генерация источника на основе кода, поиск по истории изменений, управление списком автодополнения и др

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

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

Что внутри?

Как написать Viber чат-бота, работающего с АСУ ТП на базе ПЛК Siemens

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

Как создать Viber чат-бота на Python для диспетчеризации технологического процесса.

Читать далее

Фреймворк на PHP: CodeIgniter 4. «Лёгкий пример» использования Database Migrations (миграций) и Seeding (посев)

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

Познакомиться с PHP фреймворком CodeIgniter 4 достаточно просто.

Нужно потратить вечер, выполняя инструкции из раздела  «Build Your First Application» («Создайте свое первое приложение»). Поскольку документация написана хорошим, технически понятным языком, то в процессе ознакомления с этим и другими разделами возможно получить даже некоторое эстетическое удовольствие.

Читать далее

Установка Ispconfig3 на ubuntu 20.04 (nginx+php-fpm+mysql)

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

ISPConfig - бесплатная панель управления хостингом с открытым исходным кодом c возможностью управлять несколькими серверами из одной панели управления. Это один из лучших вариантов для веб-студий, хостинг-компаний, а так же для всех, кто ищет бесплатную панель управления хостингом с широким функционалом. В данной статье мы рассмотрим как выполнить установку Ispconfig3 с nginx, php-fpm и mysql на ubuntu 20.04.

Читать далее

Быстрый запуск Nextcloud и Onlyoffice на Ubuntu + SSL от Letsencrypt

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

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

Однажды мне понадобилось 1Tb облачного хранилища и выбор пал на Nextcloud, который и было решено развернуть на собственном домашнем сервере

В данной статье я опишу как быстро и безболезненно установить и настроить облако Nextcloud и облачный редактор Onlyoffice

Статья предполагает, что у вас уже установлен и настроен Ubuntu.

Все действия были проверены на Ubuntu Server 20.04

Что будем делать:

1. Установим Nginx, PHP и MariaDB
2. Добавим бесплатный SSL-сертификат Let's Encrypt
3. Развернем NextCloud
4. Произведем тонкие настройки сервера
5. Установим Onlyoffice

Читать далее

CS Cart или через терни к черной дыре костылей и оптимизаций

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

Совсем недавно, я стал разработчиком модулей для CS Cart. Случилось это по воле случая: меня взяли на работу в Петербургскую сеть интернет магазинов, торгующих вейпами и всякими интересными штуками для удовлетворения потребностей физического характера страждущих пар и одиночек (кто не понял - еще не дорос ). Оба интернет магазина развернуты на двух витринах с разными доменами, но одной админкой и общей базой данных. Что же с ней не так? Думаю о CMS написано много, но я добавлю свою ложку дегтя в бочку с дегтем .

Читать далее

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

Безотказный Zabbix: миграция с асинхронной на групповую репликацию

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

Всем привет!

Жил был Zabbix с MySQL асинхронной репликацией. И всё бы ничего, но иногда приходилось переключать основной хост и делалось это запуском всяческих Ansible плейбуков, да и при отказе одного из дата центров нужно было проделывать некоторые ручные действия по переключению Secondary реплик на нового мастера. А хотелось чего-то из коробки, отказоустойчивого, и чтобы всё само.

Читать далее

Различия индексов MySql, кластеризация, хранение данных в MyIsam и InnoDb

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

Как устроены индексы в MySql, чем отличается индексирование в двух наиболее популярных движках MyISAM и InnoDb, чем первичные ключи отличаются от простого индекса, что такое кластерные индексы и покрывающие индексы, как с помощью них можно ускорить запросы. Вот как мне кажется наиболее интересные темы которые раскрою в этой статье. Тут же постараюсь подробно раскрыть тему с позиции того как работает этот механизм внутри. Буквально на пальцах и с позиции абстракций а не конкретики. В общем чтоб было минимум текста и максимум понятно.

Читать далее

Как новость про +4 выходных дня уронила нам базу данных

Время на прочтение6 мин
Количество просмотров48K
Этот день — яркий пример того, как несколько вещей, которые сами по себе не приводят к отказу, могут удачно совпасть. Итак, 23 апреля было совершенно обычным днём, с обычным трафиком и обычной загрузкой ресурсов. Как обычно, с запасом больше трети, чтобы при потере любого из ЦОДов пережить это без проблем. Никто не думал, что к серверному мониторингу нужно прикручивать ещё мониторинг того, что говорит президент на прямой линии, поэтому дальше случилось вот что:



Примерно в 13:30 у нас резко подскочила нагрузка на поиск по авиации и по железнодорожным билетам. Где-то в этот момент РЖД сообщила о перебоях на сайте и в приложении, а мы начали экстренно наливать дополнительные инстансы бекендов во всех ЦОДах.

Но на самом деле проблемы начались раньше. Примерно в 8 утра мониторинг прислал алерт про то, что на одной из реплик базы данных у нас что-то подозрительно много долгоживущих процессов. Но мы это прошляпили, сочли не очень важным.
Читать дальше →

KODI: собираем удобный и функциональный медиацентр для дома. Часть 6. MariaDB и синхронизация медиатеки

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

Продолжаем «изобретать» медиацентр. Разберемся, как иметь несколько KODI-медиацентров и одну медиатеку на все устройства в доме. Причем такую медиатеку, которая понимает, где вы закончили просмотр и позволит его продолжить на другом устройстве.

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

Войны лоббистов и развитие BIM. Часть 5: BlackRock — хозяин всех технологий. Как корпорации контролируют Open source

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

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

Сегодняшние лидеры САПР-индустрии: Autodesk, Hexagon, Nemetschek, Bentley, Trimble - хорошо готовятся к будущим угрозам: стандартной тактикой больших корпораций стал агрессивный захват новых рынков и поглощение возможных конкурентов на ранних стадиях развития. 

В результате вся САПР-индустрия стала похожа на олигополию, в которой доминирует группа из нескольких компаний. И их положение на вершине становится всё более непоколебимым.

Читать далее

Как использовать ClickHouse не по его прямому назначению

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

Алексей Миловидов делает ClickHouse и, конечно, знает его вдоль и поперек. В том числе и о том, как его можно использовать дополнительно к его штатным и всем хорошо известным функциям.

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

Read more

«Ваша устаревшая база данных перерастает сама себя». Опыт chess.com

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

Прим. перев.: в этой статье сербский «инженер по масштабируемости» нагруженного онлайн-проекта в подробностях рассказывает о своем опыте оптимизации большой БД на базе MySQL. Проведена она была для того, чтобы выдержать резкий рост трафика на сайт, случившийся из-за пандемии.

База данных становится слишком большой или старой? Ее тяжело обслуживать? Что ж, надеюсь, я смогу немного помочь. Текст, который вы собираетесь прочитать, содержит реальный опыт масштабирования монолитной базы данных, лежащей в основе одного из сайтов Топ-250 (согласно alexa.com). На момент написания этой статьи chess.com занимал 215 место в мире по популярности. Ежедневно к нам заглядывали более 4 млн уникальных пользователей, а наши MySQL-базы обрабатывали в общей сложности более 7 млрд запросов. Год назад сайт ежедневно посещали 1 млн уникальных пользователей; в марте прошлого года их число увеличилось до 1,3 млн; сегодня более 4 млн человек заходят на chess.com ежедневно, а число сыгранных партий превышает 8 млн. Я, конечно, знаю, что это не сопоставимо с самыми крупными игроками на рынке, однако наш опыт все же может помочь в такой сложной задаче, как «исправление» монолитной базы данных и ее вывод на новый уровень производительности.

Читать далее

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