Size: a a a

Архитектура ИТ-решений

2021 March 09

S

Sdobridnuk in Архитектура ИТ-решений
Gennadiy Kruglov
Как и писал, нужны веские основания, чтобы на сегодня использовать Монгу в серьёзных проектах. Допустим, они есть. Тогда Ок

Но кейс который вы описали нужно подробно разбирать. Не уверен, что нельзя без усилий обойтись без Монги
Одно из веских оснований, что MongoDB , кроме интересных фич по документоориентированным обьектам, вполне прилично финансируется из разных фондов. Получила более 200 M $ инвестиций, что улучшает качество продукта и делает его более пригодным для "кровавого энтерпрайза". Хотите работать с опенсорсом . разрабатываемых какими то сумасшедшими асоциопатами и делающим его "за еду" в минуты только хорошоего настроения - флаг в руки...  но я бы подобные решения к себе в портфель не брал бы..
источник

p

pragus in Архитектура ИТ-решений
Kirill Keker
Это синтетический пример, я же написал, его можно структуировать разными способами. Можно в колоночную сложить, можно файлами хранить и всякими Hive, Athena выбирать. Вариантов много... Я привел пример где есть место Mongo если не трансформировать данные вовсе.
Описанные вами варианты выглядят одинаково плохо :)   Фактически, у вас есть множество полей и надо в них искать по набору признаков
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
Sdobridnuk
Одно из веских оснований, что MongoDB , кроме интересных фич по документоориентированным обьектам, вполне прилично финансируется из разных фондов. Получила более 200 M $ инвестиций, что улучшает качество продукта и делает его более пригодным для "кровавого энтерпрайза". Хотите работать с опенсорсом . разрабатываемых какими то сумасшедшими асоциопатами и делающим его "за еду" в минуты только хорошоего настроения - флаг в руки...  но я бы подобные решения к себе в портфель не брал бы..
Что ещё в "Молоте Ведьм" про это написано?
источник

NZ

Nick Z in Архитектура ИТ-решений
Phil Delgyado
Эээ, на каких настройках и с какими гарантиями? И можно ссылку на эти бенчмарки?
Скорее эээ с моей стороны. Не может быть РБД быстрее - только хотя бы из-за того, что она уже реляционная.
источник

NZ

Nick Z in Архитектура ИТ-решений
Gennadiy Kruglov
Бенчмарки лучше не упоминать в суе
источник

S

Sdobridnuk in Архитектура ИТ-решений
Gennadiy Kruglov
Бенчмарки лучше не упоминать в суе
Особенно в горизонтально масштабируемых решениях. Показали линейную масштабируемость, без деградации, и сойдет. сравнивать это с каким то TPC, на специальной нишевой аппаратной платформе с супер-пупер процесорами ценой за миллионы баксов., не следует
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
Sdobridnuk
Особенно в горизонтально масштабируемых решениях. Показали линейную масштабируемость, без деградации, и сойдет. сравнивать это с каким то TPC, на специальной нишевой аппаратной платформе с супер-пупер процесорами ценой за миллионы баксов., не следует
Наслаждаюсь
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Nick Z
Скорее эээ с моей стороны. Не может быть РБД быстрее - только хотя бы из-за того, что она уже реляционная.
Как раз ровно наоборот, в РБД гораздо больше думают про эффективность работы с дисковой подсистемой и набрали гораздо больше опыта.
Собственно, кроме специальных кейсов типа логов, почти всегда РСУБД эффективнее работает с диском и на выделенной машине при одинаковых требованиях к гарантиям РСУБД эффективнее.
источник

NZ

Nick Z in Архитектура ИТ-решений
Ну и в принципе постгря - как серебряная пуля, уже попахивает неадекватом. Везде ее суют, даже в вотчину редиса. Уж вспоминать лингвалео не хочется.
источник

VA

