Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / NoSQL, Big Data Новый топик    Ответить
 А объясните пожалуйста "3 кита" на которых стоит механизм транзакций в кластерах?  [new]
Reciprocated
Member [заблокирован]

Откуда: http://fintank.ru
Сообщений: 2793
Под кластером я подразумеваю KV-хранилку пошарденную на 10 узлов, например.
Допустим, каждый узел у нас:
- является "мастером" для 1/10 части пространства ключей (имеет право их менять)
- является "репликой" для какой-то части ключей (тупо читая журнал каких-то других нод и вылавливая там то, что реплицируем). Ну, какой-то там коэффициент репликации есть.

Интересует возможная физическая реализация транзакции, затрагивающей изменения ключей, мастером для которых являются разные ноды.
Читать исходники не предлагать, предлагать презенташки-видосики или лучше краткое изложение ключевого механизма на 1 абзац своими словами.

Я понимаю, решений зоопарк (где-то даже свалили всё на клиента). Зоопарк и интересует. Онтология распределённого коммита.
Хотя, вроде как в серьёзных местах он сам по себе считается ересью. Но это мои слухи.
10 мар 16, 22:27    [18917654]     Ответить | Цитировать Сообщить модератору
 Re: А объясните пожалуйста "3 кита" на которых стоит механизм транзакций в кластерах?  [new]
Alexander Ryndin
Member

Откуда:
Сообщений: 4917
Блог
Reciprocated
Под кластером я подразумеваю KV-хранилку пошарденную на 10 узлов, например.
Допустим, каждый узел у нас:
- является "мастером" для 1/10 части пространства ключей (имеет право их менять)
- является "репликой" для какой-то части ключей (тупо читая журнал каких-то других нод и вылавливая там то, что реплицируем). Ну, какой-то там коэффициент репликации есть.

Интересует возможная физическая реализация транзакции, затрагивающей изменения ключей, мастером для которых являются разные ноды.
Читать исходники не предлагать, предлагать презенташки-видосики или лучше краткое изложение ключевого механизма на 1 абзац своими словами.

Я понимаю, решений зоопарк (где-то даже свалили всё на клиента). Зоопарк и интересует. Онтология распределённого коммита.
Хотя, вроде как в серьёзных местах он сам по себе считается ересью. Но это мои слухи.
Насколько я знаю, в шардингах обычно кросс-узловые транзакции не поддерживаются. А частенько не поддерживаются и в рамках одного узла: Cassandra, MongoDB.
Ну там знаете CRUD и бла-бла.
Как вариант всякие распределенные транзакции и двухфазные Commit.

P.S. в этом плане интересны слухи про шардинг в Oracle 12.2 - будет ли там полный ACID?
11 мар 16, 03:11    [18918082]     Ответить | Цитировать Сообщить модератору
 Re: А объясните пожалуйста "3 кита" на которых стоит механизм транзакций в кластерах?  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3796
Alexander Ryndin
Reciprocated
Под кластером я подразумеваю KV-хранилку пошарденную на 10 узлов, например.
Допустим, каждый узел у нас:
- является "мастером" для 1/10 части пространства ключей (имеет право их менять)
- является "репликой" для какой-то части ключей (тупо читая журнал каких-то других нод и вылавливая там то, что реплицируем). Ну, какой-то там коэффициент репликации есть.

Интересует возможная физическая реализация транзакции, затрагивающей изменения ключей, мастером для которых являются разные ноды.
Читать исходники не предлагать, предлагать презенташки-видосики или лучше краткое изложение ключевого механизма на 1 абзац своими словами.

Я понимаю, решений зоопарк (где-то даже свалили всё на клиента). Зоопарк и интересует. Онтология распределённого коммита.
Хотя, вроде как в серьёзных местах он сам по себе считается ересью. Но это мои слухи.
Насколько я знаю, в шардингах обычно кросс-узловые транзакции не поддерживаются. А частенько не поддерживаются и в рамках одного узла: Cassandra, MongoDB.
Ну там знаете CRUD и бла-бла.
Как вариант всякие распределенные транзакции и двухфазные Commit.

