Size: a a a

2019 December 18

AS

Andrey Smirnov in Data Engineers
Anton Shelin
Если один источник всегда пишется в одну партицию это C
а зачем писать только в одну партицию, и что тут будет С ?
у меня есть сообщение, я его или записал или нет, при чем тут консистентность?
источник

S

Stanislav in Data Engineers
Stanislav
это основная сущность хранения
если грубо - это один поток ввода/вывода
источник

GP

Grigory Pomadchin in Data Engineers
Anton Shelin
Там еще важно как пишите консистентно или нет тем самым достигается выбор между C или.A из CAP
Кафка это больше CA вообще-то (и они себя сами так позиционировали изначально)
источник

GP

Grigory Pomadchin in Data Engineers
о какой партишн толерансе речь в случае умирания зукиперов?
источник

GP

Grigory Pomadchin in Data Engineers
ну конечно там есть параметры репликации, но я бы сказал что это компромиссное решение
источник

Е

Евгений in Data Engineers
Grigory Pomadchin
Кафка это больше CA вообще-то (и они себя сами так позиционировали изначально)
С там как раз только с insync
источник

Е

Евгений in Data Engineers
кафка это вообще по моему только А
источник

GP

Grigory Pomadchin in Data Engineers
Евгений
кафка это вообще по моему только А
touche
источник

Е

Евгений in Data Engineers
(зато быстро)
источник

AS

Anton Shelin in Data Engineers
Partition tolerance: это возоможность системы к процессингу даже в случае если одна из партиций падает(или нетворк сплит).
Availability:когда мы можем получить ответ от неупавшей партиции за некое определенное время без ошибок и таймаутов.
у нас возможно когда мы можем записать и читать в/из партиций даже если одна из партиций недоступна(например раундробином).
Consistency: возможна когда при чтении евентов мы гарантируем их порядок. как записали так и прочитаем. если мы пишем и читаем все в одну партицию
то порядок есть но уже нет A.
Если пишем в разные партиции то у нас мы можем получить неполную картину или нарушенный порядок евентов.
Есть вариант на стороне читателя собирать стейт и копить новые события в случае пропуска sequence number, но это уже требует хранить стейт
и нам в любом случае если при чтении недоступна партиция куда попал один из евентов понадобится ожидать тоесть A нету
источник

AS

Anton Shelin in Data Engineers
CAP теорема как раз про то что в распределенных системах невозможно добиться C и A одновременно.
источник

N

Nikolay in Data Engineers
Так понимаю, что бы было P надо, чтобы обе части после сплита оставались в рабочем состоянии
источник

В

Вадим in Data Engineers
Anton Shelin
Partition tolerance: это возоможность системы к процессингу даже в случае если одна из партиций падает(или нетворк сплит).
Availability:когда мы можем получить ответ от неупавшей партиции за некое определенное время без ошибок и таймаутов.
у нас возможно когда мы можем записать и читать в/из партиций даже если одна из партиций недоступна(например раундробином).
Consistency: возможна когда при чтении евентов мы гарантируем их порядок. как записали так и прочитаем. если мы пишем и читаем все в одну партицию
то порядок есть но уже нет A.
Если пишем в разные партиции то у нас мы можем получить неполную картину или нарушенный порядок евентов.
Есть вариант на стороне читателя собирать стейт и копить новые события в случае пропуска sequence number, но это уже требует хранить стейт
и нам в любом случае если при чтении недоступна партиция куда попал один из евентов понадобится ожидать тоесть A нету
консистентность так же про то что мы получаем самые последние данные и актуальные данные. То есть, если ты воткнул запись, при селекте микросекундой вперед, ты должен получить актуальные данные
источник

В

Вадим in Data Engineers
например, такое не работает с любыми дистрибьютед таблицами
источник

В

Вадим in Data Engineers
кап теорепа про то, что мы не можем получить 3 признака одновременно
источник

GP

Grigory Pomadchin in Data Engineers
Nikolay
Так понимаю, что бы было P надо, чтобы обе части после сплита оставались в рабочем состоянии
нет, в случае если у тебя ноды фейлстя это чтобы не влияло на работу твоей кв (зк ноды попадали не все или кафка там) опять ж с допущениями; понятно что если все умрет то все умрет
источник

В

Вадим in Data Engineers
сейчас это с некими допущениями
источник

В

Вадим in Data Engineers
оттуда же и ивеншл консистенси
источник

DZ

Dmitry Zuev in Data Engineers
Вадим
консистентность так же про то что мы получаем самые последние данные и актуальные данные. То есть, если ты воткнул запись, при селекте микросекундой вперед, ты должен получить актуальные данные
ну нет, это про то что при чтении с любой ноды должен быть один и тот же результат
источник

В

Вадим in Data Engineers
Dmitry Zuev
ну нет, это про то что при чтении с любой ноды должен быть один и тот же результат
ну ты же тоже самое сказал =)
источник