4 repository-uri
Techniques for optimizing how related data is retrieved from a database to minimize round-trips.
Distinct from Data Fetching Optimizers: Distinct from web-development fetchers; focuses specifically on ORM-level entity graphs and fetch profiles within a database context.
Explore 4 awesome GitHub repositories matching data & databases · Data Fetching Optimizations. Refine with filters or upvote what's useful.
Hibernate ORM este un mapper obiect-relațional pentru Java și o implementare completă a Jakarta Persistence API. Acționează ca un strat de abstractizare pentru baze de date SQL care traduce modelele de obiecte Java în scheme de baze de date relaționale pentru a gestiona persistența și ciclurile de viață ale datelor. Framework-ul se distinge printr-un sistem de izolare a datelor multi-tenant pentru separarea datelor clienților în cadrul unei singure instanțe de bază de date. De asemenea, dispune de un generator de scheme de baze de date care produce și actualizează automat structurile relaționale pe baza mapărilor de entități. Sistemul acoperă domenii vaste, inclusiv gestionarea tranzacțiilor, controlul concurenței prin blocare și urmărirea datelor temporale pentru audit. Oferă instrumente pentru optimizarea interogărilor prin strategii de tip entity-graph și suportă tipuri de date avansate, cum ar fi datele vectoriale și caracterele naționalizate. Proiectul include o suită cuprinzătoare de utilitare de testare pentru stratul de persistență, inclusiv filtrarea dialectelor de baze de date și testarea conformității cu specificațiile.
Implements techniques for optimizing how related entities are retrieved to minimize database round-trips.
GraphQL.NET este un framework server-side pentru construirea și executarea API-urilor GraphQL în aplicații C#. Acesta oferă un toolkit cuprinzător pentru construirea schemelor, un motor federat pentru grafuri de date distribuite și un handler de subscripții pentru gestionarea fluxurilor de date în timp real. Proiectul se distinge printr-un constructor de scheme flexibil care suportă atât definiții programatice code-first, cât și abordări declarative schema-first folosind limbajul standard de definire a schemelor. Include un motor de federare dedicat pentru a diviza grafurile de date în subgrafuri și a le compune într-un gateway unificat, precum și o implementare de data loader concepută special pentru a rezolva problema interogărilor N+1 prin batching și caching. Framework-ul acoperă o gamă largă de capabilități operaționale, inclusiv integrarea dependency injection pentru gestionarea duratei de viață a serviciilor, pipeline-uri middleware pentru interceptarea rezoluției câmpurilor și un pipeline de execuție optimizat cu tipuri de valoare pentru a reduce alocările de memorie. De asemenea, oferă instrumente pentru analiza complexității interogărilor, caching-ul documentelor și controlul accesului bazat pe roluri pentru securizarea endpoint-urilor API. Suportul pentru compilarea schemelor ahead-of-time permite framework-ului să ruleze în medii care interzic generarea dinamică de cod.
Optimizes data retrieval by batching multiple requests into single calls to minimize database round-trips.
graphql-go este o bibliotecă de server pentru implementarea serverelor GraphQL în Go. Oferă infrastructura de bază pentru parsarea schemei, maparea resolver-elor și execuția interogărilor. Biblioteca include un motor de subscripție care permite streaming-ul de date în timp real către clienți folosind transportul WebSocket. Dispune, de asemenea, de un tracer de execuție pentru monitorizarea și profilarea performanței interogărilor prin instrumente de telemetrie. Sistemul gestionează consumul de resurse și stabilitatea printr-un optimizator de interogări care impune restricții de adâncime și controlează concurența resolver-elor. Suportă optimizarea preluării datelor prin prefetching la nivel de câmp pentru a reduce cererile repetitive către baza de date și utilizează un mecanism de transformare a panic-urilor în erori pentru a menține stabilitatea serverului.
Analyzes child fields and arguments to prefetch data and eliminate repetitive database requests.
graphql-go este o bibliotecă GraphQL „schema-first” și o implementare de server pentru Go. Oferă un motor de execuție a interogărilor și un parser de schemă care convertește șirurile de definire a schemei în structuri executabile și validează semnăturile resolver-elor. Biblioteca include, de asemenea, o implementare de streaming pentru subscripții GraphQL în timp real folosind canale în cadrul resolver-elor. Proiectul se distinge prin execuția paralelă a resolver-elor pentru a reduce latența cererilor și utilizarea gestionării memoriei prin buffer-pool pentru a reduce overhead-ul garbage collector-ului. Permite crearea de instanțe de schemă clonabile dintr-un arbore de sintaxă partajat pentru a aplica configurații sau suprascrieri unice ale resolver-elor. Biblioteca acoperă domenii largi de capabilități, inclusiv gestionarea schemei cu definiții scalare personalizate și exportul de metadate, precum și securitatea prin limitări de adâncime și complexitate a interogărilor. Oferă, de asemenea, instrumente pentru preluarea eficientă a datelor prin inspecția setului de selecție pentru a preveni interogările N+1, precum și observabilitate prin trasarea execuției și gestionarea panic-urilor în resolver-e.
Implements prefetching and batching strategies by inspecting requested fields to minimize database round-trips.