1.2, Аноним (2), 09:34, 28/11/2021 [ответить] [﹢﹢﹢] [ · · · ]
| –11 +/– |
Тут недавно некий анинми сильно бугуртил по поводу использования в СУБД REST-API вместо бинарных протоколов. Главные аргументы были в стили - "это неправильно, ибо ящетаю что это неправильно! Воть!".
Добавлю от себя что я очень рад, что мечты сбываются.
| |
|
2.4, Аноним (4), 10:14, 28/11/2021 [^] [^^] [^^^] [ответить]
| –4 +/– |
Например для мобильных приложениях этот ваш рест совсем никуда не уперся. Ну и дальше по списку.
| |
|
|
4.13, Аноним (4), 11:15, 28/11/2021 [^] [^^] [^^^] [ответить]
| +7 +/– |
Самое простое зачем мобильнику тратить время не сериализацию, перегонять этот ваш текст в числа и наоборот, когда например на андроиде, приложение может сразу получить бинарный джавовый объект с любой абстракцией хоть с массивом хоть с чертом лысым? Этим же можно решить вопрос сессий, в отличии от стейтлесс реста. Да много всего можно делать но для среднего хомячка это все конечно сложно.
| |
|
|
6.58, _hide_ (ok), 16:38, 28/11/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
Сессия -- это абстракция и не имеет прямого отношения к ресурсам.
Сериализация -- это очень субъектное понятие по трудозатратам и, в большинстве случаев, затраты несущественные.
А вот как обеспечить прозрачное и безопасное взаимодействие с базой через рест без прокладок в виде ОРМ модели, я так и не понял.
| |
|
7.62, hohax (?), 17:22, 28/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
> затраты несущественные.
Да, на уровне сложности hello, world.
| |
|
8.87, _hide_ (ok), 22:31, 28/11/2021 [^] [^^] [^^^] [ответить] | +1 +/– | На любом уровне Если у Вас возникли проблемы с затратами на сериализацию при ре... текст свёрнут, показать | |
|
7.139, penetrator (?), 13:29, 30/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
> Сессия -- это абстракция и не имеет прямого отношения к ресурсам.
> Сериализация -- это очень субъектное понятие по трудозатратам и, в большинстве случаев,
> затраты несущественные.
> А вот как обеспечить прозрачное и безопасное взаимодействие с базой через рест
> без прокладок в виде ОРМ модели, я так и не понял.
сессия - это архитектурное решение, предпологающее хранение состояния, из-за этого хранения состояния вытекают все затраты, от памяти до распределенных серверов сессий
т.е. это всегда +N, если можно без сессий сделать тоже самое, то сессии - не нужно
| |
|
6.107, MVK (??), 10:39, 29/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
>сессии - бессмысленная трата ресурсом по всем фронтам
- для однопользовательской БД, да. А при наличии нескольких пользователей с разными планами запросов сессии дают умное кэширование данных - кастомное для клиента
| |
|
5.34, ыы (?), 12:23, 28/11/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
>получить бинарный джавовый объект
...через REST
| |
5.38, commiethebeastie (ok), 13:25, 28/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
>получить бинарный джавовый объект
Первый получает бинарный объект, второй использует анонимную функцию, результат ну вы сами догадались.
| |
5.51, ФФФ (?), 16:09, 28/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
А другие платформы, а партнеры, сразу видно чувак апи не видал рабочего.
| |
|
|
|
2.95, Аноньимъ (ok), 07:12, 29/11/2021 [^] [^^] [^^^] [ответить]
| +3 +/– |
Ещё совсем немного, и пориджи изобретут веб сервер и пхп.
Назовут Rest Service
и
Active JSON Transformation Language.
| |
|
1.3, Аноним (4), 10:10, 28/11/2021 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
И как это натянуть например на существующий ORM например в той же джанге. Да никак. Это я вообще к чему? Да к тому что это очередное ненужно.
| |
|
2.5, Прохожий (??), 10:35, 28/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
Если кому-то (тебе) не нужно, это ещё не означает, что и остальным не нужно. Л - логика. И вообще, тебя кто-то заставляет пользоваться, что ли?
У Оракла через REST работает Golden Gate, к примеру. Здесь, видимо, тоже что-то такое можно соорудить при необходимости.
| |
|
|
4.44, Аноним (44), 14:36, 28/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
У Оракла есть Oracle REST Data Services. Это коммерческий аналог сабжа.
| |
|
|
6.76, Михрютка (ok), 20:17, 28/11/2021 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Oracle REST Data Services разве коммерческий?
коммерческий, но бесплатный. пока у оракла опять пятка не зачешется.
алсо you must comply with all U.S. and applicable export control and economic sanctions laws or else
| |
|
|
|
|
2.12, Аноним (12), 11:13, 28/11/2021 [^] [^^] [^^^] [ответить]
| –2 +/– |
>И как это натянуть например на существующий ORM например в той же джанге
Достаточно взять простой советский...
| |
|
1.6, Жявамэн (?), 10:41, 28/11/2021 [ответить] [﹢﹢﹢] [ · · · ]
| –5 +/– |
Пока не добавят балансировщик нагрузки и мастер мастер репликацию для бд - в прод не пригодно.
| |
|
2.10, An0nim0us (?), 10:56, 28/11/2021 [^] [^^] [^^^] [ответить]
| +7 +/– |
Балансировщик - любой существующий для http. Условно делай апстримы в nginx и балансируй себе.
Репликация - уже давно есть в постгресе.
Глупо было бы им переизобретать велосипед...
| |
|
3.11, Аноним (4), 11:03, 28/11/2021 [^] [^^] [^^^] [ответить]
| –5 +/– |
Репликация, nginx — это всё и есть велосипеды. Так и вижу как ты пойдешь к директору банка и начнешь рассказывать как ты делаешь балансировку, через бесплатную тулзу, которую пишет васян, которая не дает никаких гарантий ни для чего. Про репликацию, когда у тебя основная нагрузка это запись. А директор тебе выдаст волчий билет и отправит на биржу труда.
| |
|
4.19, YetAnotherOnanym (ok), 11:35, 28/11/2021 [^] [^^] [^^^] [ответить]
| +10 +/– |
Директор банка, как правило, прислушивается к своему начальнику отдела автоматизации (или как там называется эта должность том в конкретном банке). Если для этого специалиста nginx (или haproxy, или varnish) - это васянопродукт, то я хотел бы знать название этого банка, чтобы держаться от него подальше.
(Собственно говоря, я знаю один такой банк - самый крупный в РФ, претендующий на более чем полуторавековую историю, который завязался на проприетарное ПО зарубежного производителя и теперь вынужден подчиняться ограничениям, которые ему выставляет поставщик ПО - например, этот банк не может работать в Крыму. Так я забрал из него все деньги, которые там по привычке держали родители).
| |
|
5.22, Аноним (4), 11:44, 28/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
Да я тебя даже скажу он называется Сбербанк. Дело правда было давно лет 10 назад.
| |
5.24, penetrator (?), 11:48, 28/11/2021 [^] [^^] [^^^] [ответить]
| –1 +/– |
Ни один вменяемый банк не будет работать в Крыму и никакого отношения к IT, проприетарному ПО и тд, это не имеет, вся эта кухня с Крымом это для ура-поцреотов, а нам про open source, пожалуйста.
| |
|
6.28, ыы (?), 12:01, 28/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
Ваш анализ вменяемости очень полезен..для 6 палаты... а к ИТ "вся эта кухня" имеет самое непосредственное отношение. Потому что количество отраслей на которые будет распространятся действие последней версии экспортных ограничений США - будет только расти.
Слышали новость? Под санкции попал МФТИ :) Давай до свиданья Оракл в МФТИ, давай досвидос амигос винда в МФТИ. Давай пока VmVware в МФТИ... Я не знаю, может они и не пользовались ничем этим... Но и не будут :) И это хорошо.
Потому что будет создано свое. Что поднимет квалификация своих программистов, а не заплатит денюжку забугорным.
| |
|
7.37, Аноним (37), 13:08, 28/11/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
> И это хорошо.
> Потому что будет создано свое. Что поднимет квалификация своих программистов, а не заплатит денюжку забугорным.
Проходили уже в истории "будет создано своё". Шо, опять? (с)
| |
|
|
9.48, Аноним (37), 15:20, 28/11/2021 [^] [^^] [^^^] [ответить] | +/– | ни с чем не совместимое, а если совместимое, то остальному миру не нужное, и тд ... текст свёрнут, показать | |
|
|
7.109, Аноним (4), 13:10, 29/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
Просто ты будешь меньше кушать. Никто ничего создавать не будет. В Северной Корее что-то ничего своего не сделали.
| |
|
6.45, YetAnotherOnanym (ok), 14:38, 28/11/2021 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Ни один вменяемый банк не будет работать в Крыму
Хы... а можете озвучить свои критерии "вменяемости"?
| |
|
7.49, Аноним (37), 15:25, 28/11/2021 [^] [^^] [^^^] [ответить]
| +2 +/– |
>> Ни один вменяемый банк не будет работать в Крыму
> Хы... а можете озвучить свои критерии "вменяемости"?
Санкции. Те, на которые вам пофиг, а банкам (присутствующим на международном финансовом рынке) нет.
| |
|
|
|
6.113, Аноним (4), 13:17, 29/11/2021 [^] [^^] [^^^] [ответить]
| –1 +/– |
Но сюрприз это не балансировщик перед постгресом, который пытается изображать толи мастера толи маргариту.
| |
|
|
4.20, An0nim0us (?), 11:36, 28/11/2021 [^] [^^] [^^^] [ответить] | +3 +/– | Никто не сделает репликацию постгреса лучше чем сами разработчики постгреса И о... большой текст свёрнут, показать | |
|
5.23, Аноним (4), 11:46, 28/11/2021 [^] [^^] [^^^] [ответить]
| –4 +/– |
Сразу открою секрет банк будет использовать нормальные базы данных, которые сами всё умеют, а не городить велосипеды непонятно из чего.
| |
|
6.26, ыы (?), 11:53, 28/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
Ну, пафосно конечно но глупо.Назовите пожалуйста хотябы две таких СУБД не попадающих под санкции?
| |
6.35, An0nim0us (?), 12:39, 28/11/2021 [^] [^^] [^^^] [ответить] | +1 +/– | Тебя что кроме банка никуда больше не берут Почему у тебя техническая дискуссия... большой текст свёрнут, показать | |
|
7.36, ыы (?), 12:49, 28/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
К тому же, товарищу наверное будет любопытно узнать, что под капотом тех решений "которые банки используют" зачастую находятся просто опенсорсные программы, или нечто купленное у нонеймов и слегка допиленное...
| |
|
|
|
4.25, ыы (?), 11:51, 28/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
К директору банка прийдет чувак в костюме который расскажет про импортозамещение, sla, ROI....
И директор банка никогда не узнает что там на самом деле под капотом- всего лишь nginx и штатная репликация постгреса.
Кстати мастер-мастер репликация в постгресе есть, и доступна в исходных кодах...
| |
|
5.112, Аноним (4), 13:15, 29/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
Директор выразить свою глубочайшую заинтересованность и продолжит использовать продукт, который работает. А не тот который ему скажут.
| |
|
6.123, Аноним (122), 17:19, 29/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
Интересно, видел ли кто-нибудь из участников дискуссии директора банка.
| |
|
|
|
3.42, Аноним (44), 14:29, 28/11/2021 [^] [^^] [^^^] [ответить] | +1 +/– | Пожалуйста, озвучьте проверенное решение По тому, что я знаю, мастер-мастер реп... большой текст свёрнут, показать | |
|
4.52, Михрютка (ok), 16:12, 28/11/2021 [^] [^^] [^^^] [ответить]
| –1 +/– |
>>>Оракл, например, не захотел идти по этому пути и тоже не умеет мастер-мастер.
вот щас оракл раку стало очень обидно
| |
|
5.54, ыы (?), 16:19, 28/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
С чего бы то это ему было обидно? Оракл RAC - это разделяемое хранилище с блочной репликацией. Там нет такой сущности как "самостоятельная нода работающая как мастер или чтото иное". Там все ноды- работают с одной версией БД, которая лежит на распределенном блочном устройстве.
| |
|
6.68, Михрютка (ok), 19:07, 28/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
сорьки, я было подумал, что pq dbr это мастер/мастер синхронная репликация, порадовался - ну хоть какое-то подобие рака.
так-то рак кластер, как вы правильно написали, с шаред хранилищем, и ровно по этой же причине - в репликации блочных устройств не нуждается.
| |
|
7.77, ыы (?), 20:20, 28/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
блочное устройство- это не идиома для жесткого диска как вы очевидно думаете. блочное устройство в отличие от символьного - это такая сущность интерфейс которого общается с внешним миром посредством блоков а не символов.
блок- ключевое понятие в оракле, на нем все держится. и процесс репликации данных в RAC тоже происходит блоками.
То самое шаред хранилище - вполне себе блочное устройство. которое реплицируется.
| |
|
8.93, x3who (?), 03:09, 29/11/2021 [^] [^^] [^^^] [ответить] | +/– | там всё хуже - поскольку хранилище общее, то в принципе к одному блоку ломиться ... текст свёрнут, показать | |
|
|
|
|
|
5.64, Аноним (44), 18:01, 28/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
> Оракл, кстати также официально умеет в мастер-мастер и нюансы там примерно такие же как и MySQL
нет, извините, но всё же не умеет. RAC - это не мастер-мастер данных, а только инстанса.
| |
|
|
7.69, Аноним (44), 19:10, 28/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
Точно, вспомнил теперь. Есть такая штука у Оракла. Когда-то в конце 90-х на модемных линиях её использовали. И это не оценочное суждение, просто факт.
| |
|
|
|
|
|
|
1.7, Прохожий (??), 10:43, 28/11/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Мне вот интересно, что такое "типовой сервер", который в заметке упоминается? И сколько на "типовом сервере" можно выжать запросов в секунду на родном протоколе при прочих равных?
| |
1.8, морошка ягодка такая (?), 10:46, 28/11/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Обернуть простую базу данных в dotnet + entity framework - пустяковое дело.
А для сложных случаев, эту штуковину применять не стану.
| |
1.15, axhack (ok), 11:23, 28/11/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Я частный разработчик, разрабатываю веб и программные решения.
Использую в продакшене -- как бакенд собственной корп CRM, но так же разрабатываю клиентские решения на базе бакенда на Postgrest.
Postgrest ускорил мою работу в 10 раз, при этом избавив от типичных ошибок и вечного "написания одного и того же ORM кода".
Не умеете готовить -- ну брыжьте слюной в комментариях дальше :)
| |
|
|
3.30, ыы (?), 12:05, 28/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
Сходите посмотрите как работает APEX на оракле.
Вот то что делают для постгреса- это нечто подобное. И это правильно.
| |
|
2.31, WE (?), 12:05, 28/11/2021 [^] [^^] [^^^] [ответить]
| +4 +/– |
...рассосались рубцы, вес пришел в норму, прекратилось облысение и кошка стала ходить строго в лоток?
| |
|
3.47, Dzen Python (ok), 15:03, 28/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
Не только! Всего за 999999.99$ для адаптации постгрест под нынешнюю инфраструктуру и 999999999.99$ за миграцию избавили нас не только от проблем на стороне сервера, но ещё и от крыс, мышей, лягушек, блох, клопов, вшей, проверяющих из ОБЭПа, налоговой, военкома для сынка гендира, санкций за работу в Крыму, открыли третий глаз, расшили чакры, дали фуриёку для звания короля шаманов, помогли найти и прочитать сисечный свиток из коробки медаки, вся наша компания прямо таки сплотилась во едином порыве и бухгалтер стал кишечником, менеджер - мускулами, а сисадмин - клоакой! Рекомндую, закажите только сейчас у авторизованного тентакля и получите кучу удовольствия в подарок!
| |
|
2.41, Аноним (41), 14:00, 28/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
Это что, типа минимизация бэкэнда? вплоть до его обнуления? и обнуления необходимости в бэкэнд-щиках? Другого смысла никакого вроде не просматривается...
| |
|
3.80, нонейм (?), 20:47, 28/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
Как бы экономическая суть всего IT - обнулить лишние траты. Какой тут смысл ещё может быть? :)
| |
|
4.89, Аноним (89), 23:02, 28/11/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
Хм, тогда всё равно все бэк-эндовые заморочки во фронт-энд уйдут, а по сети будет больше данных гоняться. Небезопасно, медленно, больше нагрузка на клиентов, врядли сильно дешевле - фронт-эндер будет как два-в-одном.
| |
|
5.138, axhack (ok), 11:42, 30/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
1. За счёт чего траффика станет больше?
2. В чём именно выражается небезопасность?
3. Почему это должно быть медленно и нагружать фронт?
| |
|
|
|
|
1.39, hardworm (?), 13:34, 28/11/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Я так давно не видел простого CRUD приложения, что не представляю зачем такое решение нужно.
Что бы все делать на front? А есть ли тогда какие-то механизмы защиты и валидации?
Обычно во многих фреймворка есть что-то готовое, где получить crud можно одной командой. Но это надо в 10% на небольшие таблицы справочники.
| |
|
2.40, An0nim0us (?), 14:00, 28/11/2021 [^] [^^] [^^^] [ответить]
| –1 +/– |
Что бы упростить backend... Это больше актуально для микросервисов, когда отпадает необходимость делать свой api-сервис для взаимодействия с базой. В микросервисах не принято делать что б каждый сервис стучался напрямую в базу в силу многих причин, для этого либо пишут свой api-сервис либо используют что-то готовое типа этого сабжа.
| |
|
3.60, Онаним (?), 17:09, 28/11/2021 [^] [^^] [^^^] [ответить]
| +5 +/– |
Вспоминая одну старую дискуссию...
А потом оверхед от всех этих г***прослоек становится таким, что танцорам начинает latency в TCP мешать...
| |
|
4.70, An0nim0us (?), 19:15, 28/11/2021 [^] [^^] [^^^] [ответить]
| –1 +/– |
У всех разные задачи и разные решения для них. Кто-то до сих пор деплоит раз в 2 года монолит вручную по фтп и ему норм - никаких латенси, но в таких изначальных условиях он может себе это позволить, а кто-то не может...
| |
4.91, нонейм (?), 01:18, 29/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
конкретно сабж даёт дополнительную задержку в норме меньше 10ms
http_req_duration..............: avg=2.4ms min=476.37µs med=1.42ms max=39.1ms p(90)=5.23ms p(95)=7.47ms
| |
|
5.99, Аноньимъ (ok), 07:42, 29/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
> конкретно сабж даёт дополнительную задержку в норме меньше 10ms
Нехренаж себе.
| |
|
|
|
2.46, Аноним (44), 14:45, 28/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
> Что бы все делать на front? А есть ли тогда какие-то механизмы защиты и валидации?
Наоборот. Вся валидация делается схемой базы данных. Т.е. тупо инсерт не пройдет. А фронтэнду нужно только красиво ошибку обработать.
Суть в том, что валидация делается максимально близко к хранению данных. Фактически в транзакции и никак обойти это не получится. Второй уровень валидации - на фронтэнде тоже можно делать но это уже опционально.
| |
|
3.72, An0nim0us (?), 19:19, 28/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
То что вы говорите - это антипаттерн и так делать нельзя. Сабж изначально делался как коробочный апи-сервер для микросервисов для работы с базой и об этом недвузначно намекает картинка в самой новости...
| |
|
|
5.85, An0nim0us (?), 22:02, 28/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
Если так, то тогда и фраза "Архитектурно PostgREST подталкивает к данно-ориентированной архитектуре (Data-Oriented Architecture), где микросервисы не сохраняют состояния сами, а используют для этого единым доступом к данным (Data Access Layer)." также является своего рода манипуляцией.
Относитесь к моему высказыванию больше как к субъективному мнению еще одного параноика)
Данный сабж не использую на проектах и свое мнение формировал исключительно из новости и своего понимания того как нужно. Оказывается многие действительно используют и в сценариях описанных выше в качестве альтернативы GraphQL и основные возможности для работы в качестве публичного апи сервера у него действительно есть. Отсюда получается что немного погорячился в выводах, хотя странно что никто меня не исправил)
| |
|
|
3.97, Аноньимъ (ok), 07:23, 29/11/2021 [^] [^^] [^^^] [ответить]
| –1 +/– |
>Т.е. тупо инсерт не пройдет.
>и никак обойти это не получится
Ха, а ты смешной!
| |
3.133, Аноним (133), 00:46, 30/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
Предлагаешь логику бэкенда делать на триггерах и хранимках? Ну удачи.
| |
|
|
|
2.65, Аноним (44), 18:16, 28/11/2021 [^] [^^] [^^^] [ответить]
| –1 +/– |
Я бы и сам с удовольствием использовал Оракл, но он же много-много денег стоит. Но есть позитивный момент - Oracle JET бесплатный и как раз заточен на REST. Сабж должен хорошо подойти в качестве бэкэнда.
| |
|
1.53, ФФФ (?), 16:12, 28/11/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Странно это все, для какой-то узкой микросервисной задачи, даже картинку не положить
| |
|
2.63, Аноним (44), 17:49, 28/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
Вот, только что на коленке накидал и проверил. Хоть картинки, хоть что:
create table api_v5.bloblo (id uuid, le integer, blo bytea);
create or replace function api_v5.blobhere(bytea) returns void language sql as $$
insert into api_v5.bloblo (le,blo) values ((select length($1)),$1);
$$;
curl -X POST -H "Authorization: Bearer eyXXX" -H "Content-type: application/octet-stream" -v -d '@demo.bin' 'https://api.XXX.de/v5/rpc/blobhere'
select encode(blo, 'escape') from api_v5.bloblo;
| |
|
1.61, Erley (ok), 17:20, 28/11/2021 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Не знал про это чудо, спасибо за наводку.
"Код проекта написан на языке Haskell..."
Вот уж кому-то действительно надоело писать ORM для каждой задачи, выбор Haskell наводит на мысль что ребята делают проект с умом и душой, делая код простым и гибким.
Для Big Data это конечно не предназначается, но должно весьма нехило упростить жизнь разработчикам обычных бекендов.
| |
1.82, Онаним (?), 21:24, 28/11/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Только меня вот это смутило?
"Производительности системы достаточно для обработки до 2000 запросов в секунду на типовом сервере"
| |
|
|
3.86, нонейм (?), 22:12, 28/11/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
vendor_id : GenuineIntel
cpu family : 6
model : 60
model name : Intel Core Processor (Haswell, no TSX)
stepping : 1
microcode : 0x1
cpu MHz : 2399.996
запустил $ k6-v0.35.0-linux-amd64/k6 run -d 10s -u 20 ./test-pgrst-local.js
2 ядра под 100% + 50% сам k6
Результат:
http_reqs......................: 18457 1844.250269/s
| |
3.100, Аноньимъ (ok), 07:47, 29/11/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Или штo там за типовой сервер, Raspberry Pi 1A штoле?
Вы вот шутите, а у нас тут финансовая микросервисная система на 300 юзерах укакивается.
И жива она на проде только потому, что фронтенд всё тротлит. Ну и там мощности aws побольше конечно чем на тесте.
| |
|
|
1.88, Аноним (88), 22:52, 28/11/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
2000 запросов это вообще ничего. Будет хотябы 200000 в секунду, будет разговор.
| |
|
2.92, нонейм (?), 01:24, 29/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
я так понимаю 1000 запросов на ядро
всего лишь 200 ядер нужно для указанных вами требований
| |
2.101, Аноньимъ (ok), 07:48, 29/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
> 2000 запросов это вообще ничего. Будет хотябы 200000 в секунду, будет разговор.
Для жава микросервисов 2000 это космос.
| |
|
1.108, абв (?), 13:08, 29/11/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Я не очень понял как здесь транзакции запускать/откатывать?
Допустим, мне нужно сделать 3 инсерта, и если хоть один не прошёл - развернуть всё взад.
| |
|
2.117, нонейм (?), 16:30, 29/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
RESTful API позволит работать с документами, а не базой напрямую. Да, маппинг делается 1:1 к таблицам на все операции CRUD. С вьюхами другое дело - маппинг на CREATE и UPDATE уже автоматически не сделаешь. Поэтому для них нужно отдельно писать before INSERT и before CREATE триггеры.
| |
|
3.118, нонейм (?), 16:34, 29/11/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
Таким образом 3 инсерта в разные таблицы пройдут полностью или откатятся все. PostgREST не избавит от необходимости писать такую логику. Она всегда кастомная исходя из бизнес логики. Но во всех других решениях нужно делать то же самое, только здесь это удобней из-за PL/PgSQL. Лаконичней не придумали ещё.
| |
|
4.134, Аноним (133), 00:50, 30/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
А как версионировать и обновлять туда-обратно триггеры с хранимками? Я просто как-то раз пробовал это через alembic-миграции делать, но удовольствие это было, скажу откровенно, ниже среднего.
| |
|
3.127, абв (?), 20:08, 29/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
Я вижу, вы разбираетесь в сабже. Тогда для чего все эти усложнения?Почему нужно использовать это, а не работать с базой напрямую?
Другими словами - где и в чём выгода?
| |
|
4.131, нонейм (?), 22:38, 29/11/2021 [^] [^^] [^^^] [ответить]
| –1 +/– |
разбираюсь в том плане, что использую это, да
причины, наверное, разные могут быть. В моём случае (1) нужно было провести черту между фронтэнд и бэкэнд разработчиками и, соответственно, OpenAPI спецификация стала единственным местом обсуждения и договора между ними; (2) фронтэнд разработчики без вопросов умеют работать с RESTful API; ну и (3) то, что единый API используется и UI, и программно сервисами которые вообще неподконтрольно пишутся пользователями платформы SaaS.
| |
|
|
|
1.116, kosmonaffft (?), 16:27, 29/11/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
На прошлой работе рассматривали сабж, как вариант для вытаскивания БД в REST, но по некоторым требованиям не зашло. В итоге я за несколько месяцев запилил более-менее аналог, но на других технологиях.
| |
|
2.120, нонейм (?), 16:40, 29/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
А что не получилось? поделитесь, если не секрет.
Я стал использовать сабж именно, чтоб самому каждый раз не писать такие прослойки. И пока не столкнулся с ситуацией, чтоб что-то не получилось реализовать из задуманного.
| |
|
3.121, kosmonaffft (?), 17:08, 29/11/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
Нужна была схема строго в OpenAPI 3.0, а PostgREST умеет только в Swagger 2.0 (по крайней мере на тот момент умел только в нее), плюс возможность дорабатывать что-то, если требования поменяются, а я оказался единственным человеком в команде, кто хоть как-то знаком с хаскеллем (ну то есть на уровне HelloWorld), и не стал бы брать на себя ответственность, что любую фичу там смогу запилить. Плюс это все должно было уйти на сертификацию во ФСТЭК, и как там отнеслись бы к тому же хаскеллю - ХЗ.
В итоге сделали аналог на JavaEE.
| |
|
|
5.125, kosmonaffft (?), 18:20, 29/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
Ого, то что обычная версия генерит не prepared statement я тогда даже не заметил. Такое точно бы на сертификации завернули.
| |
|
6.130, нонейм (?), 22:15, 29/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
спасибо за уточнения
особенно вторая ссылка раскрыла ситуацию совсем под другим углом. Я почему-то думал что steve-chavez и есть проект subZero, а он оказывается в supabase
не сочтите за рекламу:
https://supabase.com/ - очень круто сделали (и ещё делают). Я просто что-то похожее, но для внутреннего использования строил, поэтому и понравился их подход.
| |
|
|
|
|
|
1.136, Аноним (136), 09:47, 30/11/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Объясните любителю вебмамаке , я правильно понимаю сабж предоставляет просто api для фронта?
А как тогда интересно происходит авторизация обычных пользователей микросервиса?
Для авторизации на микросервисе нужна отдельная база для доступа к api фронта? Или сабж также предоставляет возможность авторизации обычных пользователх к доступа к базе?
| |
|
2.137, Аноним (137), 11:24, 30/11/2021 [^] [^^] [^^^] [ответить] | +/– | Это не первый такой инструмент, например есть hasura https hasura io graphql d... большой текст свёрнут, показать | |
|
3.141, Аноним (141), 17:02, 30/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
Мне просто интересен стал вопрос безопастности в случае доступа к api обычных пользователей. Но если сабж предназначается для совсем блого-новости сервисов, то тогда подход более менее понятен.
| |
|
|
|
2.145, Аноним (145), 23:16, 01/12/2021 [^] [^^] [^^^] [ответить]
| +/– |
смотря каких и смотря на каком сервере. если это одноядерная 2 гиговая балалайка на хецнере, то покатит
| |
|
|