FaunaDB добавляет встроенную поддержку GraphQL


FaunaDB был обновлен с помощью GraphQL API, веб-версии оболочки Fauna и поддержки управления доступом на основе ролей.

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

FaunaDB была написана на Scala и Java и работает на JVM с версиями для Linux, Windows и OS X. Существуют драйверы для Scala, Java, JavaScript, C #, Python, Ruby, Go и Swift, а также HTTP API. Система базы данных включает язык транзакционных запросов, согласованность ACID и мультитенантность.

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

Вы можете импортировать схемы GraphQL из вкладки GraphQL в веб-редакторе Fauna, а интегрированная среда разработки Prisma GraphQL Playground интегрирована в Fauna Cloud Console, предлагая способ работы с GraphQL внутри консоли.

В новой версии FaunaDB также добавлена поддержка управления доступом на основе ролей (RBAC) в качестве замены текущей модели безопасности FaunaDB, основанной на ресурсах. До сих пор доступ в FaunaDB был ограничен четырьмя заранее определенными ролями – администратором, сервером, сервером только для чтения или клиентом. Новая поддержка означает, что разработчики могут определять пользовательские роли, которые предоставляют доступ только к тем данным, которые нужны пользователю.

Еще одно улучшение нового выпуска – добавление веб-версии Fauna Shell. Это позволяет пользователям получать доступ к командной строке Shell из любого браузера и запускать команды и функции FQL непосредственно в браузере.

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


Добавить комментарий