20 repositorios
Strategies for reducing latency and round trips, such as response merging and caching.
Distinct from API Response Caching: Broader than just caching; includes the strategy of aggregating multiple responses to optimize client-server communication.
Explore 20 awesome GitHub repositories matching data & databases · API Response Optimizations. Refine with filters or upvote what's useful.
This project provides a comprehensive framework of standards and conventions for designing consistent, predictable, and maintainable web services. It establishes a resource-oriented architecture that utilizes uniform HTTP methods and status codes to structure communication across distributed software systems. The guide emphasizes a standardized approach to API evolution and data management, focusing on techniques such as header-based versioning to maintain backward compatibility and range-header pagination to handle large datasets. It also defines patterns for structured error representation
Reduces network latency and payload sizes using efficient data retrieval strategies like pagination and caching.
Ocelot is a .NET API gateway that functions as an HTTP reverse proxy to route, balance, and secure traffic between clients and backend services. It serves as a centralized manager for incoming requests, providing a single entry point for traffic orchestration. The project differentiates itself through dynamic request orchestration, allowing it to aggregate multiple backend service responses into a single result to minimize client network round trips. It also supports dynamic gateway configuration, enabling updates to system behavior and operational parameters without requiring a service resta
Reduces client round trips by merging multiple backend responses and caching data to lower latency.
GPTCache is a semantic caching layer and response optimizer for large language models. It functions as pluggable middleware for orchestration frameworks, utilizing vector database caching to store and retrieve model responses based on the semantic similarity of prompts rather than exact text matches. The system uses embeddings to determine cache hits by comparing the distance between new queries and stored vectors. It employs a hybrid storage model that persists original prompts in relational databases while maintaining high-dimensional embeddings in vector stores. The project covers a broad
Optimizes API performance and costs by reusing cached responses for semantically similar queries.
Jeesite is a full-stack low-code development framework designed for building enterprise administrative portals using Spring Boot, MyBatis, and Vue. It functions as a comprehensive platform for creating administrative dashboards with integrated role-based access control and organizational data permission systems. The framework distinguishes itself through a combination of automated CRUD code generation and an integrated RAG platform that connects large language models to enterprise data via vector stores. It further incorporates a BPMN-based workflow engine to automate complex business process
Restricts returned API data fields using views to optimize payload size and network traffic for high-concurrency clients.
Sui is a blockchain platform featuring an object-centric state model and resource-oriented smart contracts. It utilizes parallel transaction execution to increase network throughput and supports programmable transaction blocks that bundle multiple operations into single atomic units. The platform distinguishes itself with a capability-based access control system and zero-knowledge login mechanisms, enabling users to authenticate via identity providers without seed phrases. It also implements deterministic object addressing to allow predictable state lookups and supports the creation of soulbo
Provides field masks to allow clients to request only specific data subsets, reducing network payload.
This project is a MongoDB database driver and object-relational mapper that brings MongoDB support to the Laravel Eloquent model and query builder. It provides a NoSQL model mapper that allows MongoDB collections to be mapped to object-oriented models using the Active Record pattern. The integration enables the use of a fluent query builder for constructing queries and aggregation pipelines without writing raw database syntax. It supports schema-less model integration, allowing applications to manage unstructured data while maintaining compatibility with standard object-oriented patterns. Th
Optimizes data transfer by restricting the specific fields returned from MongoDB queries.
Hazelcast is a distributed data platform that combines an in-memory data grid with a stream processing engine to support real-time analytics and event-driven applications. It functions as a partitioned, distributed key-value store that replicates data across cluster nodes to provide low-latency access and high availability. The platform also serves as a distributed SQL query engine, allowing users to execute standard SQL statements against both in-memory datasets and external data sources. What distinguishes Hazelcast is its use of a distributed consensus subsystem to maintain strongly consis
Provides query field projections to restrict returned data and optimize network performance.
Active Model Serializers es un serializador JSON de Ruby on Rails utilizado para transformar objetos de modelo y asociaciones en respuestas JSON estructuradas para APIs. Funciona como un mapeador de modelo a JSON y formateador de respuestas que desacopla los esquemas de base de datos internos de los contratos de API externos. El proyecto utiliza un patrón de adaptador conectable para organizar los datos serializados de acuerdo con estándares específicos, como la especificación JSON API. Proporciona un mecanismo para mapear atributos internos a claves JSON personalizadas e implementa un ámbito de serialización que permite el filtrado de atributos y asociaciones basado en el contexto de autorización y permisos de usuario. El conjunto de herramientas cubre la transformación de datos mediante el uso de atributos virtuales y la gestión de datos asociados mediante sideloading o incrustación de ID. Incluye capacidades para la inyección de metadatos de respuesta, caché de resultados basado en fragmentos e instrumentación de rendimiento para rastrear métricas de serialización.
Reduces server load by caching serialized JSON data and monitoring conversion metrics.
fast_jsonapi es un serializador de objetos de Ruby diseñado para transformar objetos de datos de backend complejos en representaciones JSON estructuradas. Implementa específicamente el formato JSON:API para garantizar un intercambio de datos coherente entre servidores y clientes. La biblioteca funciona como un generador de documentos compuestos, permitiendo que los recursos relacionados se incrusten dentro de una única respuesta para minimizar las solicitudes de red. Utiliza una definición de esquema basada en clases para desacoplar los modelos de base de datos internos de la representación de la API pública. El proyecto incluye una herramienta de línea de comandos para generar boilerplate de serializador escaneando esquemas de base de datos. El rendimiento se gestiona mediante caché de salida basada en claves y herramientas de instrumentación que rastrean la latencia de ejecución de los procesos de serialización y codificación.
Optimizes API response times through strategic serialization caching and performance monitoring.
awslogs es una interfaz de línea de comandos y utilidad basada en terminal para consultar, filtrar y transmitir eventos de registro desde AWS CloudWatch. Funciona como una herramienta de gestión de registros y visor nativo de la nube para navegar por grupos y flujos de registros. La herramienta proporciona capacidades para el monitoreo de registros en tiempo real y la extracción de campos específicos de registros con formato JSON para simplificar la revisión de datos. Permite el aislamiento de problemas del sistema mediante el uso de desplazamientos de tiempo, expresiones regulares y patrones de filtro personalizados. La utilidad cubre la recuperación de eventos de registro y el listado de grupos y flujos de registros disponibles. Admite la restricción de la recuperación de datos mediante el filtrado de ventanas de tiempo y la reducción del volumen de datos mediante el filtrado basado en patrones.
Extracts and displays only the specific key-value pairs requested from structured JSON log entries.
Querydsl es un framework para la construcción de consultas con seguridad de tipos (type-safe). Utiliza una API fluida y generación de código basada en anotaciones para crear clases espejo a partir de modelos de dominio, permitiendo la validación en tiempo de compilación de consultas de base de datos y eliminando la necesidad de concatenación manual de cadenas. El proyecto proporciona una sintaxis de consulta unificada que se traduce en dialectos específicos para múltiples backends, incluyendo SQL, MongoDB, Lucene y JDO. Admite capacidades de consulta avanzadas como expresiones de tabla comunes, funciones de ventana, operaciones geoespaciales y subconsultas anidadas complejas. Más allá de la recuperación de datos, el framework cubre la ejecución de DML con seguridad de tipos para actualizaciones y eliminaciones masivas, así como el mapeo de resultados en Java Beans, constructores o tuplas. Incluye soporte para consultas de colecciones en memoria y se integra con el Spring Framework para la gestión de transacciones y el manejo de conexiones.
Restricts the fields returned by a database query to minimize data transfer and improve performance.
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.
Analyzes requested fields to optimize database projections and prevent over-fetching of data.
UltraJSON is a high-performance JSON library and parser written in C with bindings for Python. It provides a fast alternative to standard JSON processing for decoding JSON strings into native data structures and encoding data structures back into JSON strings. The library utilizes a C-based engine to reduce processing latency and increase throughput for JSON generation and parsing. It is designed to accelerate data pipelines and optimize the handling of JSON payloads.
Reduces the time spent encoding and decoding JSON payloads to improve API throughput.
Kinto es un backend de estado en la nube diseñado para almacenar y sincronizar datos JSON entre múltiples dispositivos. Proporciona un servicio centralizado para gestionar registros JSON sin esquema, organizados en buckets y colecciones, asegurando un estado consistente a través de una API REST. El sistema admite el intercambio colaborativo de datos otorgando acceso de lectura y escritura a documentos o colecciones específicas mediante grupos de usuarios y permisos. Permite la sincronización de documentos mediante el seguimiento de feeds de cambios y marcadores de eliminación para actualizar a los clientes con el estado más reciente. Sus capacidades incluyen control de acceso detallado, cumplimiento de esquemas JSON para la consistencia de datos y bloqueo optimista para evitar conflictos de escritura concurrentes. El servicio también proporciona notificaciones en tiempo real al cliente, actualizaciones parciales de documentos y soporte para backends de almacenamiento conectables como PostgreSQL. El proyecto incluye un servidor de desarrollo local y una interfaz web administrativa para la configuración.
Implements field masking to limit the attributes returned in API responses and minimize data transfer.
Este es un SDK de Backend-as-a-Service para React Native, que proporciona una librería para integrar aplicaciones móviles con servicios backend. Sirve como cliente para gestionar la autenticación de usuarios, bases de datos en la nube y almacenamiento de archivos remotos dentro de un entorno móvil. El SDK permite a los desarrolladores móviles implementar flujos de inicio de sesión seguros utilizando OAuth, correo electrónico y verificación telefónica. Incluye un cliente de base de datos para realizar operaciones CRUD en datos estructurados y un cliente de almacenamiento para subir y recuperar activos binarios de buckets de nube remotos. Además, cuenta con una interfaz basada en WebSocket para recibir actualizaciones instantáneas del lado del servidor sobre cambios en la base de datos y el almacenamiento. El proyecto cubre áreas de capacidad amplias, incluyendo gestión de identidad y acceso, almacenamiento de documentos estructurados y sincronización de datos en tiempo real. También proporciona utilidades para gestionar membresías de equipo y preferencias compartidas.
Allows specifying exact fields to return in queries to optimize bandwidth usage via field projections.
coq_nvim is an asynchronous code completion engine for Neovim. It aggregates suggestions from multiple sources, including language servers, tag files, and local buffers, to provide non-blocking code completion. The engine distinguishes itself through a typo-resistant fuzzy completion filter and a two-stage weighted ranking system that prioritizes candidates based on recency and proximity. It utilizes an embedded SQLite database for local caching and background symbol indexing to accelerate lookups without freezing the editor interface. The project also includes a system for defining and expa
Balances fast and slow completion sources by waiting for slower providers only if no other results are available.
This project is a Java microservices reference implementation that demonstrates the application of structural design patterns for distributed systems. It consists of a suite of containerized services and infrastructure dependencies designed to showcase how to coordinate multiple independent services into a functional system. The implementation focuses on several advanced architectural patterns, including a centralized API gateway for routing and aggregating responses, Command Query Responsibility Segregation to separate read and write operations, and event sourcing to persist the state of bus
Optimizes API responses by aggregating data from multiple downstream services to reduce client round-trips.
fast-json-stringify is a high-performance JSON serialization library that uses JSON Schema to compile optimized functions for converting JavaScript objects into strings. It serves as a schema-based JSON serializer that generates specialized serialization logic to outperform standard stringification methods. The project provides capabilities to export standalone serialization code to files for direct execution and supports schema reference resolution to eliminate logic duplication. It allows for the deactivation of character escaping for trusted data to reduce overhead and includes specific op
Reduces server response latency by pre-compiling serialization logic into optimized functions.
dnsproxy is an encrypted DNS proxy and traffic router that translates and forwards DNS requests between clients and upstream resolvers. It functions as a server for multiple secure protocols, including DNS-over-HTTPS, DNS-over-TLS, DNS-over-QUIC, and DNSCrypt, to protect queries from eavesdropping and tampering. The project differentiates itself through advanced routing and optimization capabilities. It utilizes a domain-based routing engine to direct queries to specific upstream servers via wildcard rules and employs parallel querying to return responses from the fastest responding network a
Identifies the fastest responding IP address from multiple upstream servers to optimize response latency.
hl is a set of command-line interface tools for filtering, aggregating, streaming, and visualizing structured log data across multiple sources. It functions as a log filter, file aggregator, real-time streamer, and structured log viewer. The project specializes in transforming JSON and logfmt data into human-readable formats for visual analysis. It enables the merging of multiple log files and compressed archives into a single chronologically sorted stream, while supporting live tracking of multiple sources into a unified real-time view. Capabilities include field-based filtering via key-val
Provides configurable whitelists and blacklists to determine which keys from structured log entries are visible.