Все потоки
Поиск
Написать публикацию
Обновить
5.81

MySQL *

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

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

IP-Geo. Оптимизация SQL запроса

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


Здравствуй, Хабрахабр! Меня зовут Бабичев Максим. Это моя первая статья на Хабрахабр, прошу строго не судить.

Нашел на Хабре статью, в которой были базы в двух модификациях: Страны и города и только страны. Также в этих архивах есть небольшие примеры использования таблиц на php.

Сразу хочу сказать, что эта статья рассчитана на новичков, а не на продвинутых гуру.
Читать дальше →

Пул соединений MySQL и как это можно использовать для распараллеливания

Время на прочтение14 мин
Количество просмотров17K
Я хочу поделиться со всеми читателями интересной темой, с которой столкнулся совсем недавно, и мне она понравилась. Развитие этой темы доставило мне удовольствие и добавило немного опыта в копилку. Вероятно, многие, а может и нет, сталкивались с пулом соединений БД. После ознакомления с этой интересной опцией мне захотелось написать статью и поделиться ею с вами. Возможно, статья получится немного длинной, но я думаю, что данный пост кому-то все же будет интересно почитать, и его заинтересует данная тема. Может быть наработки с этой статьи кто-то использует в своем проекте, в любом случае, мне будет интересно ее писать и рассказывать ее вам.
Читать дальше

Проектирование баз данных. Дизайн и метод

Время на прочтение1 мин
Количество просмотров15K
Есть немало книг, описывающих особенности и специфику конкретных БД.
Значительно меньше «программно-независимых» изданий, которые рассказывают об общих правилах и законах проектирования баз, принципах построения, нарушение которых может привести в дальнейшем к серьёзным ошибкам и проблемам. Где рассмотрена вся методологическая цепочка от постановки задачи до итогового анализа уровня целостности данных для каждого приложения.

Мы сейчас обсуждаем возможность издать на русском языке книгу Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design и хотели бы включить в эту дискуссию «коллективный разум».

Уважаемые читатели! Пожалуйста, оцените это издание по пятибалльной шкале. Насколько оно раскрывает тему? Будет ли оно полезно разработчикам БД — лично вам, или, может быть, вашим менее опытным коллегам, которые смогут избежать ошибок проектирования?
Комментарии своей оценки, как всегда, приветствуются.
Проголосовать

Отказоустойчивая система на базе репликации mySQL и сетевого протокола CARP

Время на прочтение4 мин
Количество просмотров17K
И так задача.
Есть 2 сервера: 1 — Master, 2 — Slave. Нужно сконфигурировать отказоустойчивую систему, которая позволит в случае падения 1го сервера и/или базы данных, автоматически переключиться на 2й при минимальном downtime. После восстановлении Мастера, он должен стать слейвом, а Слейв — Мастером. ОС FreeBSD.
Читать дальше →

Скрипт мониторинга процессов MySQL на Perl

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

Более пяти лет я работаю системным администратором в хостинговой компании, обслуживаю более сотни серверов с freebsd и centos. За это время накопилось много самописных скриптов, облегчающих мне жизнь. Этими скриптами хочу поделиться с сообществом, да и выслушать здоровую критику никогда не помешает.

Предыстория.
Читать дальше →

Выбираем предыдущую и следующую запись зная id

Время на прочтение3 мин
Количество просмотров20K
Столкнулся недавно с задачей показа кнопок [ВПЕРЕД] [НАЗАД] на странице просмотра. Но сложность задачи в том, что сортировка может быть по произвольному полю таблицы.

Постановка задачи:

