@devops_ru

Страница 1754 из 4568
Konstantin
09.12.2016
16:55:10
после инсерта получаем id, храним его в сессии и при работе с одним звонком получаем и дописываем инфу по этому id

потом выгружается статистика по этим данным

Dmitri
09.12.2016
16:56:12
а потом этим API рулишь, чо куда записать

Google
Konstantin
09.12.2016
16:56:35
что за апи?

какая разница, через апи дёргать базу или напрямую?

Dmitri
09.12.2016
16:57:12
А вы, Владимир, мне про DevOps-аутсорс

Напрямую небезопасно. Напрямую - не подменишь базу "на лету"

Konstantin
09.12.2016
16:59:03
а как подменишь базу... в каждой базе свои инкременты, связи...

Evgeniy
09.12.2016
16:59:52
Сделай owner_id какой-нить

Dmitry
09.12.2016
16:59:53
Vladimir
09.12.2016
16:59:58
а как подменишь базу... в каждой базе свои инкременты, связи...
Вполне хорошее решение это сервис генерации уникальных ид например

Evgeniy
09.12.2016
17:00:03
И храни там идентификатор компании

Dmitry
09.12.2016
17:00:13
Не благодари?

Konstantin
09.12.2016
17:00:59
ну гуиды как вариант, да

Dmitri
09.12.2016
17:01:50
а как подменишь базу... в каждой базе свои инкременты, связи...
а кто тебе сказал, что id должны генериться самой базой?

Google
Konstantin
09.12.2016
17:01:53
а если связанные таблицы? по внешнему ключу

Vladimir
09.12.2016
17:02:20
ну гуиды как вариант, да
Не, мульти мастер медленный но дающий надежно только id

Dmitri
09.12.2016
17:02:35
пока ты не положишь id в таблицу, никаких внешних ключей не будет

что ты в базу запишешь, то ключом и будет

Konstantin
09.12.2016
17:03:21
ну вот я положил в москве запись, потом бд отвалилась и апи переключил на челябинск

навставлялось записей в дочернюю таблицу в челябинске

Dmitri
09.12.2016
17:04:06
транзакции?

Konstantin
09.12.2016
17:04:17
и одна сессия размазалась по разным базам

Dmitri
09.12.2016
17:04:25
ничего никуда не вставится при контроле внешнего ключа

если базы разные, сесси тоже будут разные

а транзакции - это транзакции

Vladimir
09.12.2016
17:05:08
и одна сессия размазалась по разным базам
Тебе надо сначала понять что тебе нужно получить и чем ты жертвуешь

Konstantin
09.12.2016
17:05:13
потом статистику не свести

Vladimir
09.12.2016
17:05:44
Потому что если eventually consistent это ок, то тебе нужна какая нибудь база под аналитику с поддержкой распределенных таблиц

Dmitri
09.12.2016
17:05:46
Смотри, по контролю консистентности: он бывает физическим, он бывает логическим

Vladimir
09.12.2016
17:06:03
И пофигу куда вставляешь, в конце концов запросы будут по всему идти

Dmitri
09.12.2016
17:06:09
все равно без бутылки и друга-спеца по теории и практике БД не разберешься

Alex
09.12.2016
17:06:41
Если у тебя есть жена, ей очень повезло

Konstantin
09.12.2016
17:06:55
мне нужно обеспечить отказоустойчивость, даже если бухой электрик рубанул одну ноду... и при этом целостность данных

Google
Dmitri
09.12.2016
17:07:00
Тебе надо сначала понять что тебе нужно получить и чем ты жертвуешь
кстати да, без жертв не бывает. У кого-то ягнята, у кого-то человечинка

мне нужно обеспечить отказоустойчивость, даже если бухой электрик рубанул одну ноду... и при этом целостность данных
осталось понять, отказоустойчивость чего тебе нужно обеспечить, и какие "допуски" есть

если тебе критично совпадение rowid в таблицах - это одно, если тебе нужно, чтобы определенные запросы выдавали идентичные ответы на разных базах - это другое

Konstantin
09.12.2016
17:09:04
если на пару секунд у всех клиентов на одной площадке отвалятся приложения - это допустимо

это лучше чем когда падает локальная бд и все сосут

