
Fike
25.04.2017
09:33:08
> Theoretically, synchronous replication has a number of advantages over asynchronous: it is always highly available (there is no data loss when one of the nodes crashes, and data replicas are always consistent)
да что я читаю-то вообще
true Multimaster Cluster based on synchronous replication
я не понимаю, это все серьезно?

Google

Fike
25.04.2017
09:36:06
это все-таки мультимастер или репликация?

KOT
25.04.2017
09:37:03
Стой, мультимастер это не мастер-мастер
Это может иметься ввиде мастер->слейв<-мастер

Fike
25.04.2017
09:38:01
это сразу не работает
первый конфликт и всё
Multi-master replication is a method of database replication which allows data to be stored by a group of computers, and updated by any member of the group.
Это все не работает с двухфазным коммитом. Я просто не верю.
Если есть N серверов, им всем послали приглашения закоммититься, все ответили "могу", потом сервак начал рассылать подтверждения, и в этот момент кто-то отвалился или просто таймаут истек - то это конфликт.

KOT
25.04.2017
09:48:06
Тааааак. Уже интересней диалог. А кто так умеет?

Fike
25.04.2017
09:52:12
Системы с одним мастером
Паксос сейчас уже не вспомню, так что не буду говорить
Но в любом случае должен быть либо один источник правды, либо готовность разрешать конфликты и готовность признать их существование в какой-то промежуток времени, либо синхронизация всех участников просто для линеаризации и разрешения конфликтов в процессе
А все, что я вижу с мускулом - это попытки обвязать его хоть чем-нибудь, что исправило бы ситуацию

Google

Fike
25.04.2017
09:59:49
Ну, собственно сюда следовало заглянуть в первую очередь
https://aphyr.com/posts/328-jepsen-percona-xtradb-cluster
https://aphyr.com/posts/327-jepsen-mariadb-galera-cluster
> At low levels of concurrency–say five clients, performing about one op per second, things are fine.
> But increase the probability of conflicting transactions by running, say, 20 clients pushing an aggregate ~150 transactions/sec for about a minute, and things go terribly, terribly wrong.

Ivan
25.04.2017
13:14:53
а кто в курсе где Enterprise Manager хранит свои объекты логики в БД?
он в каждую схему запихивает набор своих объектов или в отдельной хранит?

mixa
25.04.2017
14:53:42
если будет 2 записи:
1
2
три:
1
3
2
четыре:
1
3
2
4
пять:
1
4
2
5
3
шесть:
1
4
2
5
3
6
решил 2-3 запросами:
UPDATE T_TMP_PRINT_BILL t
SET t.n_order2 = t.n_order
WHERE 1=1
AND t.n_order <= (SELECT COUNT(*) FROM t_tmp_print_bill tt WHERE tt.uuid=t.uuid)/2
AND t.uuid = ?
—------------------------------------------—
UPDATE T_TMP_PRINT_BILL t
SET t.n_order2 = t.n_order - (SELECT COUNT(*) FROM t_tmp_print_bill tt WHERE tt.uuid=t.uuid)/2
WHERE 1=1
AND t.n_order > (SELECT COUNT(*) FROM t_tmp_print_bill tt WHERE tt.uuid=t.uuid)/2
AND t.uuid = ?
—----------------------------------
далее селект с ордером по n_order2, n_order

Fike
25.04.2017
15:02:37
мда
http://stackoverflow.com/a/398490/2908793

KOT
25.04.2017
16:04:55

Fike
25.04.2017
17:04:13
окей, вернем вопрос: что конкретно они должны уметь?
я просто боюсь, что меня сейчас попросят предоставить cap-систему

Dmitry
25.04.2017
17:13:06

Fike
25.04.2017
18:06:15
https://twitter.com/aphyr/status/856770059162615808 ❤️

KOT
25.04.2017
18:58:48
В моём личном понимание:
- аптайм со стороны системы 100%, выпадание любой части не несут убытков для бизнес логики.
- одинаковая скорость доступа из любой точки земли (на условно одинаковых скоростях интернета, не надо тут передёргивать)

