Size: a a a

2019 November 14

P

Pavel in pro.elixir
Dmitry Russ (Aleksandrov)
“The default behaviour of mnesia is not to attempt automatic merge after a 'partitioned network' event. It detects and reports the condition, but leaves it up to the user to resolve the problem.” => Вот у тебя нетсплит и делай теперь что хочешь, ищи и решай проблему, пока у тебя даунтайм.
Фраза “почитать доку” и “Mnesia нужно очень досконально изучать” - они несколько противоречат друг-другу. Инструмент сразу заявляет об этом. В чем проблема?
источник

DR

Dmitry Russ (Aleksandrov) in pro.elixir
И таких подводных камней очень много.
источник

P

Pavel in pro.elixir
Да их везде очень много, они просто в разных инструментах в разных местах развалены.
источник

P

Pavel in pro.elixir
Так всегда было и всегда будет. Это касается даже таких инструментов как ЯП
источник

DR

Dmitry Russ (Aleksandrov) in pro.elixir
Когда, если взять тот же cockroachdb(просто пример) - auto-heal - в случае нетсплита, понятно какая часть кластера как будет работать и так далее и с какими гарантиями. Большинство баз данных не имеют таких жёстких ограничений на количество данных. Т.е. большинство других инструментов дают более простые и понятные default behaviour для решения бизнес задач. Чтобы решить конфликты в mnesia нужно тащить внешнюю библиотеку unsplit, чтобы можно было сохранить больше чем X gb данных, нужно тащить внешнюю библиотеку (eleveldb и копаться в магии как это всё настроить) и писать код в приложении, если нужно будет когда-то на другие сервера переезжать. Все те вещи, которые в большинстве других инструментах работают out of the box.
источник

DR

Dmitry Russ (Aleksandrov) in pro.elixir
Короче суть в том, что есть много внешних инструментов, которые решают ту же проблему, что и мнезия, только с меньшей головной болью.
источник

DR

Dmitry Russ (Aleksandrov) in pro.elixir
Когда касается распределённости, когда используешь её локально - очень крутой инструмент.
источник

P

Pavel in pro.elixir
Мы пока поняли все, что Mnesia - это инструмент который надо изучать а потом использовать. Мне кажется эта фраза применима к любому инструменту.
источник

DR

Dmitry Russ (Aleksandrov) in pro.elixir
Pavel
Мы пока поняли все, что Mnesia - это инструмент который надо изучать а потом использовать. Мне кажется эта фраза применима к любому инструменту.
Опять же вес. Mnesia нужно изучать намного глубже, чем большинство других инструментов. Всё, о чём я говорю - это не опревержение слов, а вес. Любой инструмент нужно изучать, но Mnesia нужно изучать особенно глубоко по сравнению.
источник

P

Pavel in pro.elixir
Dmitry Russ (Aleksandrov)
Опять же вес. Mnesia нужно изучать намного глубже, чем большинство других инструментов. Всё, о чём я говорю - это не опревержение слов, а вес. Любой инструмент нужно изучать, но Mnesia нужно изучать особенно глубоко по сравнению.
У меня есть пара коллег, которые скажут вам такое про Kafka, ELK, PostgreSQL, Hadoop. Можно перечислять достаточно долго 🙂
источник

DR

Dmitry Russ (Aleksandrov) in pro.elixir
Pavel
У меня есть пара коллег, которые скажут вам такое про Kafka, ELK, PostgreSQL, Hadoop. Можно перечислять достаточно долго 🙂
С PostgreSQL можно уйти намного дальше, прежде чем нужно будет копаться обстоятельно в документации, чем с Mnesia.
источник

DR

Dmitry Russ (Aleksandrov) in pro.elixir
Есть опыт использования PostgreSQL, есть с чем сравнивать.
источник

Е

Евгений in pro.elixir
Dmitry Russ (Aleksandrov)
Короче суть в том, что есть много внешних инструментов, которые решают ту же проблему, что и мнезия, только с меньшей головной болью.
Допустим я использую мнезию как етс с возможностью сложных запросов. Никаких кластеров, таблицы в памяти висят временные на одной ноде. Какой внешний инструмент будет решать эту проблему лучше, чем мнезия? И зачем мне ее в таком случае прямо ну вот ваще глубоко изучать, чуть ли не в исходниках копаться?
источник

Е

Евгений in pro.elixir
Dmitry Russ (Aleksandrov)
С PostgreSQL можно уйти намного дальше, прежде чем нужно будет копаться обстоятельно в документации, чем с Mnesia.
У постгреса свои проблемы - отсутствие IN MEMORY таблиц.
источник

DR

Dmitry Russ (Aleksandrov) in pro.elixir
Евгений
Допустим я использую мнезию как етс с возможностью сложных запросов. Никаких кластеров, таблицы в памяти висят временные на одной ноде. Какой внешний инструмент будет решать эту проблему лучше, чем мнезия? И зачем мне ее в таком случае прямо ну вот ваще глубоко изучать, чуть ли не в исходниках копаться?
Я указывал выше, что только в случае распределенной бд.
источник

DR

Dmitry Russ (Aleksandrov) in pro.elixir
Евгений
Допустим я использую мнезию как етс с возможностью сложных запросов. Никаких кластеров, таблицы в памяти висят временные на одной ноде. Какой внешний инструмент будет решать эту проблему лучше, чем мнезия? И зачем мне ее в таком случае прямо ну вот ваще глубоко изучать, чуть ли не в исходниках копаться?
“Когда касается распределённости, когда используешь её локально - очень крутой инструмент.”
источник

P

Pavel in pro.elixir
Dmitry Russ (Aleksandrov)
С PostgreSQL можно уйти намного дальше, прежде чем нужно будет копаться обстоятельно в документации, чем с Mnesia.
Ой-ой-ой, а это вранье. Представьте, что вы “ничего не знаете” про SQL. Смотрите как вам весело становится - транзакции, уровни изоляции, индексирование (покрывающие индексы, левая направленность индекса), кластеризация, шардирование, алтер табличек, истории с VACUUM и так далее. Вы просто лучше знаете PostgreSQL сразу переходя с MySQL к примеру нежели Mnesia, когда вы знаете только MySQL
источник

Е

Евгений in pro.elixir
Dmitry Russ (Aleksandrov)
“Когда касается распределённости, когда используешь её локально - очень крутой инструмент.”
Думаю даже в распределенной системе мнезия может очень неплохо зайти, если насрать на консистентность.
источник

P

Pavel in pro.elixir
Евгений
У постгреса свои проблемы - отсутствие IN MEMORY таблиц.
Эммм, а сделать in-memory диск и на него отправить табличку?
источник

DR

Dmitry Russ (Aleksandrov) in pro.elixir
Pavel
Ой-ой-ой, а это вранье. Представьте, что вы “ничего не знаете” про SQL. Смотрите как вам весело становится - транзакции, уровни изоляции, индексирование (покрывающие индексы, левая направленность индекса), кластеризация, шардирование, алтер табличек, истории с VACUUM и так далее. Вы просто лучше знаете PostgreSQL сразу переходя с MySQL к примеру нежели Mnesia, когда вы знаете только MySQL
Я начинал с mnesia и знал о SQL по курсу университета, и все равно PostgreSQL оказался после mnesia проще и ушли дальше.
источник