Size: a a a

2020 December 06

SS

Slava Savitskiy in ctodailychat
@samatg а про VR будет вторая часть или ты даешь за деньги доступ к отредактированной части?
источник

И

Илья in ctodailychat
@samatg интересная ситуация про престу, хочется больше драмы в ввиде: потрачено 3млн, оценка $50 шаблон, $25 плагин для market place, кастомизация 30.000 в мес в течении 6 мес, тогда раскроется широта юмора анекдота.... глубина трагедии.. и моменты боевика появятся
источник

СА

Сергей Аксёнов... in ctodailychat
Про cte и sql. А есть какие-то показательные примеры, кроме финансов и статистики, когда для бизнес-логики структурированное аггрегируемое хранилище (в противоположность key-value) вот прямо радикально улучшают что-то с технической точки зрения? Потому что пока кажется, что начиная с определённого масштаба (когда появляется шардинг, например) join становится дороже чем два запроса select from table1 limit x и select from table2 where id in (...)
источник

С

Слава in ctodailychat
Сергей Аксёнов
Про cte и sql. А есть какие-то показательные примеры, кроме финансов и статистики, когда для бизнес-логики структурированное аггрегируемое хранилище (в противоположность key-value) вот прямо радикально улучшают что-то с технической точки зрения? Потому что пока кажется, что начиная с определённого масштаба (когда появляется шардинг, например) join становится дороже чем два запроса select from table1 limit x и select from table2 where id in (...)
Из системы А в систему Б идут события. Система Б дополняет события, и после появления некоторых событий делает выгрузку сущностей В в систему Д. Выгрузка делается из А. В ходе выгрузки есть цикл на 5 минут с попытками получить из системы А сущность именно с некоторыми данными. И если в течении года  минут данные не появляются, все выгружается как есть. А почему данные могут не появиться? Потому что система А состоит из кучи микросервисов с mongodb, и время распространения данных между ними непредсказуемо
источник

С

Слава in ctodailychat
Рано или поздно в key-value хранилище приходится решать задачи, давно уже решенные в реляционных БД. Только решать эти задачи будут не специалисты по computer science, а фронтендеры на полставки. Уж они вам нарешают.
источник

SA

Savitskiy Anton in ctodailychat
норм причина у даунтайма дц в 2020
источник

AR

Anton Revyako in ctodailychat
Artur
и года не прошло, но справедливости ради СTE поддерживаются с 2018 :) https://github.com/linq2db/linq2db
а lateral умеет? )
источник

AR

Anton Revyako in ctodailychat
Сергей Аксёнов
Про cte и sql. А есть какие-то показательные примеры, кроме финансов и статистики, когда для бизнес-логики структурированное аггрегируемое хранилище (в противоположность key-value) вот прямо радикально улучшают что-то с технической точки зрения? Потому что пока кажется, что начиная с определённого масштаба (когда появляется шардинг, например) join становится дороже чем два запроса select from table1 limit x и select from table2 where id in (...)
а что в IN? Хотя тут к обоим предложенным вариантам есть вопросы :)
источник

A

Artur in ctodailychat
Anton Revyako
а lateral умеет? )
посмотри сам по ссылке:)
источник

СА

Сергей Аксёнов... in ctodailychat
Слава
Рано или поздно в key-value хранилище приходится решать задачи, давно уже решенные в реляционных БД. Только решать эти задачи будут не специалисты по computer science, а фронтендеры на полставки. Уж они вам нарешают.
Какого рода причины, например?
источник

СА

Сергей Аксёнов... in ctodailychat
Anton Revyako
а что в IN? Хотя тут к обоим предложенным вариантам есть вопросы :)
В in значения foreign key из table1
источник

AR

Anton Revyako in ctodailychat
Сергей Аксёнов
В in значения foreign key из table1
перечислением или сабселектом?
источник

СА

