Fauna pakt een fundamenteel probleem aan waarmee ontwikkelaars worden geconfronteerd bij het bouwen van GenAI-, edge- en IoT-applicaties; het garanderen van dataconsistentie en beveiliging op schaal in document-databases.
Fauna is een aanbieder van een document relational database, die gebruikers krijgen aangeboden in de vorm van een API. De aangeboden database is een combinatie van twee database-architecturen; het relational- en document-model. Data wordt bewaard in JSON-documenten.
Vandaag kondigt Fauna een eigen schema-taal aan. Hierdoor wordt een eigenschap van het relational-model toegevoegd. Van dat model blijken nog veel handige eigenschappen te missen in de document relational database van Fauna. “Document-databases bewezen de vele voordelen van een ontwikkelaarvriendelijk en flexibel programma, maar missen veel van de belangrijkste functionaliteiten die eigen zijn aan relationele databases, inclusief krachtige relationele querymogelijkheden, ACID-compliance en schemahandhaving”, stelt Hassen Karaa, VP Product bij Fauna.
Fauna Schema Language
De Fauna Schema Language (FSL) geeft ontwikkelaars de mogelijkheid verschillende zaken te definiëren in normale taal. Hieronder vallen de domein-modellen, toegangscontrole en business logic. Ontwikkelaars moeten een vertrouwd gevoel krijgen door de mogelijkheid hun database-schema net zo te gebruiken als application code.
Door middel van Document Types wordt het ook mogelijk schema-structuren te definiëren en testen te automatiseren. Op GitHub kan bijvoorbeeld het testen worden geactiveerd vanaf het moment dat een nieuwe schema-versie wordt doorgevoerd. Doorgaans wordt deze doorvoering gekenmerkt door down-time van de app, maar dat wodt voorkomen door de introductie van Zero-Downtime Migrations. De functie maakt het mogelijk migraties als code door te voeren met FSL en deze te stroomlijnen met de betrokken CI/CD pipelines.