(Untitled)

Jul 26, 2013 14:35

"Базу NoSQL мы решили не брать, т.к. у нас очень высокие требования к консистентности данных, а ни одна в мире NoSQL-база не может консистентно и транзакционно переложить предмет от одного аватара другому" [...]

Интересно, все остальные факты, изложенные уважаемым Андреем Фроловым в статье, имеют такой же уровень достоверности?

Вот, например, "В ( Read more... )

Leave a comment

Comments 57

alexclear July 26 2013, 10:38:31 UTC
Настоящей серебряной пулей в борьбе за перформанс для нас стал SSD. Твердотельные диски позволили нам записывать тысячи транзакций в секунду на диск без дорогостоящих RAID-массивов.

Щито? Без дорогостоящих ZOMG!

И, что для нас очень важно, мы записываем данные на диск синхронно, без отложенных коммитов и отключения fsync.

Щито? Отключение fsync как метод повышения производительности? И только SSD, наконец, позволило не отключать fsync?

Reply

blacklion July 26 2013, 11:17:58 UTC
Щито? Отключение fsync как метод повышения производительности?
Эммм… Саша… Я не настоящий сварщик, но всё, что я читал про скорость записи в PostgreSQL упоминало fsync, да.

Reply

alexclear July 26 2013, 11:22:23 UTC
Нельзя отключать fsync, если тебе дороги данные.
Такое будет мое мнение.

Reply

nil59 July 26 2013, 11:34:30 UTC
если у меня навернулась база - пофиг, в какой момент она это сделала, в 12:00 или в 11:50. все одно что-то, да потеряется

про кеширование записи на контроллере с батарейкой тоже мы помним...

Reply


tarkhil July 26 2013, 10:46:12 UTC
А существуют ли в NoSQL атомарные апдейты? Если да, то в каких движках?

Reply

alexclear July 26 2013, 10:50:57 UTC
Смотря какого размера. Строки в HBase апдейтятся вполне атомарно, но именно с такой гранулярностью. Транзакций более высокого уровня там нет.

Reply

tarkhil July 26 2013, 11:11:39 UTC
То есть, перенос артефакта от игрока к игроку может оказаться не вполне тривиальной штукой.

Reply

alexclear July 26 2013, 11:18:00 UTC
Да, но эту проблему так или иначе решают - есть всякие расширения для two phase commit.

Reply


alexclear July 26 2013, 10:47:24 UTC
Ну и, да, прекрасная логика:

"У MySQL плохой оптимизатор, правда, данные у нас денормализованы (а потому оптимизатор вообще просто пофиг), но мы возьмем PostgreSQL, в котором оптимизатор лучше"

Нет бы просто признаться: "ну не любим мы MySQL", это было бы вполне валидно, зачем нести чушь?

Reply

tarkhil July 26 2013, 11:16:39 UTC
Меня одна фича в MySQL довела до изумления

MySQL extends the use of GROUP BY so that the select list can refer to nonaggregated columns not named in the GROUP BY clause.

Причем, это НЕОТКЛЮЧАЕМО!

Reply

nil59 July 26 2013, 11:23:25 UTC
дык а в чем проблема? боитесь в колонке случайное значение из набора получить? или контроль корректности нужен?

Reply

tarkhil July 26 2013, 11:35:51 UTC
Можно случайно написать фигню, которая окажется непереносимой

Reply


blacklion July 26 2013, 11:16:26 UTC
Почитав как разваливаются реплецированные NoSQL базы (была серия статей, ты должен был видеть), я бы скорее поверил Андрею Фролову.

Reply

alexclear July 26 2013, 11:24:27 UTC
Я собирал развалившийся HBase, ничего не потерялось.

Reply

tonsky July 26 2013, 12:01:41 UTC
отличный аргумент - у меня такая же нога, но не болит

Reply

alexclear July 26 2013, 12:03:36 UTC
Не, это, как раз, не аргумент. Потерялось бы - был бы аргумент.

Reply


nil59 July 26 2013, 11:19:23 UTC
вообще - их 7000 транзакций потянул бы и один-единственный сервер mysql.

но - ты что-то знаешь про nosql, которые обеспечивают strict consistency в кластере для транзакции из более чем одной команды? я вот не в курсе.

Reply

alexclear July 26 2013, 11:25:05 UTC
из более чем одной команды

Хитрый какой!

Reply

nil59 July 26 2013, 11:31:52 UTC
скорее - в курсе раскладов...

вообще, 200Г можно было бы уложить в память, и обойтись и без кеширования, и без ясона...

Reply


Leave a comment

Up