Viktor Alexandrov in Архитектура ИТ-решений
Kirill Keker
опять про PG и его работу с JSON. Долго искал свой API Key от Wisuki и не нашел, но нашел от Windy, там конечно данные более структуированные https://jsoneditoronline.org/#left=cloud.7e4703495c6a44c980371e8e805a44d0

Докустим мы не хотим их разбирать на поля, потому что у них не всегда фиксированный размер, зависит от времени среза и размера среза (это похоже на запрос Google Analytics API). Вы получаете массив вложенных данных переменного размера. А далее начинаются запросы по структуре, когда не хотелось бы вынимать весь документ. В случае погоды для полетов, это может быть запрос по: где сейчас ветер до 10М/с с направлением между такими-то углами по компасу, при это только до 3/мс если это С-СЗ и только до 7м/с если это З, но не менее 2/мс. А еще чтобы 0 снега, 0 дождя, 0 осадков, цельным отрезком такая погода не менее 3-х часов, база облаков выше 3км, на такой-то площади, облака определенного типа, выстроены лестницей, градиент ветра такой-то по высоте, без инверсий и еще куча всего.....

Я бы все волосы выщипал на голове в синтаксиса запросов PgSQL для JSON)))

Но пример почти синтетичекий, эти данные с дублированием раскладываются в структуру нормально.
Если это реализовано — я думаю многие бы подписались в узких кругах 😏
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
Я за "Polyglot Persistence", но баз/кэшей и без Монги в ландшафте обычно хватает, особенно если решения комплексные и уже есть экосистема Hadoop
источник

KK

Kirill Keker in Архитектура ИТ-решений
Viktor Alexandrov
Если это реализовано — я думаю многие бы подписались в узких кругах 😏
ты понял для чего это)))) там не так просто)))) я забил..... там AI надо тренировать еще и все это ради бота в телеги, который бы мне утром в выходные говорил "где полетать"))) погода очень сложная сволочь. Ее нельзя посчитать школьной формулой даже если она очень агрегирована как у Windy/Wisuki.
источник

VA

Viktor Alexandrov in Архитектура ИТ-решений
Kirill Keker
ты понял для чего это)))) там не так просто)))) я забил..... там AI надо тренировать еще и все это ради бота в телеги, который бы мне утром в выходные говорил "где полетать"))) погода очень сложная сволочь. Ее нельзя посчитать школьной формулой даже если она очень агрегирована как у Windy/Wisuki.
Я бы скорее по заранее понятным местам/маршрутам анализировал возможность, адекватность цели, времени и силам :)
источник

S

Sdobridnuk in Архитектура ИТ-решений
Nick Z
Скорее эээ с моей стороны. Не может быть РБД быстрее - только хотя бы из-за того, что она уже реляционная.
Единственное преимущество RDB - что она _универсальная_ На ней по сходной методологии можно хранить и обрабатывать сущности в разном представлении. И разумеется поддерживает ACID   А дальше пошли уже "особенности" - масштабирование. специализированные форматы сущностей (документы, кортежи, графы, изображения) и пр - которые требуют более узконаправленного решения.  NoSQL в моей парадигме все же надо переводить - Not only SQL !   Хорошие исследования на эту тему лучше почитать у ИСП РАН (лаборатории проф С.Д. Кузнецова), чем на habr-е , там более глубокие и рациональные рассуждения без этого маркетингового булшита сейлзов. Тут например https://www.ispras.ru/publications/nosql_data_management_systems.pdf
источник

KK

Kirill Keker in Архитектура ИТ-решений
Viktor Alexandrov
Я бы скорее по заранее понятным местам/маршрутам анализировал возможность, адекватность цели, времени и силам :)
когда ты учишься и твой полет "сверхунизм", то тебе пофиг и там 3 параметра. а если прям полетать.... то там так дофига параметров, что прям жесть.... И куча источников, а еще все они врут... Градиент ветра ни кто не снимает в реале... Это показания наземной станции и спутника, а разница между ними делается математической интерполяцией. СЛА это не годится....

Многие сервисы берут деньги чтобы показать тебе погоду за час. А если расковырять приложение, то они считают ее тем на телефоне интерполяцией в 3 строки из отрезков по 5 часов например)))

