Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: MariaDB ODBC Подключение

Добрый день. Есть некий сервер на нем MariaDB. С клиентского компа(WinXP) пытаюсь через ODBC подключиться к MariaDB.
При настройках подключения вижу базу данных. Нажимаю финиш. Выскакивает окно Error. Пишет недопустимое имя драйвера или транслятора. Что это может быть? Как бороться?
Спасибо
Ответ: у меня некий сервер на нем MariaDB
MySQL ODBC Driver 5.1
все ОК

ваша версия драйвера какая?
Вопрос: Mariadb b Mysql разный вывод команды explain и медленное выполнение запроса в Mariadb

Базы одинаковые скопированы через mysqldump.
Есть запрос:
SELECT lpu_group1.id, lpu_group1.name_group, SUM(IF(sel1.locality=13,1,0)) AS col32, 
SUM(IF(sel1.locality=14,1,0)) AS col33, SUM(IF(sel1.sex=1,1,0)) AS col34, 
SUM(IF(sel1.sex=2,1,0)) AS col35, SUM(IF(sel1.sex=2 OR sel1.sex=1 OR sel1.sex=3,1,0)) AS col31
FROM lpu_group1
LEFT JOIN (
  SELECT live.lpuid, geo.codOut, live.locality, live.sex, IF(t.name_group IS NULL,0,t.name_group), 
  IF(t.id IS   NULL, 35,t.id) AS grid
  FROM live, geo
  LEFT JOIN lpu_group1 t ON (geo.codOut LIKE CONCAT(t.codOut,"%"))
  WHERE geo.uniCod = live.residence AND live.date_birth >= '2015-01-01'  
  AND live.date_birth <= '2015-05-08 23:59:59' AND live.del=0
) AS sel1 ON (sel1.grid = lpu_group1.id)
GROUP BY lpu_group1.id
ORDER BY lpu_group1.num, lpu_group1.name_group

Вот выводы команды explain от этого запроса.
10.0.17-MariaDB
+------+-------------+------------+--------+----------------------+---------+---------+---------------------+-------+---------------------------------+
| id   | select_type | table      | type   | possible_keys        | key     | key_len | ref                 | rows  | Extra                           |
+------+-------------+------------+--------+----------------------+---------+---------+---------------------+-------+---------------------------------+
|    1 | SIMPLE      | lpu_group1 | index  | NULL                 | PRIMARY | 4       | NULL                |    29 | Using temporary; Using filesort |
|    1 | SIMPLE      | live       | ALL    | residence,date_birth | NULL    | NULL    | NULL                | 51878 | Using where                     |
|    1 | SIMPLE      | geo        | eq_ref | PRIMARY              | PRIMARY | 4       | baby.live.residence |     1 |                                 |
|    1 | SIMPLE      | t          | index  | NULL                 | codOut  | 54      | NULL                |    29 | Using where; Using index        |
+------+-------------+------------+--------+----------------------+---------+---------+---------------------+-------+---------------------------------+

Мysql 5.6.24
+----+-------------+------------+--------+----------------------+-------------+---------+---------------------+------+----------------------------------------------------+
| id | select_type | table      | type   | possible_keys        | key         | key_len | ref                 | rows | Extra                                              |
+----+-------------+------------+--------+----------------------+-------------+---------+---------------------+------+----------------------------------------------------+
|  1 | PRIMARY     | lpu_group1 | index  | PRIMARY,codOut       | PRIMARY     | 4       | NULL                |   29 | Using temporary; Using filesort                    |
|  1 | PRIMARY     | <derived2> | ref    | <auto_key0>          | <auto_key0> | 9       | baby.lpu_group1.id  | 2158 | Using where                                        |
|  2 | DERIVED     | live       | range  | residence,date_birth | date_birth  | 6       | NULL                | 7442 | Using index condition; Using where                 |
|  2 | DERIVED     | geo        | eq_ref | PRIMARY              | PRIMARY     | 4       | baby.live.residence |    1 | NULL                                               |
|  2 | DERIVED     | t          | ALL    | NULL                 | NULL        | NULL    | NULL                |   29 | Using where; Using join buffer (Block Nested Loop) |
+----+-------------+------------+--------+----------------------+-------------+---------+---------------------+------+----------------------------------------------------+

И естественно на mysql этот запрос выполняется за 0,08 сек, а на mariadb 4.66 сек
Почему такая ерунда и что можно сделать? Перешли на mariadb и такие проблемы.
Базы и ключи полностью одинаковые. Комп под mariadb намного мощнее, чем под mysql.
Ответ: Получилось с SQL_NO_CACHЕ
mysql - 0,08 sec
mariaDB - 3,181 sec
Если период отчета увеличить
mysql - 0,52 sec
mariaDB - 17,812 sec
Вопрос: Переезд на другую СУБД (mariaDB to ...)

Здравствуйте!

