4 repositorios
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 es un mapeador objeto-relacional para Java y una implementación completa de la Jakarta Persistence API. Funciona como una capa de abstracción de bases de datos SQL que traduce modelos de objetos Java a esquemas de bases de datos relacionales para gestionar la persistencia y el ciclo de vida de los datos. El framework se distingue por su arquitectura de aislamiento de datos multi-inquilino (multi-tenant) para separar la información de los clientes dentro de una misma instancia de base de datos. También cuenta con un generador de esquemas que produce y actualiza automáticamente estructuras relacionales basadas en mapeos de entidades. El sistema cubre áreas como la gestión de transacciones, control de concurrencia mediante bloqueos y seguimiento de datos temporales para auditoría. Proporciona herramientas para optimizar la obtención de datos mediante estrategias de grafos de entidades y admite tipos de datos avanzados como vectores y caracteres nacionalizados. El proyecto incluye un conjunto completo de utilidades de prueba para la capa de persistencia, incluyendo filtrado de dialectos de bases de datos y pruebas de cumplimiento de especificaciones.
Implements techniques for optimizing how related entities are retrieved to minimize database round-trips.
GraphQL.NET es un framework del lado del servidor para construir y ejecutar APIs de GraphQL dentro de aplicaciones C#. Proporciona un toolkit integral para la construcción de esquemas, un motor federado para grafos de datos distribuidos y un manejador de suscripciones para gestionar flujos de datos en tiempo real. El proyecto se distingue por un constructor de esquemas flexible que admite tanto definiciones programáticas code-first como enfoques declarativos schema-first utilizando el lenguaje de definición de esquemas estándar. Incluye un motor de federación dedicado para dividir grafos de datos en subgrafos y componerlos en una puerta de enlace unificada, así como una implementación de cargador de datos (data loader) diseñada específicamente para resolver el problema de consultas N+1 mediante procesamiento por lotes y caché. El framework cubre una amplia gama de capacidades operativas, incluyendo la integración de inyección de dependencias para la gestión del ciclo de vida de los servicios, pipelines de middleware para la interceptación de resolución de campos y un pipeline de ejecución optimizado con tipos de valor para reducir las asignaciones de memoria. También proporciona herramientas para el análisis de complejidad de consultas, caché de documentos y control de acceso basado en roles para asegurar los endpoints de la API. La compatibilidad con la compilación de esquemas ahead-of-time permite que el framework se ejecute en entornos que prohíben la generación dinámica de código.
Optimizes data retrieval by batching multiple requests into single calls to minimize database round-trips.
graphql-go es una biblioteca de servidor para implementar servidores GraphQL en Go. Proporciona la infraestructura central para el análisis de esquemas, mapeo de resolutores y ejecución de consultas. La biblioteca incluye un motor de suscripción que permite la transmisión de datos en tiempo real a los clientes utilizando transporte WebSocket. También cuenta con un trazador de ejecución para monitorear y perfilar el rendimiento de las consultas a través de herramientas de telemetría. El sistema gestiona el consumo de recursos y la estabilidad a través de un optimizador de consultas que aplica restricciones de profundidad y controla la concurrencia de los resolutores. Admite la optimización de la obtención de datos mediante prefetching a nivel de campo para reducir las solicitudes repetitivas a la base de datos y utiliza un mecanismo de transformación de pánico a error para mantener la estabilidad del servidor.
Analyzes child fields and arguments to prefetch data and eliminate repetitive database requests.
graphql-go es una biblioteca GraphQL y servidor de implementación para Go que prioriza el esquema. Proporciona un motor de ejecución de consultas y un analizador de esquemas que convierte cadenas de definición de esquemas en estructuras ejecutables y valida las firmas de los resolutores. La biblioteca también incluye una implementación de streaming para suscripciones GraphQL en tiempo real utilizando canales dentro de los resolutores. El proyecto se distingue por la ejecución paralela de resolutores para reducir la latencia de las solicitudes y el uso de gestión de memoria de buffer-pool para reducir la sobrecarga de recolección de basura. Permite la creación de instancias de esquema clonables a partir de un árbol de sintaxis compartido para aplicar configuraciones o sobrescrituras de resolutores únicas. La biblioteca cubre amplias áreas de capacidad, incluyendo la gestión de esquemas con definiciones de escalares personalizados y exportación de metadatos, y seguridad mediante limitaciones de profundidad y complejidad de consultas. También proporciona herramientas para la obtención eficiente de datos mediante la inspección de conjuntos de selección para evitar consultas N+1, así como observabilidad mediante trazado de ejecución y manejo de pánico en resolutores.
Implements prefetching and batching strategies by inspecting requested fields to minimize database round-trips.