Здравствуйте, gandjustas, Вы писали:
G>Это проблема систем. С точки зрения пользователя и бизнеса большинство транзакций — ACID, дал денег — получил товар, — получил деньги — оказал услугу. G>Часто вы покупали что-то в магазине, а вам вместо товара говорили "данные получены, когда-нибудь вы получите товар, наверное".
Нет. Когда я покупаю товар, то я делаю несколько действий. Т.е. это сага.
Мало того, товар может зарезервироваться на складе, но оплата не прошла и логично не откатить все, а предложить пользователю попробовать еще раз. И это тоже возможно в рамках саги.
G>Асинхронность и ACID не связаны.
Связана.
Если у вас в рамках транзакции 2 и более сервисов, то это распределенная транзакция, которые суть зло по сравнению даже со сложностью саги. И если взаимодействией асинхронное между сервисами, то либо вы еще транзакционность добавляете в шину(а это очень медленно), либо это уже транзакция-сага. Непонятный франкенштейн.
В итоге либо вы шлете к чертям ДДД вместе с кроликами и кафкой, либо вы шлете к чертям 2pc.
G>Когда ты говоришь о "табличках" ты уже пользуешься реляционной моделью данных. Почему бы для нее не использовать РСУБД?
Я говорю о табличках, потому что мы не определились, какую NoSQL бд описываем. Терминология даже у еластика плавает от версии к версии.
Я ничего не сказал о взаимосвязях.
G>А просто сравнивать фичи бесполезно. РСУБД по общему набору фич и покрываемых сценариев порвет любую релеляционную БД.
Так я перечислил эти фичи.
G>>>"Виноваты" ученые, которые доказали что реляционная модель данных позволяет решать те же задачи, что и любые другие модели. Поэтом реляционная субд — универсальная.
Они это не доказывали, цель была в том чтобы построить максимально полную, непротиворечивую и неизбыточную модель.
Выше я давал примеры, когда монга по скорости была гораздо эффективнее постгре. В принципе логично, что специализированный инструмент всегда будет эффективнее в рамках специализации универсального всемогутора.