P.S. в этом плане интересны слухи про шардинг в Oracle 12.2 - будет ли там полный ACID?


хмм.. вряд ли они сделают полнофункциональное чудо
11 мар 16, 12:48    [18919375]     Ответить | Цитировать Сообщить модератору
 Re: А объясните пожалуйста "3 кита" на которых стоит механизм транзакций в кластерах?  [new]
КБС4
Member [заблокирован]

Откуда: Биндеровск
Сообщений: 110
Reciprocated
Под кластером я подразумеваю KV-хранилку пошарденную на 10 узлов, например.
Допустим, каждый узел у нас:
- является "мастером" для 1/10 части пространства ключей (имеет право их менять)
- является "репликой" для какой-то части ключей (тупо читая журнал каких-то других нод и вылавливая там то, что реплицируем). Ну, какой-то там коэффициент репликации есть.

Интересует возможная физическая реализация транзакции, затрагивающей изменения ключей, мастером для которых являются разные ноды.
Читать исходники не предлагать, предлагать презенташки-видосики или лучше краткое изложение ключевого механизма на 1 абзац своими словами.

Я понимаю, решений зоопарк (где-то даже свалили всё на клиента). Зоопарк и интересует. Онтология распределённого коммита.
Хотя, вроде как в серьёзных местах он сам по себе считается ересью. Но это мои слухи.


Можно и короче абзаца.
Key: Двухфазный коммит
11 мар 16, 18:36    [18921315]     Ответить | Цитировать Сообщить модератору
 Re: А объясните пожалуйста "3 кита" на которых стоит механизм транзакций в кластерах?  [new]
Астронавт
Guest
Reciprocated,

В кассандре нет мастер ноды. Все ноды одинаковые.
Dml с клиента приходит на одну из нод. Она будет координатором для этого запроса (отвечает за выполнение дмл). В кластере установлен RF (replication factor) - сколько успешных реплик должно быть, чтобы операция считалась успешно завершенной. Скажем -3. Координатор вычисляет по значению главного ключа номер ноды куда пойдет первая реплика, а по заданной стратегии - номера нод для остальных реплик. Координатор отправляет туда данные и время начала операции и ждет 2 успешных ответа ( > 50%). Если пришло меньше 2 ответов - на клиента отправляется ошибка. Данные не откатываются, потому что ...

Правильно - читатель потом разберется. При чтении задается уровень согласованности реплик.

Когда клиент отправляет запрос, координатор определяет ноды где лежат реплики и запрашивает данные и время последнего обновления. Если пришло количество реплик с одинаковым временем обновления равное уровню консистентности - то это последняя версия успешно записанных данных.

Там еще в бэкграунде бегает процесс который сравнивает времена обновлений колонок и значения от неуспешных операций перезаписывает на успешные.

Могут быть неточности - только разбираюсь с этим чудом.
Курсы с деталями - https://academy.datastax.com/courses/ds201-cassandra-core-concepts
14 мар 16, 00:54    [18926533]     Ответить | Цитировать Сообщить модератору
 Re: А объясните пожалуйста "3 кита" на которых стоит механизм транзакций в кластерах?  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3796
Астронавт
Reciprocated,

В кассандре нет мастер ноды. Все ноды одинаковые.
Dml с клиента приходит на одну из нод. Она будет координатором для этого запроса (отвечает за выполнение дмл). В кластере установлен RF (replication factor) - сколько успешных реплик должно быть, чтобы операция считалась успешно завершенной. Скажем -3. Координатор вычисляет по значению главного ключа номер ноды куда пойдет первая реплика, а по заданной стратегии - номера нод для остальных реплик. Координатор отправляет туда данные и время начала операции и ждет 2 успешных ответа ( > 50%). Если пришло меньше 2 ответов - на клиента отправляется ошибка. Данные не откатываются, потому что ...

Правильно - читатель потом разберется. При чтении задается уровень согласованности реплик.

