Собственно, столкнулся с банальной задачей — есть база, в которой есть масса данных ФИО, написанных латиницей. Зачастую достаточно безграмотно и непредсказуемо транслитерировано. Вроде бы и есть ГОСТ 7.79 (ISO 9), но на практике его далеко не всегда соблюдают.
Задача — есть БД с записями (как правило, ФИО) латиницей. Плохой латиницей. Требуется по русской подстроке поиска в вэб-приложении выбрать из БД (MySQL) записи, похоже транслитерированные на латиницу.
Рубрика «mysql» - 35
Поиск различных вариантов транслитерации русских текстов (ФИО) латиницей для выборок в MySQL
2013-11-18 в 8:31, admin, рубрики: mysql, mysql tricks, php, Регулярные выражения, транслитерация, метки: mysql, mysql tricks, PHP, транслитерация
Мне часто приходилось сталкиваться с нодовыми интерфейсами в программах. Начиная с музыкальных модульных приложений, заканчивая пакетами для создания трехмерной графики.
Идея графического управления логикой программы мне всегда казалась очень элегантным, а в некоторых случаях, единственным удачным решением. Позже, когда помимо музыки и видео я увлекся программированием (в основном PHP, так уж сложилось), мне захотелось попробовать, пусть даже в качестве эксперимента, создать графическую оболочку для выполнения тех нехитрых задач, с которыми я сталкивался в своей работе.
Читать полностью »
String Aggregation in the SQL Server World
2013-10-30 в 6:48, admin, рубрики: aggregate, mysql, oracle, sql, sql server, string, XML, метки: aggregate, mysql, oracle, sql, sql server, string, XMLНа практике, задачи по объединении строк в одну попадаются достаточно часто. Весьма печально, но стандарт T-SQL не предусматривает возможности использовании строковых данных внутри агрегирующей функции SUM:
Msg 8117, Level 16, State 1, Line 1
Operand data type char is invalid for sum operator.
Хотя для решения подобного рода задач, для MySQL была добавлена функция GROUP_CONCAT, а в Oracle – LISTAGG. В свою же очередь, SQL Server такого встроенного функционала пока не имеет.
Однако, не стоит рассматривать это как недостаток, поскольку возможности T-SQL позволяют выполнять конкатенации строк более гибко и эффективно за счет применения других конструкций, которые будут рассмотрены далее.
Читать полностью »
Сертификаты MySQL DBA и MySQL Developer по 50 долларов
2013-10-29 в 12:50, admin, рубрики: certification, mysql, oracle, сертификация, метки: certification, mysql, oracle, сертификацияВчера Oracle Certification запустила beta-сертификацию MySQL 5.6 DBA и MySQL 5.6 Developer Beta-программа продлится около двух месяцев. В это время у вас есть возможность получить сертификаты за 50 USD
Это первый официальный экзамен по MySQL за очень долгое время: предыдущий был для версии 5.0 и много багов утекло с той поры. Для меня лично это событие значимо ещё и потому, что я принимала активное участие в создании и редактировании вопросов вместе с другими инженерами из команды MySQL Support. А гордиться нам есть чем.
Настраиваем Yate для работы с MySQL
2013-10-24 в 20:29, admin, рубрики: ip-телефония, mysql, yate, метки: ip-телефония, mysql, yate Хотел бы Вам рассказать о настройке Yate для работы с MySQL. Эту информацию можно найти в документации, но не у всех получается ее собрать во что-то цельное.
+
Итак приступим!
Читать полностью »
Удобства на улице для MySQL драйвера в Node.js
2013-10-23 в 17:13, admin, рубрики: driver, Impress, mysql, node.js, метки: driver, Impress, mysql, node.js Кто пишет на Node.js и использует MySQL, тот непременно знает, что наш дорогой товарищ Felix Geisendörfer три года назад совершил героический и самоотверженный подвиг: в одиночку разработал очень качественный драйвер для подключения к MySQL, нативно реализовав двоичный протокол этой СУБД на JavaScript. Потом к проекту подключились другие уважаемые товарищи, была реализована поддержка пулов соединений, кластеров, транзакций, восстановление при временной утере соединения и т.д. Сейчас драйвер является самым развитым, хорошо проработанным и активно поддерживаемым из того, что мы имеем в открытых репозитариях npm и github. Удивительно даже, что при хорошо проработанной низкоуровневой реализации, все удобства, которые предоставляет это драйвер для прикладного разработчика, сводятся к одному методу query. Для меня лично, этого очень мало, ну привык дедушка к удобствам для возврата скалярных значений, строк и столбцов в массивы, интроспекции структур БД. Так что, с удовольствием делюсь этими наработками с вами, мои дорогие читатели, но предупреждаю, что все удобства будут на улице. Есть конечно вариант тесной интеграции с драйвером, но FelixGe желает оставить драйвер исключительно низкоуровневым, поэтому я остановился на варианте внешней библиотеки с добавлением к драйверу через примеси. В виде примесей удобства попали и в платформу Impress, а так же, опубликованы как патч к драйверу. О функционале и вариантах использования далее.
Читать полностью »
HAPRoxy для Percona или Galera на CentOS. Его настройка и мониторинг в Zabbix
2013-10-22 в 8:02, admin, рубрики: CentOS, galera, haproxy, hiload, linux, mysql, Percona, zabbix, системное администрирование, метки: CentOS, galera, haproxy, hiload, linux, Percona, zabbix
Очень короткая статья, про то как можно использовать HAProxy в качестве балансировщика для multi-master серверов MySQL, таких как Percona или Galera.
Для тех кто не знаком с HAProxy, цитата о предназначении продукта:
При увеличении нагрузки или посещаемости проекта, рано или поздно вертикальное маштабирование (увеличение ресурсов сервера, таких как память, скорость диска и т.д) упирается в некий предел и не дает ощутимого прироста. В таком случае в ход идет горизонтальное масштабирование — добавление новых серверов c перераспределением нагрузки между ними.
Кроме увеличения мощности, горизонтальное масштабирование добавляет надежности системе — при выходе из строя одного из серверов, нагрузка будет сбалансирована между работающими и приложение будет жить.
От слов к делу, установка и настройка очень просты:
Читать полностью »
Миграция с mysql на postgresql
2013-10-21 в 8:25, admin, рубрики: django, mysql, postgresql, python, миграция, метки: Django, mysql, postgresql, миграцияПривет уважаемому сообществу!
В какой-то момент времени встала потребность перенести базу приложения на django с mysql на postgresql. Первые два захода на эту проблему были неудачными, но позволили разобраться с целостностью данных, искоренить проблемы для manage.py syncdb
и manage.py migrate
.
Читать полностью »
Zabbix: Резервное копирование небольшой базы
2013-10-20 в 14:26, admin, рубрики: linux, mysql, Percona XtraBackup, zabbix, Администрирование баз данных, резервное копирование, метки: mysql, Percona XtraBackup, zabbix, резервное копирование Опустим долгое вступление о необходимости резервного копирования данных. Все мы знаем, что бэкапы нужно делать. Те, кто активно использует Zabbix, тоже задумываются о возможности восстановления базы в случае её повреждения либо переноса на новый сервер и т.д. Понятно, что оптимальным вариантом для этого является репликация, но далеко не каждая организация может себе это позволить. Я покажу, каким образом проблема резервного копирования Zabbix решена у нас. Если кому-то интересно, прошу под кат.
Читать полностью »
Tips & tricks for MySQL. Работа с SQL
2013-10-07 в 18:25, admin, рубрики: mysql, mysql performance, mysql tricks, метки: mysql, mysql performance, mysql tricks Эта статья задумана мной как сборник некоторых интересных моментов по использованию и оптимизации SQL запросов в БД MySQL, на мой взгляд, плохо освещенных в интернете. Так, из статьи вы узнаете о конструкции with rollup, и о том, как переписать подзапросы in и not in на join'ы, а так же обновление и удаление данных в нескольких таблицах — одним запросом, и многое другое. Начнем по-порядку.
Читать полностью »