Хочешь - запарься) Мне вот лень.... Там надо получать реальный фидбек была ли такая пагода, которую ты насчитал, что не совпало, гнать это через модель чтобы потом убирать лишние вероятности как шумы.
источник

p

pragus in Архитектура ИТ-решений
Phil Delgyado
Как раз ровно наоборот, в РБД гораздо больше думают про эффективность работы с дисковой подсистемой и набрали гораздо больше опыта.
Собственно, кроме специальных кейсов типа логов, почти всегда РСУБД эффективнее работает с диском и на выделенной машине при одинаковых требованиях к гарантиям РСУБД эффективнее.
И ровно поэтому в pg есть double buffering? ;)
источник

S

Sdobridnuk in Архитектура ИТ-решений
Phil Delgyado
Как раз ровно наоборот, в РБД гораздо больше думают про эффективность работы с дисковой подсистемой и набрали гораздо больше опыта.
Собственно, кроме специальных кейсов типа логов, почти всегда РСУБД эффективнее работает с диском и на выделенной машине при одинаковых требованиях к гарантиям РСУБД эффективнее.
Одно "но" забыли - диски сегодня (системы хранения) - самая дешевая часть компьютера. Пока СУБД думает как упаковать данные в сегмент диска - уже сто раз DMA сможет скопировать блоки между устройствами, не загружая _ни одного такта_ CPU. А для баз в оперативной памяти - вообще неважно выравниваение записей строк по размерам/сегментам - там прямая адресация - сколько надо байт зачитать, столько и сделаем - да еще плюс превратим данные в код а код в данные (как в ООП базах обычно применяется). В оперативной памяти даже B-tree индексы неинтересны, там T-индексы применяются...
источник

S

Sdobridnuk in Архитектура ИТ-решений
pragus
И ровно поэтому в pg есть double buffering? ;)
pg вообще считаю наидермовейшая СУБД с кучей технического долга и ленивыми и с неадекватной самооценкой - разработчиками в комьюнити. Одна радость что опенсорс..
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Kirill Keker
опять про PG и его работу с JSON. Долго искал свой API Key от Wisuki и не нашел, но нашел от Windy, там конечно данные более структуированные https://jsoneditoronline.org/#left=cloud.7e4703495c6a44c980371e8e805a44d0

Докустим мы не хотим их разбирать на поля, потому что у них не всегда фиксированный размер, зависит от времени среза и размера среза (это похоже на запрос Google Analytics API). Вы получаете массив вложенных данных переменного размера. А далее начинаются запросы по структуре, когда не хотелось бы вынимать весь документ. В случае погоды для полетов, это может быть запрос по: где сейчас ветер до 10М/с с направлением между такими-то углами по компасу, при это только до 3/мс если это С-СЗ и только до 7м/с если это З, но не менее 2/мс. А еще чтобы 0 снега, 0 дождя, 0 осадков, цельным отрезком такая погода не менее 3-х часов, база облаков выше 3км, на такой-то площади, облака определенного типа, выстроены лестницей, градиент ветра такой-то по высоте, без инверсий и еще куча всего.....

Я бы все волосы выщипал на голове в синтаксиса запросов PgSQL для JSON)))

Но пример почти синтетичекий, эти данные с дублированием раскладываются в структуру нормально.
А на mongo такой же запрос будет много проще? А с чего, тут же объективная сложность запроса в первую очередь мешает, а не работа со структурой. А возможность ссылаться на части json в PG вполне нормальные, это же не Oracle (там да, ужас).
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Kirill Keker
Я писал выше, что документные БД в отличии от Key-Value многих (не всех) или РСУБД где можно JSON кинуть в поле просто, умеют делать глубокие индексы и богатый условный поиск.

Когда у тебя json просто строка с каким-то базовым парсингом, то такие кейсы станут адом.
Но в PG можно делать и глубокие индексы и богатый условный поиск, делов-то.
источник