
Let Eat
24.01.2018
15:23:18

Paul
24.01.2018
15:23:41
но это противоречит концепции SQL-баз данных

Let Eat
24.01.2018
15:24:20

Google

sbog
24.01.2018
15:24:47
лол

Let Eat
24.01.2018
15:25:16

Paul
24.01.2018
15:26:01

Fike
24.01.2018
15:26:59
и что при смещении часов больше чем на N миллисекунд все летит в жопу

Let Eat
24.01.2018
15:28:13

Fike
24.01.2018
15:28:29
не, эт не аргумент
я про то, что если б дело было только в последовательности взятия локов, время бы здесь никаким образом не фигурировало

Vladimir
24.01.2018
15:30:09
@not_logan
"One of the headline features of CockroachDB is its full support for ACID transactions"

Let Eat
24.01.2018
15:30:14
Статью не читал, но тут уж похоже классическое определение он здох или тупит по таймауту . На практике часы синхронизировать до единиц мс вполне реалистично

Vladimir
24.01.2018
15:30:33
@not_logan то есть может быть ты таки что-то не понимаешь?

Anton
24.01.2018
15:31:43
@not_logan, я тут случайно обнаружил, что ты добавил меня в свой блэклист. Скажешь хотя бы, почему? Я вроде тебе в личку не писал никогда.

Fike
24.01.2018
15:31:45

Google

Vladimir
24.01.2018
15:33:36
Aphyr занимается обычно тем что проверяет что все что в документации соответствует реальному положению дел
и тараканчик как раз был помоему первой базой которая прошла его тесты
ну или одной из первых
но это говорит лишь о том что в документации нет вранья

Fike
24.01.2018
15:34:39
По факту он каждый раз проверяет линеаризуемость одного регистра )

Vladimir
24.01.2018
15:35:20

Paul
24.01.2018
15:35:30

Vladimir
24.01.2018
15:35:50

Paul
24.01.2018
15:35:57

Vladimir
24.01.2018
15:35:58
они о себе пишут много, можешь две статьи прочитать
они утверждают что как раз ACID по распределенным транзакциям
и описано как они доибваются каждой из буковок

Sergey
24.01.2018
15:36:19
ну вообще кокроуч, если я его правильно понимаю, вполне себе CP.
A в нём очень частичное.

Vladimir
24.01.2018
15:36:21
в двух статьях

Paul
24.01.2018
15:36:27

Anton
24.01.2018
15:36:59

Let Eat
24.01.2018
15:37:10
Когда надо брать cockroach по сравнению с PostgreSQL + stolon скажем?

Fike
24.01.2018
15:37:42
у всех решений с постгресом, которые я смотрел, была возможность закоммитить транзакцию и потом ее потерять
кокроач так и не трогал, но у него этой штуки быть не должно, либо кластер сдох, либо транзакция видна

Google