Сергей Аксёнов... in ctodailychat
Слава
Из системы А в систему Б идут события. Система Б дополняет события, и после появления некоторых событий делает выгрузку сущностей В в систему Д. Выгрузка делается из А. В ходе выгрузки есть цикл на 5 минут с попытками получить из системы А сущность именно с некоторыми данными. И если в течении года  минут данные не появляются, все выгружается как есть. А почему данные могут не появиться? Потому что система А состоит из кучи микросервисов с mongodb, и время распространения данных между ними непредсказуемо
Это, кажется, называется straw man attack: придумать заведомо плохую систему A, приписать её негативные качества тому, что она использует MongoDB, и на этом основании декларировать, что key-value хранилища сосут проигрывают RDBMs. Не, не годится, try harder.
источник

С

Слава in ctodailychat
Сергей Аксёнов
Это, кажется, называется straw man attack: придумать заведомо плохую систему A, приписать её негативные качества тому, что она использует MongoDB, и на этом основании декларировать, что key-value хранилища сосут проигрывают RDBMs. Не, не годится, try harder.
Я других-то не видел.
источник

СА

Сергей Аксёнов... in ctodailychat
Anton Revyako
перечислением или сабселектом?
Два последовательных запроса: сначала получаем из базы сущности из таблицы 1, потом пробегаем по результату, формируем список id и делаем второй запрос к таблице b. То есть по сути работать с реляционной БД как с key-value.
источник

С

Слава in ctodailychat
Сергей Аксёнов
Какого рода причины, например?
Причинах чего именно? Вот нам надо обеспечить целостность данных. Как это делается в реляционных БД? Разными уровнями изоляции транзакций, которые защищают от разных ошибок. Как то же самое сделать в NoSQL? Только силами тех людей, которые пишут бизнес-логику, потому что других в типичной команде просто нет.
источник

AR

Anton Revyako in ctodailychat
Сергей Аксёнов
Два последовательных запроса: сначала получаем из базы сущности из таблицы 1, потом пробегаем по результату, формируем список id и делаем второй запрос к таблице b. То есть по сути работать с реляционной БД как с key-value.
1) у тебя получается 2 сетевых взаимодействия вместо одного. причем в первый хоп ты можешь получить огромный список id, который
   - весь надо достать с диска в память базы
   - упаковать и отправить по сети
   - протащить по сети и положить в оперативку приложения
   - сформировать большой запрос
   - отправить его по сети в базу
   - протащить по сети, распаковать в оперативу базы
   - распарсить запрос
   - выбрать по айдишникам все записи из второй таблицы

2) конкретно в посгресе, если ты запихаешь в IN больше 100 значений, индексы применяться для этой операции не будут
источник

СА

Сергей Аксёнов... in ctodailychat
Слава
Причинах чего именно? Вот нам надо обеспечить целостность данных. Как это делается в реляционных БД? Разными уровнями изоляции транзакций, которые защищают от разных ошибок. Как то же самое сделать в NoSQL? Только силами тех людей, которые пишут бизнес-логику, потому что других в типичной команде просто нет.
Вот, хороший пример, спасибо. Проверка foreign key при вставке. Силами бизнес-логики, иначе негде.

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

С

Слава in ctodailychat
Сергей Аксёнов
Вот, хороший пример, спасибо. Проверка foreign key при вставке. Силами бизнес-логики, иначе негде.

Мне кажется, что для команды лучше, когда в ней все пишут бизнес-логику, чем когда есть отдельные люди, которые занимаются написанием и поддержкой специфичного для хранилища кода. Потому что во-первых такие люди могут быть либо бутылочным горлышком, либо простаивать, а во-вторых на взаимодействие между инженерами тратится время. Как в анекдоте: что один программист сделает за один день - два программиста сделают за два дня.
Я утверждаю, что у писателей бизнес-логики ума не хватит сделать то же, что в РСУБД уже сделано, и сделать это столь же надёжно.
источник

С

Слава in ctodailychat
Причём ума не хватит не только потому, что они тупые, а ещё и потому, что они нахватали себе работы до предела, и их загрузили работой до предела. Думать им некогда, работать надо.
источник