pyArango против микросервисов Foxx

В чем основное различие между использованием pyArango и Foxx Micro-service? Как я видел, мы в конечном итоге записываем AQL в файл .js при создании микросервиса. Чем это отличается от записи в клиент pyArango?

В чем преимущество использования микросервиса Foxx и pyArango?

Спасибо


person Aman Dalmia    schedule 10.12.2019    source источник


Ответы (1)


Микросервисы Foxx работают на сервере базы данных, а это означает, что если им нужно манипулировать большими объемами данных для предоставления нужных вам данных, то манипулирование данными происходит на сервере.

Если вы используете pyArango для внешней обработки больших объемов данных, то полный объем данных должен поступать с сервера через ваш драйвер pyArango, чтобы Python мог обработать данные для создания необходимого ответа.

Очевидно, еще одним отличием от Foxx является то, что он написан на JavaScript, так что это может быть отличием для вашего проекта, о котором стоит подумать.

Даже если вы запустите Python на сервере ArangoDB и извлечете данные через pyArango вместо Foxx, я рискну предположить, что Foxx будет быстрее.

Лично при внедрении ArangoDB я не разрешаю прямой доступ к таблице к ее данным, скорее я заставляю все соединения проходить через Foxx.

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

Еще одно ключевое преимущество заключается в том, что, раскрывая данные через Foxx и блокируя прямой доступ AQL, я могу гибко изменять базовые коллекции данных, модели, структуры и отношения без необходимости изменения кода потребителями, поскольку я просто обновляю соответствующие Конечные точки Foxx REST, и они продолжают возвращать данные таким же образом, как и до структурных обновлений.

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

person David Thomas    schedule 12.12.2019