Dmitri
09.12.2016
17:10:21
если на пару секунд у всех клиентов на одной площадке отвалятся приложения - это допустимо
первое, что приходит в голову - репликация средствами БД + автоматический реконнект в ближайшую

если хочешь "прозрачного" реконнекта - проксируй запросы

Dmitri
09.12.2016
17:11:40
я бы в API обернул, а там уже, на уровне API обращения к базе плясал как придумаю

С точки зрения сопровождения БД и софта - на стороне софта максимально абстрагируемся от БД, на стороне БД - реализуем один API

Получаем возможность "скакать" по БД и API до достижения просветления

Но там уже по реальному случаю смотреть надо

В подавляющем числе случаев прямой доступ в БД приложению не нужен

И чем меньше приложение знает про БД, тем лучше

Konstantin
09.12.2016
17:16:38
Andrey
09.12.2016
17:17:11
@CheshireKot нужна трехзвенная архитектура, такое можно построить на tarantool

я не знаю подходит ли nosql под твою задачу, но то что ты хочешь можно реализовать

Дмитрий
09.12.2016
17:18:16
ближе к фантастике
Блокчейн так работает

Но это ту мач

Google
Vladimir
09.12.2016
17:19:24
Dmitri
09.12.2016
17:19:35
а как же ORM? удобно же :)
Ну, собственно, я про ORM, в частном случае и говорю. ORM - это тупо уровень абстракции, он позволяет "насрать" на то, что используется в роли БД.

Vladimir
09.12.2016
17:20:03
Облако это миф дающий плюс 100% к цене

Dmitri
09.12.2016
17:20:25
@CheshireKot нужна трехзвенная архитектура, такое можно построить на tarantool
Да я не хочу реализовать, это у Константина задача стоит. Я уже наабстрагировал)

Konstantin
09.12.2016
17:20:41
Облако это миф дающий плюс 100% к цене
вот что мне ответил наш дба

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

Vladimir
09.12.2016
17:20:54
в идеале построить облачную бд, где каждая нода страхует всё облако
Если готов пожертвовать скоростью то мастер мастер репликация это называется

Dmitri
09.12.2016
17:21:00
Vladimir
09.12.2016
17:21:00
И сверху балансер

Dmitri
09.12.2016
17:22:34
Докер => попытка сбежать от синхронизации

это в контексте оракла было
Ну, в контексте СУБД, при синхронизации на физическом уровне - возможно, не совсем в курсе "кухни"

Dmitri
09.12.2016
17:24:14
Настолько больших баз, чтобы возникали проблемы репликации, у меня в руках не было

Google
Dmitri
09.12.2016
17:28:38
Облако - это тупо другой уровень абстракции.

Не больше, не меньше

От тебя просто скрыты детали железа.

И выставлен другой API.

Roman
09.12.2016
17:29:35
Да бля. Облако - это базворд

Dmitri
09.12.2016
17:29:45
Тупо другие правила игры, в которых в некоторых широкоиспользуемых случаях может быть комфортнее

Согласен, слово придумано маркетолухами

Konstantin
09.12.2016
17:30:51
ну понятно, значит просто репликации в условно реальном времени

Dmitri
09.12.2016
17:31:31
Репликация БД, хоть убейся, в облаке и на реальном железе неразличимы

К слову, хитрый инструментарий по репликам прилагался, ЕМНИП, к Tarantool - тут упоминали.

осторожно - технология mail.ru

Roman
09.12.2016
17:32:32
Konstantin
09.12.2016
17:32:40
это я понимаю)

поэтому условно

но тогда и все площадки должны писать в один мастер-сервер?

Roman
09.12.2016
17:33:43
Да, именно

Но я все-таки за апи

Konstantin
09.12.2016
17:34:07
так а если он упал? или канал упал))

Roman
09.12.2016
17:34:18
Потому что когда приложенька знает про бд - это плохо

Konstantin
09.12.2016
17:34:33
где будет крутиться это апи? на каждой площадке своя копия?

Dmitri
09.12.2016
17:34:41
Но я все-таки за апи
Велкам в наш лагерь свидетелей апи)

Roman
09.12.2016
17:34:41
Канал - это про резерв сеточки

Страница 1754 из 4568