Когда клиент отправляет запрос, координатор определяет ноды где лежат реплики и запрашивает данные и время последнего обновления. Если пришло количество реплик с одинаковым временем обновления равное уровню консистентности - то это последняя версия успешно записанных данных.

Там еще в бэкграунде бегает процесс который сравнивает времена обновлений колонок и значения от неуспешных операций перезаписывает на успешные.

Могут быть неточности - только разбираюсь с этим чудом.
Курсы с деталями - https://academy.datastax.com/courses/ds201-cassandra-core-concepts


Одно из решений у кассандры, но свсем не двухфазная транзакция
14 мар 16, 11:23    [18927190]     Ответить | Цитировать Сообщить модератору
 Re: А объясните пожалуйста "3 кита" на которых стоит механизм транзакций в кластерах?  [new]
Станислав Клевцов
Member

Откуда: Krasnodar-Russia
Сообщений: 566
Астронавт
Reciprocated,

В кассандре нет мастер ноды. Все ноды одинаковые.
Dml с клиента приходит на одну из нод. Она будет координатором для этого запроса (отвечает за выполнение дмл). В кластере установлен RF (replication factor) - сколько успешных реплик должно быть, чтобы операция считалась успешно завершенной. Скажем -3. Координатор вычисляет по значению главного ключа номер ноды куда пойдет первая реплика, а по заданной стратегии - номера нод для остальных реплик. Координатор отправляет туда данные и время начала операции и ждет 2 успешных ответа ( > 50%). Если пришло меньше 2 ответов - на клиента отправляется ошибка. Данные не откатываются, потому что ...

Правильно - читатель потом разберется. При чтении задается уровень согласованности реплик.

Когда клиент отправляет запрос, координатор определяет ноды где лежат реплики и запрашивает данные и время последнего обновления. Если пришло количество реплик с одинаковым временем обновления равное уровню консистентности - то это последняя версия успешно записанных данных.

Там еще в бэкграунде бегает процесс который сравнивает времена обновлений колонок и значения от неуспешных операций перезаписывает на успешные.

Могут быть неточности - только разбираюсь с этим чудом.
Курсы с деталями - https://academy.datastax.com/courses/ds201-cassandra-core-concepts


спасибо за наводку на источник !
14 мар 16, 13:54    [18928096]     Ответить | Цитировать Сообщить модератору
 Re: А объясните пожалуйста "3 кита" на которых стоит механизм транзакций в кластерах?  [new]
Ivan Durak
Member

Откуда: Minsk!!!
Сообщений: 3626
Астронавт
на клиента отправляется ошибка. Данные не откатываются, потому что ...

Правильно - читатель потом разберется. При чтении задается уровень согласованности реплик.

а делиты как? версионируются чтоли?? или там нет делитов?
7 апр 16, 12:45    [19027251]     Ответить | Цитировать Сообщить модератору
 Re: А объясните пожалуйста "3 кита" на которых стоит механизм транзакций в кластерах?  [new]
Ivan Durak
Member

Откуда: Minsk!!!
Сообщений: 3626
Reciprocated
Под кластером я подразумеваю KV-хранилку пошарденную на 10 узлов, например.
Допустим, каждый узел у нас:
- является "мастером" для 1/10 части пространства ключей (имеет право их менять)
- является "репликой" для какой-то части ключей (тупо читая журнал каких-то других нод и вылавливая там то, что реплицируем). Ну, какой-то там коэффициент репликации есть.

Интересует возможная физическая реализация транзакции, затрагивающей изменения ключей, мастером для которых являются разные ноды.
Читать исходники не предлагать, предлагать презенташки-видосики или лучше краткое изложение ключевого механизма на 1 абзац своими словами.

Я понимаю, решений зоопарк (где-то даже свалили всё на клиента). Зоопарк и интересует. Онтология распределённого коммита.
Хотя, вроде как в серьёзных местах он сам по себе считается ересью. Но это мои слухи.

Все так же как при синхронной репликации.
7 апр 16, 12:46    [19027258]     Ответить | Цитировать Сообщить модератору
Все форумы / NoSQL, Big Data Ответить