Имеем web проект реализованный на PHP, СУБД MariaDB. Стала необходимость переехать на другую СУБД, нынешняя СУБД не вывозит уже нагрузку. Проект сделан на движке, движок поддерживает следующие СУБД MySQL (за место мускула мы поставили MariaDB), PostgreSQL, MS SQL, Oracle.

Но мы склоняемся к noSQL, понимаю тут без переписывания кода движка тогда не обойтись, наткнулся на статью про Cassandra [url=]http://www.opennet.ru/opennews/art.shtml?num=34980[/url] как из написанного я понял что можно реализовать MariaDB + Cassandra, тоесть не какого переписывания кода движка, оставить как есть, а вся информация будет храниться в Cassandra. Скажите можно ли такое реализовать, что бы было двиг - mariaBD - Cassandra? Как я понял MariaDB тут выполняет роль транзитного узла, PHP работает с SQL базами, поэтому остается MariaDB, а MariaDB в свою очередь хранит информацию в Cassandra.


Если что то я не так понимаю то объясните.
Ответ: моя неправда.
автор
the following are also included with MariaDB Source and Binary packages:

Aria
XtraDB (drop-in replacement for InnoDB)

оно у меня только с Percona Server ассоциировалось
Вопрос: Как посмотреть откуда берет данные MariaDB 10 (из кэша или с диска)?

Все привет!

Есть:
MariaDB 10.0.31 под Centos 6 x64
RAM: 16Gb
Database: 8GB (InnoDB)
innodb_buffer_pool_size: 12Gb
file_per_table: TRUE


