Skip to content

Commit

Permalink
Added a sentence about supported database technologies
Browse files Browse the repository at this point in the history
  • Loading branch information
asishallab committed Jul 9, 2024
1 parent 95a2c72 commit aa2c9d5
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion content/03.06.04.Zendro.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#### GraphQL Data-warehouse

<!-- Asis Hallab -->
Using the [Zendro](https://zendro-dev.github.io) set of automatic software code generators, a fully functional, efficient, and cloud-capable BrAPI data-warehouse has been created for the current version of the BrAPI data models. Unlike most BrAPI compliant data sources, this data-warehouse supports a GraphQL API rather than a RESTful API. This API provides secure access to data read and write functions for all BrAPI data models. It provides create, read, update, and delete (CRUD) functions that are standardized and accept the same parameters for all data models.
Using the [Zendro](https://zendro-dev.github.io) set of automatic software code generators, a fully functional, efficient, and cloud-capable BrAPI data-warehouse has been created for the current version of the BrAPI data models. Unlike most BrAPI compliant data sources, this data-warehouse supports a GraphQL API rather than a RESTful API. This API provides secure access to data read and write functions for all BrAPI data models. It provides create, read, update, and delete (CRUD) functions that are standardized and accept the same parameters for all data models. Zendro supports a large number of database systems which and can even be mixed, among these support exists for relational (e.g. PostGres), document based (e.g. MongoDB), and graph based databases (Neo4J), as well as wide column stores (e.g. Cassandra) and file clouds (e.g. Amazon AWS), additionally the data-lake technologies [Trino](https://trino.io/) and [Presto](https://prestodb.io/) can be used.

The GraphQL server is particularly rich in features. Records are paginated using the highly efficient cursor based pagination model as proposed in the GraphQL standard. Logical filters allow for exhaustive search queries, whose structure is highly intuitive and based around logical triplets. A large collection of operators is available and triplets can be combined to logical search trees using "and" or "or" operators. Searches can be extended over relationships between data models, thus enabling a user to query the warehouse for exactly the required data. Access security is implemented with the OAuth2 user authentication standard [@https://datatracker.ietf.org/doc/html/rfc6749]. Authorization is based on user roles and can be configured differently for each single data model read or write function. The generated graphical interface allows for the integration of interactive scientific plots and analysis tools written in JavaScript or WebAssembly.

Expand Down

0 comments on commit aa2c9d5

Please sign in to comment.