
Dima
05.09.2018
09:54:33
Если еще хочу что б у юзера были на счету деньги в разных валютах, такая структура норм?
users
id|name
purchases
userID|currencyID|moneyCount
currency
Id|Name
curencieHistory
currencyId|date|value

Terminator
05.09.2018
09:59:59
Dshk :) будет жить. Поприветствуем!
Sergey будет жить. Поприветствуем!

Ilia
05.09.2018
10:26:15

Google

Ilia
05.09.2018
10:27:03

Валерия
05.09.2018
10:28:06
та к чему эти глупости))

Ilia
05.09.2018
10:30:47

Terminator
05.09.2018
10:32:38
Соколовский Рус будет жить. Поприветствуем!

Dima
05.09.2018
10:39:12
в первой таблице одно поле было лишним, оно попало туда по ошибке, на счет состояние счета в таблице purchases
Нет, не норм. 1 ая таблица -- нарушение 1НФ

Denis
05.09.2018
10:47:57
всем привет! мне интересно посмотреть теорию по репликации кластерных решений, что по данной тематике есть. речь идет не о консенсусе внутри кластера или синхронной-асинхронной репликации между нодами кластера, а именно как в теории можно иметь два кластера и синхронизировать их для катострофоустойчивости. withepaper’ы, ну или если в каких-то продуктах реализовано, то ткните в сторону доков. это так, для общего расширения кругозора

Fike
05.09.2018
10:48:59
Ребята, что такое синхронная репликация?

aster
05.09.2018
10:51:51

Fike
05.09.2018
10:57:08
ась?
Как может существовать синхронная репликация?

aster
05.09.2018
10:57:30
эстонско-финский вариант

Google

aster
05.09.2018
10:58:27
на самом деле, иногда скорость не важна.
и изменения коммитятся тодлько тогда, когда разольются по всем слейвам

Fike
05.09.2018
10:58:52
кажется, придется повторить вопрос
как в природе может существовать синхронная репликация?

aster
05.09.2018
10:59:52
представь что лог транзакций лежит на всех слейвах

Fike
05.09.2018
11:00:03
хорошо, третья попытка
она синхронная с чем?

aster
05.09.2018
11:00:19
с мастером жи

Fike
05.09.2018
11:00:24
лол что
на слейвы ушло, мастер умер
синхронная?
а асинхронная чем от этого отличается?

aster
05.09.2018
11:01:23

Fike
05.09.2018
11:01:23
она ж никак не меняет время отправки и применения изменений
ну короче: синхронная репилкация - маркетинговый булшит, которым подзасрали головы

Denis
05.09.2018
11:02:50
ладно, а что по поводу кластерных решений? ну или решений вида мастер - сегменты (а-ля mpp)?

aster
05.09.2018
11:03:20
в асинхронной возможна потеря уже закомиченной на мастере, но не переденной полностью на слейв, транзакции

Fike
05.09.2018
11:04:16
короче что та асинхронная, что эта

aster
05.09.2018
11:04:20
в синхронной она не закомитится на мастере, пока все слейвы не отрапортуют о приеме последнего коммита

Fike
05.09.2018
11:04:22
(сэкономил тебе немного времени)
прекращай уже использовать термин "синхронная" ???

Google

Dshk :)
05.09.2018
11:06:41
1НФ не должна содержать повторяющихся групп, правильно?

Виктор
05.09.2018
11:10:26
по 1нф каждая ячейка данных должна быть атомарной

Dshk :)
05.09.2018
11:11:19
а по-умолчанию, при выводе сортировка по первичному ключу?

Виктор
05.09.2018
11:12:46
Смотря какая субд. Обычно как прочитает/обработает так и выведет
В том же postgres всегда нужно уточнять сортировку в виде id, иначе порядок записей может меняться от запроса к запросу
По крайней мере в PG < 10 так точно

Fike
05.09.2018
11:16:48

Dshk :)
05.09.2018
11:17:45
When a query doesn’t have an ORDER BY clause, what is the order in which the rows are returned?
Select one:
a. Clustered index order
b. Primary key order
c. Arbitrary order
d. Insertion order
т.е здесь ответ произвольно?

aster
05.09.2018
11:20:39
что не так то?

Fike
05.09.2018
11:21:34

aster
05.09.2018
11:21:51
ок.
ШТО не так то?

Fike
05.09.2018
11:22:17
у тебя есть две реплики. на одну коммит дошел, на другую еще нет. где синхронность?

aster
05.09.2018
11:24:01

Fike
05.09.2018
11:27:16
в смысле не закомичена?
а когда тогда она закомиттится на том слейве, на который пришла?

aster
05.09.2018
11:31:36

Fike
05.09.2018
11:32:00
ты мне цитаты-то не суй
говори, когда транзакция на слейве комиттится?

Google

Fike
05.09.2018
11:32:24

Admin
ERROR: S client not available

aster
05.09.2018
11:35:35
что не укладывается в твои устои?
мастер получает комит.
начинает разливать его по слейвам
как только слейв отрапортовал о приеме комита в redo queue - мастер считает комит записанным
если слейв не отрапортует о приеме комита - мастер начнет откатывать транзакцию

lost
05.09.2018
11:42:24
Лол, это новый уровень

aster
05.09.2018
11:45:03
интересно откуда 3к+ учаснегов. тоже ботьё?

Fike
05.09.2018
11:52:28

aster
05.09.2018
11:53:34
после того как попала в redo queue

Fike
05.09.2018
11:54:51
а если на один слейв она попала раньше другого?

aster
05.09.2018
11:55:19
дык эта
слейв то тока один

Fike
05.09.2018
11:55:36
схуяли

aster
05.09.2018
11:55:45
ms sql

Fike
05.09.2018
11:56:23

aster
05.09.2018
11:56:55
а это я туплю

Fike
05.09.2018
11:57:07
да я вижу

aster
05.09.2018
11:58:48
да я что-то не придал значения тому, что в мсскл тока один слейв то
а ты меня на этой теме и прессуешь
вот оно чо

Sergey
05.09.2018
11:59:22
кто подскажет что по сути делает оператор any/all

Google

Fike
05.09.2018
12:00:08

aster
05.09.2018
12:05:31
ну и? сессия не завершится
корректно

Fike
05.09.2018
12:06:10
и то, что на слейве будут данные, а на мастере нет
где синхронность-то?

aster
05.09.2018
12:07:30
да с чего ты взял то, что они в таком варианте из redo queue запишутся в бд то
если сессия оборвалась

Fike
05.09.2018
12:08:16
так а когда они запишутся иначе?
ты со мной в проблему двух генералов сейчас играешь

aster
05.09.2018
12:13:31
есть mirroring session, в ней передаются транзкации.
есть начало сессии и конец сессии
есть начало транзакции и конец транзакции
транзакции передаются в очередь (redo queue)
сессия может быть окончена только когда все транзакции переданы
транзакция может быть записана (из redo queue на диск) только когда сессия корректно завершена