Fike
24.01.2018
15:38:16
(либо время рассыпалось (((( )

Let Eat
24.01.2018
15:39:31

Paul
24.01.2018
15:39:58
но стоит блин....

Fike
24.01.2018
15:40:11
можно наоборот нахватать того, что на самом деле не закоммитилось

Sergey
24.01.2018
15:40:52

Fike
24.01.2018
15:41:21
окей, проблема одностороннего генерала (

Sergey
24.01.2018
15:41:46
??

Fike
24.01.2018
15:42:04
хотя, не про доверие - это византийская проблема. проблема двух генералов именно в гарантированном подтверждении

Sergey
24.01.2018
15:42:23
проблема генералов в том, что среди участников могут быть злоумышленники.
распределенный консенсус в доверительной среде - гораздо проще.

Fike
24.01.2018
15:42:43

Sergey
24.01.2018
15:42:48
да
а ты о какой? о_О
есть еще одна проблема про генералов?

Paul
24.01.2018
15:43:02
она называется проблемой византийских генералов. А не двух. Я чуть мозг не вскипятил себе, пытаясь понять, что вы имеете ввиду

Sergey
24.01.2018
15:43:04
https://en.wikipedia.org/wiki/Byzantine_fault_tolerance
я об этой

Fike
24.01.2018
15:43:23
а я о проблеме двух генералов, которые не могут договориться о том, во сколько атаковать, потому что нет "финального подтверждения"

Google

Fike
24.01.2018
15:43:29
https://en.wikipedia.org/wiki/Two_Generals%27_Problem

Paul
24.01.2018
15:44:24
annnnddddd.... https://en.wikipedia.org/wiki/Byzantine_generals
и на русском - https://ru.wikipedia.org/wiki/%D0%97%D0%B0%D0%B4%D0%B0%D1%87%D0%B0_%D0%B2%D0%B8%D0%B7%D0%B0%D0%BD%D1%82%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D1%85_%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D0%BB%D0%BE%D0%B2

Sergey
24.01.2018
15:45:18

Paul
24.01.2018
15:46:08
да, действительно, спасибо
век живи - век учись

Let Eat
24.01.2018
15:46:17
если это про sync replica - то оно и в 9-ке есть
Я в этом вопросе ОБС ретранслирую, так что может суровая реальность и не такая радужная, но в 9 оно менее полезно на практике т.к. там список подтверждений был жестко задан. В 10 появилась ANY когда говоришь, что мне любые N из M пусть подтвердят , что развязывает руки - можно любой слейв приземлить и мастер не застопорится

terry
24.01.2018
15:47:41
что лучше юзать weave или flannel ?

Fike
24.01.2018
15:50:13
Короче, я к тому, что если у вас на слейв отправляется команда "закомить вот это", но сам мастер считает за коммит 1..N успешных ответов от слейва, то вполне реальна ситуация, когда слейв закоммитил, а мастер закрашился (и, кстати, почему двухфазные, трехфазные, семидесятифазные коммиты из классического SQL на самом деле не масштабируются). Для того, чтобы эта левая транзакция потом не была видна, нужен какой-то дополнительный слой контроля и, видимо, опрос всего кластера, чтобы вся эта байда хоть как-то приводилась к единой истории.


Let Eat
24.01.2018
15:51:11
Короче, я к тому, что если у вас на слейв отправляется команда "закомить вот это", но сам мастер считает за коммит 1..N успешных ответов от слейва, то вполне реальна ситуация, когда слейв закоммитил, а мастер закрашился (и, кстати, почему двухфазные, трехфазные, семидесятифазные коммиты из классического SQL на самом деле не масштабируются). Для того, чтобы эта левая транзакция потом не была видна, нужен какой-то дополнительный слой контроля и, видимо, опрос всего кластера, чтобы вся эта байда хоть как-то приводилась к единой истории.
Так надо мастером здорового назначит

Fike
24.01.2018
15:51:29
А кто в оставшемся кластере здоровый?

Let Eat
24.01.2018
15:52:03
Кто не крашнулся и у кого счетчик транзакций больше

Fike
24.01.2018
15:52:54
И мы таким образом влегкую теряем часть транзакций
Если откосило всех идущих впереди, то мы теряем ту историю, которые они успели записать

Sergey
24.01.2018
15:53:44

Fike
24.01.2018
15:53:56
Тут надо баловаться с кворумом, что в постгре пока никак, но это тоже не спасет

Sergey
24.01.2018
15:54:08
если нод достаточное число для кворума - значит хотя бы одна из них имеет максимально возможный счетчик

Let Eat
24.01.2018
15:54:37

Fike
24.01.2018
15:55:01
Потому что слейв с фантомной транзакцией может тоже выбыть, следующий мастер может съесть одну транзакцию, затем тоже выбыть, а слейв с фантомной транзакцией - вернуться

Google

Fike
24.01.2018
15:55:09
И вот вам расхождение историй
Нету там синхронности. Только очередность, где он сначала применяется. Синхронностью это выглядит исключительно для клиента.

Let Eat
24.01.2018
15:55:55

Fike
24.01.2018
15:56:08
мы говорим про моргание сетки в пределах минут, если не секунд

Let Eat
24.01.2018
15:56:28

terry
24.01.2018
15:56:34
еще раз переспрошу, перебив такую оживленную беседу ;)
что лучше юзать weave или flannel ?

Sergey
24.01.2018
15:56:42

Fike
24.01.2018
15:56:44
network partition - это когда ты соседа не видишь, а почему - это не принципиально

Let Eat
24.01.2018
15:57:03

Sergey
24.01.2018
15:57:04
можно ещё раз кейс по стадиям?

Fike
24.01.2018
15:58:28
Мастер может сделать две вещи: закоммитить у себя и разослать по слейвам и в обратном порядке. В случае, если ему требуется подтверждение от слейвов, то он может разослать коммит, но не успеть принять его. Таким образом на N слейвах данные будут, а в остальном кластере их не будет.

Sergey
24.01.2018
15:58:53
можно и вообще слейвам ничего не отсылать
тогда всё сломается само
не стараясь

Fike
24.01.2018
15:59:07
D:

Sergey
24.01.2018
15:59:31
но я бы рекомендовал попытаться прочитать, как работает 2pc/3pc и raft/paxos.

Let Eat
24.01.2018
15:59:36

Fike
24.01.2018
15:59:58
потому что если у вас разошлись истории, вы рискуете столкнуться с тем, что транзакция применится на половине кластера