mysql, percona, mariadb
Говорят, надо всем на PostgreSQL уходить.
Из новостроя ну да перкона и еще галера есть, но все это имхо адовые велосипеды.
Посмотрел оба варианта, на синтетике погонял на 12 машинках и решил не использовать.
Про Toku слышал, но лично я не особо понимаю зачем она. Все жирные данные можно по ссылке хранить и пихать в например хадуп, а нежирные данные жать опять же смысла нет, потому что скорость важнее.
Итого: ниче не поменялось — нужен SQL + AСID — оракл или посгрес, не нужен AСID + SQL — nosql решений выше крыши на все цвета радуги
все уже совсем со SQL слазят.
все уже совсем со SQL слазят.Куда, если не секрет? На опенсорсные nosql решения без слез не взглянешь.
Какой из форков дальше всего ушел от mysql 5.5?бросай нахер этот mysql и переходи на PostgreSQL
Господа, а есть внятное понимание, что же происходит с сабжами?А ты с какой целью интересуешься? Я к тому, что движок не скажется на разработке приложения, а важен только на этапе поддержки\администрирования (если, конечно, о MyISAM'e речи не идёт).
Все движки рабочие, разница в основном в работе с тредами\стабильностью. Когда у тебя будет проект для которого важен выбор движка, то сможешь попробовать\поэкспериментировать. Пока, по содержанию вопроса, есть подозрение, что такого проекта у тебя нет.
Из важного в мире mysql для разработки с 2010 могу отметить Handler Socket http://habrahabr.ru/post/113040/.
Все движки рабочиеВ каком-то движке появился бэкап? Как вообще пользователи mysql эксплуатируют СУБД без бэкапа?
В каком-то движке появился бэкап? Как вообще пользователи mysql эксплуатируют СУБД без бэкапа?Чаще всего используется дамп с реплики + бинлоги.
Чаще всего используется дамп с реплики + бинлоги.Берем последнюю версию mysql:
http://dev.mysql.com/doc/refman/5.7/en/binary-log-setting.ht...
И видим что:
In MySQL 5.7, the default binary logging format is STATEMENT.Очевидно, что если после восстановления из бэкапа мы получаем не те данные, что были до бэкапа, то это какой-то странный бэкап.
...
When using statement-based logging for replication, it is possible for the data on the master and slave to become different if a statement is designed in such a way that the data modification is nondeterministic; that is, it is left to the will of the query optimizer. In general, this is not a good practice even outside of replication
Получается, при кодировании надо учитывать, на какой форк mysql мы рассчитываем, и писать только кошерные с точки зрения этого форка SQL-запросы, от которых бэкап не отваливается.
the default binary logging format is STATEMENTа что, в каких-то других субд не нужно менять значения по умолчанию, они дают правильный результат всегда?
Получается, при кодировании надо учитывать, на какой форк mysql мы рассчитываем, и писать только кошерные с точки зрения этого форка SQL-запросы, от которых бэкап не отваливается.Некошерные запросы для statement-репликации это запросы типа delete order by rand limit 10; rand_seed не уезжает в бинлогах - получаешь рассинхрон. Но mysql об этом честно сообщит варнингом (и в логи тоже).
В общем, если голову совсем не отключать при разработке, то с бэкапами на statement-репликации можно нормально жить.
Когда у тебя будет проект для которого важен выбор движка, то сможешь попробовать\поэкспериментировать. Пока, по содержанию вопроса, есть подозрение, что такого проекта у тебя нет.Я все проекты стараюсь отвязывать в производительности от mysql отвязываюсь, у меня где нагрузка — там демона, взаимодействующие с базой. Т.е. меня действительно вопрос касается не очень остро.
В то же самое время, я люблю свежий софт и последние версии. И я не знаю на что мигрировать! Сменить базу на Постгрес точно не получится, так как базы не меняют просто так без причин.
Говорят, надо всем на PostgreSQL уходить.Ты написал для него репликатор?
Пока нет репликатора, для меня только MySQL 5.1 или 5.5...
statement-репликацииЕщё кто-то использует? Есть же правильный row-based
Ты написал для него репликатор?Нет, но у меня тут сидит бывший сотрудник Percona, и он иногда посматривает в сторону написании libslave для Postgres.
Я все проекты стараюсь отвязывать в производительности от mysql отвязываюсь, у меня где нагрузка — там демона, взаимодействующие с базой.Везёт же тем у кого всё в память лезет нормально. А что ты делаешь, когда есть не только нагрузка, но и данные ещё?
Ты написал для него репликатор?
Пока нет репликатора, для меня только MySQL 5.1 или 5.5...
http://lmgtfy.com/?q=postgresql+replication
Ещё кто-то использует? Есть же правильный row-based
Да, использует. statement тоже правильный. Когда тебе в ночи надо будет искать позицию, на которую надо зацепить слейв, то ты его тоже посчитаешь удачным выбором, например. Или когда надо будет разобраться откуда прилетел этот изменяющий запрос.
Если бы не знал тебя, то подумал бы, что какой-то нуб. Пачка странных утверждений наложенных на бан в гугле. Завязывай
Некошерные запросы для statement-репликации это запросы типа delete order by rand limit 10; rand_seed не уезжает в бинлогах - получаешь рассинхрон. Но mysql об этом честно сообщит варнингом (и в логи тоже).Написано, что такое тоже некошерно (вполне обыкновенный запрос):
DELETE if you are deleting rows from a table that has foreign keys with ON DELETE CASCADE properties.
...
If and only if the preceding queries have no ORDER BY clause guaranteeing a deterministic order.
Везёт же тем у кого всё в память лезет нормально. А что ты делаешь, когда есть не только нагрузка, но и данные ещё?Вопрос решен уже давно: coda/cache.hpp
http://github.com/bachan/coda
Автоматический подчищающийся кеш, ограничен по числу элементов, удаляются самые давно использованные, если не хватает.
Если следующий вопрос "а читаешь ты из mysql синхронно?", то ответ http-сервер Близзард с быстрыми и медленными тредами.
Это, конечно, закат колхозного солнца руками, но зато работает предсказуемо, что в хай-лоаде ценится куда больше чем всё остальное.
Пачка странных утверждений наложенных на бан в гугле.Ну ты же ерунду придумал, особенно с Гуглом. Ну т.е. я тебя тоже знаю и не могу понять, как ты мне можешь давать совет гуглить "postgresql replication", наверное я имею в виду нечто другое...
Нету для Постгреса библиотеки репликации. В Гугл можешь не отсылать, лучше прочитай что пишет Возбу на пост выше, — его коллега подумывает написать.
Нету для Постгреса библиотеки репликациинаверно не зря, в нем есть встроенный NOTIFY, в oracle тоже есть аналогичный механизм.
наверно не зря, в нем есть встроенный NOTIFYТоварищам нужен logical decoding.
Он появился в 9.4, теперь можно писать вебскейл плюсовые демоны для постгреса, и делать новые интересные доклады на конференциях.
в oracle тоже есть аналогичный механизмВ оракл API по разбору redo логов называется log miner, зацените объем доков по этой (экотической) фиче.
http://docs.oracle.com/database/121/SUTIL/logminer.htm#SUTIL...
Товарищам нужен logical decodingХорошая вещь!
Годнота, прямо захотелось что-то даже попробовать.
Интересно как там апдейты приходят, все строки целиком новые, или сам запрос. Примеры там даны с инсёртами...
Но за наводку спасибо.
В оракл API по разбору redo логов называется log miner, зацените объем доков по этой (экотической) фиче.я не про redo логи, а про уведомления об изменении говорил, если ты не заметил.
Оставить комментарий
Werdna
Господа, а есть внятное понимание, что же происходит с сабжами?Я застрял с году так 2010, проспал четыре года. Сейчас я вижу много всего нового, все ветки идут куда-то в свои стороны.
TokuDB — это круто или нет?
Какой из форков дальше всего ушел от mysql 5.5?
Насколько они совместимы между собой? Что выбрать?