Fike
25.04.2017
20:06:29
HA тебе любой нормальный движок сделает
аптайм 100% невозможен, потому что узел, на который приземлится запрос, может в этот момент выйти из строя. тут вообще ничего не сделать, кроме повтора запроса
ну и смотря опять же что такое HA
если eventual consistency разрешен - то вообще без проблем

KOT
25.04.2017
20:12:02
В моём понимание аптайм, это когда если не прошёл запрос, есть куда его перенаправить и там его обработают.

Google

Fike
25.04.2017
20:12:23
ну эм практически любая распределенная система умеет

Al
25.04.2017
20:12:25

Fike
25.04.2017
20:12:34
кассандра, эластик, аэроспайк, нейм ит

KOT
25.04.2017
20:12:41

Al
25.04.2017
20:14:26

Fike
25.04.2017
20:14:29
да, это единственное двигло, которое я знаю, что изначально знает о разных дц
кафка с кассандрой никак не связаны

KOT
25.04.2017
20:14:42

Al
25.04.2017
20:15:12
Так же как быстрая индексация в касандре реализуется через подключение эластика на бэкендн

KOT
25.04.2017
20:16:35

Fike
25.04.2017
20:16:40
elasticsearch

KOT
25.04.2017
20:16:46
от амазона?
Понял, перепутал

Al
25.04.2017
20:17:01

Fike
25.04.2017
20:17:02
нет, отдельный продукт
што
люцена может?

Al
25.04.2017
20:17:20
Но может работать как самостоятельная бд

Google

KOT
25.04.2017
20:17:53
Ладно, понял свой косяк. А SQL СУБД есть?

Fike
25.04.2017
20:18:18
спаннер и cockroachdb
но там свои нюансы с допуском по расхождению времени

KOT
25.04.2017
20:20:17

Fike
25.04.2017
20:21:05
А я сам еще не читал толком, но после того, как часы на узлах начинают расходится, все начинает превращаться в тыкву
тараканская база вроде сейчас последний разбор у афира, он там про это пишет

KOT
25.04.2017
20:23:04
Вас кстати не стремает использовать относительно молодой софт в продах?

Fike
25.04.2017
20:26:13
я не использую, задачи здесь не те
https://jepsen.io/analyses/cockroachdb-beta-20161013

Admin
ERROR: S client not available

KOT
25.04.2017
20:35:16
То есть ты сам не используешь, но другим советуешь теоризируя, что оно будет работать, как надо в продах? О.о

Al
25.04.2017
20:35:40

Ivan
25.04.2017
20:40:08

KOT
25.04.2017
20:41:23

Ivan
25.04.2017
20:41:49
А, я в девопсе плакался

KOT
25.04.2017
20:42:25
Я там почти не бываю

Ivan
25.04.2017
20:42:28
Короче
есть приложение

Google

Ivan
25.04.2017
20:42:42
и есть 3 сервера БД
мускул
смысл в том, что есть данные, которые в первую очерель могут быть записаны только на один определенный сервер
А после этого они должны реплицироваться на остальные 2
Сервера с БД - это РФ, Канада, Испания
то есть через весь земной шар)

KOT
25.04.2017
20:44:17
Да, аналогичный кейс, только усложнён ))

Ivan
25.04.2017
20:44:27
Ну это я его еще упростил

Айтуар
25.04.2017
20:44:29
тогда зачем тут балансер?

Ivan
25.04.2017
20:44:39
я вообще искал варианты как сие сотворить

KOT
25.04.2017
20:45:40

Ivan
25.04.2017
20:46:06
Я могу совсем объяснить, что бы понятно стало
данные там - персональные данные
И для каждой страны они должны быть в первую очередь записаны в БД, которая находится на территории именно этой страны
А потом уже я могу с ними что угодно делать
репликация этих данны на остальные 2 сервера - просто дабы всегда было из чего откатиться)
ну и если один сервер ляжет - временно писать данные на другой
MySQL Group Replication - я вот в эту сторону смотрел

KOT
25.04.2017
20:48:35

Ivan
25.04.2017
20:48:51
канешн

KOT
25.04.2017
20:49:05