CREATE TABLE `contacts` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name_prefix` varchar(50) DEFAULT NULL,
`name` varchar(100) DEFAULT NULL,
`infix` varchar(100) DEFAULT NULL,
`surname` varchar(100) NOT NULL,
`primary_email` varchar(100) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

Для наглядности объясню где это все работает:
есть две страницы, работающие с этой таблицей:
— index, на ней отображаются все записи из таблицы contacts, есть фильтр и есть сортировка по столбцам
— view, просмотр текущей записи из таблицы contacts. На это странице есть кнопки [ВПЕРЕД] [НАЗАД], с учетом фильтра и сортировки заданной на странице index;
Трудность возникла в этих двух кнопках.
решение . . .

mysql-proxy тестирование под мелкоскопом

Время на прочтение2 мин
Количество просмотров8.8K
mysql-proxy — практически идеальное решение для тех, кому нужен дешевый шардинг без переписывания приложений, а также хостинг провайдерам, которым сложно контролировать криворуких клиентов :) но хотелось бы вынести mysql или снизить нагрузку на СУБД без лишних контактов с клиентами.

Итак, есть задача, облегчить жизнь mysql серверу. Доступное решение — master-slave репликация. Всё замечательно, когда у нас есть программисты, которые могут переписать приложение на использование нескольких серверов СУБД, но как быть, если таковых нет? Тут на помощь нам приходит mysql-proxy. Работая прозрачно для клиента, mysql-proxy умеет проксировать запросы нескольких slave & master серверов.

далее будет описание тестов
Читать дальше →

Кто стоит за соединениями?

Время на прочтение2 мин
Количество просмотров5.7K
Периодически возникают ситуации, когда хочется понять, какой же процесс на сервере повинен за конкретное соединение с СУБД. К примеру, очень много соединений к базе и хочется узнать, откуда они идут. Либо, есть какие-то «тяжёлые» соединения (по которым какие тяжёлые запросы идут, которые тормозят всё).

Можно ли это вообще узнать эту информацию? Оказалось, что в этом нет ничего сложного! Однако, каждый раз руками устанавливать соответствие довольно муторно. Так почему бы не автоматизировать процесс?

Нет ничего проще!
Читать дальше →

Семинар «Производительность MySQL», 22 сентября, Киев

Время на прочтение1 мин
Количество просмотров786
Компания Sun Microsystems и Образовательный Центр i∙klass и приглашают вас на семинар «Производительность MySQL».

Докладчик:
Дмитрий Кравчук, Principal Benchmark Engineer, Sun Microsystems, Париж, Франция
Читать дальше →

Вторая встреча Moscow MySQL User Group

Время на прочтение1 мин
Количество просмотров973
26-го сентября, в 19-00 в аудитории 116 здания ГУ-ВШЭ на Мясницкой, 20 состоится очередная встреча Moscow MySQL User Group. (Первая была 2 августа.) В качестве гостя выступит Пётр Зайцев — консультант в области разработки и настройки высоконагруженных веб-систем, использующих СУБД MySQL.

Пётр Зайцев работал техническим директором компании SpyLog, был сотрудником Группы высокой производительности компании MySQL AB, а в последние годы руководит собственной консалтинговой компанией, выступает на конференциях (например, HighLoad, которая сегодня начинается), проводит семинары и ведёт блог MySqlPerformanceBlog.com.
Пётр расскажет о своём видении развития СУБД MySQL, опыте работы на консалтинговых проектах по настройке высоконагруженных систем и ответит на вопросы.

Встреча проводится при поддержке клуба «Бизнес в стиле .RU» и для участия в ней необходимо обязательно зарегистрироваться по адресу http://styleru.net/register, чтобы попасть в здание ГУ-ВШЭ.

Инструкция: как перенести сайт WordPress с MySQL 5.7 на MySQL 8

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

Недавно WordPress при проверке здоровья сайта начал рекомендовать использование версии MySQL 8. В этой статье расскажем, как перенести сайт на WordPress на MySQL 8 на примере нашего хостинга. Спойлер: это намного легче, чем может показаться.

Читать далее

О выборе CMS для сайтовых дел, кратенький обзор Processwire

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

На днях было появилась нужда - создать сайт новостного типа, и недолго думая приступил к поиску того самого чудо движка (CMS, пардон - за терминологию из 90х) который бы осилил задачу с относительной лёгкостью, но и - как понимаете - был бы достаточно поддерживаем (важно!), стабилен и гибок для других возможных задач (заказов) из будущего.

К авангардной тройке (WP, Joomla, Drupal) не приглянулся по N-ным причинам, но, щас не об этом.

В общем, перебрал всевозможные критерии (внушительный список хотелок :)) - гугл + ИИ в помощь смекалке и, перематывая к результату - остановился на чудо инструменте Processwire (далее PW).

Читать далее ->

Как и когда пора начинать коммитить в OSS

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

По долгу службы, мы много работаем с деньгами. Складываем, вычитаем, считаем проценты. Любому школьнику известно, что для этих расчетов не подходят обычные встроенные в язык типы: флоаты не сойдутся у финансовых аудиторов, большие целые принесут кучу проблем при конвертации (например, йены обходятся без дробных единиц, а в одном оманском риале — 1000 баиз, а не сто, как у всяких плебейских долларов и евро), и так далее. Существуют целые комитеты, определяющие стандарты (ISO 4217 — коды валют и ISO 24165 — идентификаторы цифровых токенов). Во всех более-менее современных языках есть библиотеки для работы с денежными суммами, реализующие стандарты и скрывающие от нас адовую арифметику без потерь точности.

В мире эликсира, почти всем, что связано с имплементацией комитетских стандартов, занимается Кип Коул. Удобной работе с деньгами мы обязаны тоже его библиотекам: ex_money — для собственно арифметики и money_sql для персистенса.

Читать далее

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

Oracle анонсирует MySQL HeatWave

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

HeatWave ML полностью автоматизирует обучение моделей, логические выводы и интерпретацию. Для сравнения: машинное обучение с HeatWave в 25 раз быстрее Amazon Redshift, что в итоге получается на 99% дешевле.

Читать далее

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

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

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

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

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

Читать далее

Мониторинг популярных баз данных из единого интерфейса Quest Foglight — анонс вебинара

Время на прочтение2 мин
Количество просмотров1.9K
Foglight for Databases — удобный инструмент для DBA, который поддерживает мониторинг SQL Server, Oracle, MySQL, PostgreSQL, DB2, SAP ASE, MongoDB и Cassandra. И всё это в одном интерфейсе.

Кроме этого, инструмент позволяет сравнивать производительности БД в разные периоды времени (например, до релиза и после него), а также выполнять сравнение производительности различных экземпляров.

image

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

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

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

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


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

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

Web-сервер машинного обучения «ВКФ-решатель»

Время на прочтение21 мин
Количество просмотров4.4K
Сейчас в глазах обычной публики машинное обучение прочно ассоциируется с различными вариантами обучения нейронных сетей. Если первоначально это были полносвязные сети, потом заместившиеся сверточными и рекуррентными, то теперь это стало совсем экзотическими вариантами типа GAN и LTSM-сетей. Кроме все больших объемов выборок, требуемых для их обучения, они еще страдают невозможностью объяснить, почему было принято то или иное решение. Но существуют и структурные подходы к машинному обучению, программная реализация одного из которых описана в настоящей статье.


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

ASP.NET MVC – работаем с MySQL через ADO.NET

Время на прочтение34 мин
Количество просмотров18K
Legacy технологии
Предупреждение: и ASP.NET MVC устарел и ADO.NET тоже. Рекомендуется использовать ASP.NET Core с современным ORM. Но если вам интересно, то читайте.

Уже, наверное, раза три подбираюсь к ASP.NET MVC. После десяти лет с ASP.NET WebForms немного сложно переходить именно к технологии MVC, поскольку отличий столько, что скорее проще перечислить, что у этих технологий общего – это разве что библиотеки .NET Framework. Я не буду писать тут – лучше или хуже MVC чем WebForms, просто они обе хороши, и на обеих технологиях можно построить хорошее приложение. Свои мысли по поводу необходимости TDD я тоже пока оставлю при себе, хотя их есть у меня.

А сейчас я буду говорить о стандартнейшей задаче – обычной работе с данными: просмотре в табличном виде списка записей, добавлении, изменении и удалении данных (операции CRUD). Однако практически во всех книгах и во многих решениях в интернете для ASP.NET MVC почему-то рассматривается вариант исключительно через ORM (Object Relation Mapping): или Entity Framework (EF) или LINQ для SQL. Технологии отличные, спору нет, наконец-то программист может и не разбираться – а как вообще эта самая реляционная СУБД (которой он, скорее всего, пользуется) вообще работает, и даже SQL, по идее, знать уже необязательно: прокладка в виде EF и коннектора для СУБД разберутся между собой. «Вот оно счастье – нет его краше». Но тем программистам, которые не боятся прямой работы с базой данных через механизм ADO.NET, зачастую непонятно – а с чего вообще начинать в ASP.NET MVC и надо ли.
Читать дальше →

DataIncrement — дополнение к возможностям phpMyAdmin

Время на прочтение3 мин
Количество просмотров2.7K
Когда используешь что-то вроде phpMyAdmin для работы с данными в базе, всегда неудобно что связанное поле отображает просто число из другой таблицы, вместо конкретных данных, которые там прячутся.

Например, в поле `country_id` стоят числа, а не название страны. Приходится прыгать из таблицы в таблицу. Или писать отдельный sql, что бывает зачастую неудобно, если надо по быстрому. Или с телефона набирать sql запрос не с руки. А если нужно обновить страну из поля `country_id`, то опять прыгать из таблицы в таблицу. Короче — неудобно все это.

Проще показать в формате было-стало:
Читать дальше →

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