В базе есть таблица с ip адресами (черный список). В таблице порядка 10000 записей с небольшим ежедневным приростом
К этой таблице поступает 500-1000 запросов в минуту (только select id,blacklist from acl where ip_num=inet_aton('x.x.x.x')

Приложение работающее с базой поддерживает только MySQL и memcached.

В MariaDB 10 интерфейс memcached отсутствует.
В этой связи вопрос - как посмотреть откуда MariaDB берет данные при обращении к таблицам.

Спасибо
Ответ: Таблица компактная (если там не навешано бредовых текстовых полей). Обращение на уровне 10 запросов в секунду. Десять против одного, что таблица лежит полностью в кэше и не вымывается оттуда.
Если же есть куча дополнительных полей - создайте покрывающий индекс (ip_num,id,blacklist) - уже он будет постоянно лежать в индексном кэше, эффект тот же.
Для уверенности можете вообще создать копию таблицы на Memory-движке и общаться с ней (а новые записи при пополнении твёрдой копии добавлять триггером).

policai
как посмотреть откуда MariaDB берет данные при обращении к таблицам.

Емнип ни в MySQL, ни в MariaDB такой возможности нет. Только косвенно по значениям table_open_cache и Opened_tables можно судить, хватает объёма кэша, или его желательно увеличить. Аналогичные способы есть и для кэша индексов.
Вопрос: Что лучше: MySQL или MariaDB ?

Что лучше: MySQL или MariaDB ?

В первую очередь интересует скорость!

Посоветуйте что выбрать в моем конкретном случае (MySQL или MariaDB) чтобы сайт работал быстрее:
у меня небольшой сайт - 2000 уников в сутки.
Запросы очень простые INSERT, SELECT - никаких заморочек.
VPS-хостинг: CentOS 7, диск 7Gb, процессор 2000 МГц, память 256 МБ

Спасибо всем за помощь!
Ответ: После покупки прав на Mysql компанией Oracle, для обеспечения GPL лицензии, создатель Mysql и остальное сообщество приступило к созданию MariaDb

Мне кажется Вам будет полезно ознакомиться с этими 2мя статьями


Вопрос: MariaDB 10.1.1 не читает данные из конфига

Добрый день

Есть проблема с MariaDB 10.1.1. Хочу настроить мастер-слейв репликацию. Делаю все как в инструкции к MySQL ( но мастер БД не читает данные из конфигов. Пробовал писать настройки и в /etc/my.cnf и в конфиги в каталоге /etc/my.cnf.d/.
Рестартую БД, но переменные из конфигов не считываются.
Устанасливал
server_id=1
log-bin=/var/log/mysql/mysql-bin.log


Для проверки выполняю в консоли MySQL следующее:
show variables like 'server_id';

и
show binary logs;


Настраивал на MySQL 5.6 - все работает отлично.
Ответ: Пардон за некропостинг, а вдруг кому пригодится MariaDB 10+ файл /etc/my.cnf (для сентоси) в самом конце меняем
!includedip=/etc/my.cnf.d
на
!includedir=/etc/my.cnf.d
и не найдя в шаговой доступности кому поотрубать яйца руки, с идиотской улыбкой радуемся нормальночитаемым конфигам
Вопрос: MariaDB + cassandra

Здравствуйте!

Есть движок написанный на PHP, использует СУБД MariaDB. Скажите можно ли реализовать связку MariaDB + cassandra таким образом что бы вся информация хранилась в cassandra, а MariaDB занималась обработкой запросов от PHP движка?

т.е. если нам полностью переходить на cassandra надо полностью весь движок переписывать, все SQL запросы переписывать на noSQL, это довольно трудоемко и затратно. Основываясь из обзоров о MariaDB уникальных функций MariaDB является её движок для соединения с серверной версией СУБД Cassandra, дает возможность обращаться к данным и добавлять данные в БД Cassandra при помощи обычных SQL-запросов. Следовательно у нас возник интерес как можно реализовать нам запись, чтение и хранение информации в СУБД Cassandra что не чего не пришлось изменять в движке в плане переписывания кода и SQL запросов на noSQL.

Так же правильно организовать распределение нагрузки между серверами баз данных, сейчас у нас 2 сервера БД с MariaDB, их так же прийдется отсавлять плюс еще наждый из серверов ставить касандру и настраивать репликацию между двумя БД касандры?
Вопрос: Репликация MariaDB + таблицы FEDERATED

Коллеги, приветствую!
Возникла необходимость реплицировать на другой сервер базу MariaDB. Меня смущает тот факт, что две таблицы в ней являются FEDERATED. Какие подводные камни, нужны ли какие-нибудь специфические настройки?
Ответ: Akina,

Спасибо за ответ!
Вопрос: Помогите понять MariaDB Enterprise Cluster + Cassandra

Здравствуйте!

Имеется проект, написан на PHP, СУБД MySQL.
Решили уйти от SQL в пользу noSQL. Поскольку проект изначально писался под SQL базы данных переписать проект будет весьма затруднительно (считай с нуля писать проект), решили выйти из этой ситуации следующем путем: MySQL заменить MariaDB 10 в кластере (MariaDB Enterprise Cluster), далее используя движок Cassandra SE обращаться к данным в кластере Cassandra.

У меня вопросы сложились:
1. Самый основной и главный пожалуй, правильное ли наше решение?
2. данные будут храниться в обеих базах и в MariaDB и в Cassandra? или данные будут храниться только в Cassandra а по средствам MariaDB будет обращение на запись и чтение даных из Cassandra? Тоесть я не могу понять где будут храниться данные и как к ним будет обращение, MariaDB будет просто как проксирующая база (в ней будет только структура и все данные будут в cassandra?)

Помогите разобраться.
Ответ: А что за проект, какие запросы и нагрузки, чем не устроили SQL-базы, почему решили уйти на NoSQL, если решили уйти, то почему таким странным способом?
Как устроен слой работы с БД, какие задачи на нем, что там с транзакциями?[/quot]

Serg-io
Проект - сайт у нас с большой посещаемостью и нагрузкой на базу, постоянно добавляют контент, вся информация пишится в базу. База весьма больших размеров, плюс настроена репликация.

А есть подробности?
Какая пиковая посещаемость, какая нагрузка на базу на одну страницу, сколько пишущих транзакций, сколько читающих, насколько важна информация пользователей, насколько важна консистентность.
Какие типы запросов на базе, какие таблицы, какая на них селективность?
На каком языке и фреймворке все написано?
Почему решили, что проблема именно в БД?
Какое железо?
Без понимания, какие запросы делаются и как они обрабатываются, нет смысла думать о уходе на NoSQL - или скорость не получите или надежность потеряете, а скорее и то и другое.


Serg-io
Если мой способ весьма глуп уйти на СУБД для больших данных noSQL то подскажите свой путь решения что бы не пришлось переписывать двиг? Двиг работает через ODBC драйвер подключаясь к базе MySQL на данный момент.


Что-бы помочь, нужна информация. Я не думаю, что у вас тот уровень задач, с которым не может справиться SQL-база.
Вопрос: MariaDB 10.1.13 медленнее, чем 5.5.48

Продолжение.
Почитав отзывы, решил-таки окончательно перейти на MariaDB. Сейчас версия 5.5.48 стоит почти на всех терминалах, и эта версия пока что показала себя наилучшим образом. Параллельно начал тестировать у себя 10.1.13. Сразу заметил, что развертывание базы из скрипта стало дольше, чем на предыдущих версиях, но в работе замедление модификации данных было не столь заметным. Сегодня решил в качестве эксперимента поставить 10.1.13 на один из терминалов. По логам сразу видно, что медленные Insert и Update встречаются гораздо чаще, чем на 5.5.48, с Select вроде как все ОК, возможно стало даже чуть быстрее. Читал Release notes и по 10.1, и по 10.0, но не нашел ответа на вопрос, почему модификация данных стала медленнее.
Вот ключевые настройки, фигурирующие в ini-файле. Для 5.5.48 и 10.1.13 они одинаковы. 10.1.13 ставил отдельно, не поверх.

sql_mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"
default_storage_engine=innodb
innodb_buffer_pool_size=126M
innodb_log_file_size=50M

На какую настройку нужно еще обратить внимание?
Ответ: