17 dépôts
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 17 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 est un sérialiseur JSON Ruby on Rails utilisé pour transformer des objets de modèle et des associations en réponses JSON structurées pour les API. Il fonctionne comme un mapper modèle-vers-JSON et un formateur de réponse qui découple les schémas de base de données internes des contrats d'API externes. Le projet utilise un pattern d'adaptateur enfichable pour organiser les données sérialisées selon des standards spécifiques, comme la spécification JSON API. Il fournit un mécanisme pour mapper les attributs internes vers des clés JSON personnalisées et implémente une portée de sérialisation qui permet le filtrage d'attributs et d'associations basé sur le contexte d'autorisation et les permissions utilisateur. L'ensemble d'outils couvre la transformation de données via l'utilisation d'attributs virtuels et la gestion des données associées via sideloading ou embedding d'ID. Il inclut des capacités pour l'injection de métadonnées de réponse, la mise en cache de résultats basée sur des fragments et l'instrumentation de performance pour suivre les métriques de sérialisation.
Reduces server load by caching serialized JSON data and monitoring conversion metrics.
fast_jsonapi est un sérialiseur d'objets Ruby conçu pour transformer des objets de données backend complexes en représentations JSON structurées. Il implémente spécifiquement le format JSON:API pour assurer un échange de données cohérent entre serveurs et clients. La bibliothèque fonctionne comme un générateur de document composé, permettant aux ressources liées d'être intégrées au sein d'une seule réponse pour minimiser les requêtes réseau. Elle utilise une définition de schéma basée sur les classes pour découpler les modèles de base de données internes de la représentation API publique. Le projet inclut un outil en ligne de commande pour générer du boilerplate de sérialiseur en scannant les schémas de base de données. La performance est gérée par la mise en cache de sortie basée sur les clés et des outils d'instrumentation qui suivent la latence d'exécution des processus de sérialisation et d'encodage.
Optimizes API response times through strategic serialization caching and performance monitoring.
awslogs est une interface en ligne de commande et un utilitaire basé sur le terminal pour interroger, filtrer et diffuser des événements de journal depuis AWS CloudWatch. Il fonctionne comme un outil de gestion des journaux et une visionneuse cloud-native pour naviguer dans les groupes et flux de journaux. L'outil offre des capacités de surveillance des journaux en temps réel et l'extraction de champs spécifiques à partir de journaux au format JSON pour simplifier l'examen des données. Il permet l'isolation des problèmes système grâce à l'utilisation de décalages temporels, d'expressions régulières et de modèles de filtrage personnalisés. L'utilitaire couvre la récupération d'événements de journal et la liste des groupes et flux de journaux disponibles. Il prend en charge la limitation de la récupération des données via le filtrage par fenêtre temporelle et la réduction du volume de données via un filtrage basé sur des modèles.
Extracts and displays only the specific key-value pairs requested from structured JSON log entries.
Querydsl est un framework pour la construction de requêtes typées (type-safe). Il utilise une API fluide et une génération de code basée sur des annotations pour créer des classes miroir à partir de modèles de domaine, permettant la validation à la compilation des requêtes de base de données et supprimant le besoin de concaténation manuelle de chaînes. Le projet fournit une syntaxe de requête unifiée qui se traduit en dialectes spécifiques pour de multiples backends, incluant SQL, MongoDB, Lucene et JDO. Il prend en charge des capacités de requête avancées telles que les expressions de table communes (CTE), les fonctions de fenêtre, les opérations géospatiales et les sous-requêtes imbriquées complexes. Au-delà de la récupération de données, le framework couvre l'exécution DML typée pour les mises à jour et suppressions en masse, ainsi que le mappage de résultats dans des Java Beans, des constructeurs ou des tuples. Il inclut le support pour l'interrogation de collections en mémoire et s'intègre avec le framework Spring pour la gestion des transactions et la gestion des connexions.
Restricts the fields returned by a database query to minimize data transfer and improve performance.
graphql-go est une bibliothèque GraphQL schema-first et une implémentation serveur pour Go. Elle fournit un moteur d'exécution de requêtes et un parseur de schéma qui convertit les chaînes de définition de schéma en structures exécutables et valide les signatures des résolveurs. La bibliothèque inclut également une implémentation de streaming pour les souscriptions GraphQL en temps réel utilisant des channels au sein des résolveurs. Le projet se distingue par l'exécution parallèle des résolveurs pour réduire la latence des requêtes et l'utilisation de la gestion mémoire buffer-pool pour réduire la surcharge du garbage collector. Elle permet la création d'instances de schéma clonables à partir d'un arbre de syntaxe partagé pour appliquer des configurations de résolveurs uniques ou des surcharges. La bibliothèque couvre de larges domaines de capacités incluant la gestion de schéma avec des définitions de scalaires personnalisées et l'export de métadonnées, et la sécurité via des limitations de profondeur et de complexité de requête. Elle fournit également des outils pour une récupération efficace des données via l'inspection des jeux de sélection pour prévenir les requêtes N+1, ainsi qu'une observabilité via le traçage d'exécution et la gestion des panics des résolveurs.
Analyzes requested fields to optimize database projections and prevent over-fetching of data.
UltraJSON est une bibliothèque JSON haute performance et un parser écrit en C avec des bindings pour Python. Il fournit une alternative rapide au traitement JSON standard pour décoder des chaînes JSON en structures de données natives et encoder des structures de données en chaînes JSON. La bibliothèque utilise un moteur basé sur C pour réduire la latence de traitement et augmenter le débit pour la génération et le parsing JSON. Elle est conçue pour accélérer les pipelines de données et optimiser la manipulation des charges utiles JSON.
Reduces the time spent encoding and decoding JSON payloads to improve API throughput.
Kinto est un backend d'état cloud conçu pour stocker et synchroniser des données JSON sur plusieurs appareils. Il fournit un service centralisé pour gérer des enregistrements JSON sans schéma, organisés en buckets et collections, assurant un état cohérent via une API REST. Le système prend en charge le partage de données collaboratif en accordant des droits de lecture et d'écriture sur des documents ou collections spécifiques via des groupes d'utilisateurs et des permissions. Il permet la synchronisation de documents grâce au suivi des flux de modifications et aux marqueurs de suppression pour mettre à jour les clients avec l'état le plus récent. Les capacités incluent un contrôle d'accès granulaire, l'application de schémas JSON pour la cohérence des données, et le verrouillage optimiste pour éviter les conflits d'écriture concurrents. Le service fournit également des notifications client en temps réel, des mises à jour partielles de documents et la prise en charge de backends de stockage enfichables comme PostgreSQL. Le projet inclut un serveur de développement local et une interface web d'administration pour la configuration.
Implements field masking to limit the attributes returned in API responses and minimize data transfer.
Ceci est un SDK Backend-as-a-Service pour React Native, fournissant une bibliothèque pour intégrer les applications mobiles avec des services backend. Il sert de client pour gérer l'authentification des utilisateurs, les bases de données cloud et le stockage de fichiers distant au sein d'un environnement mobile. Le SDK permet aux développeurs mobiles d'implémenter des flux de connexion sécurisés en utilisant OAuth, l'e-mail et la vérification par téléphone. Il inclut un client de base de données pour effectuer des opérations CRUD sur des données structurées et un client de stockage pour télécharger et récupérer des assets binaires depuis des buckets cloud distants. De plus, il dispose d'une interface basée sur WebSocket pour recevoir des mises à jour instantanées côté serveur sur les changements de base de données et de stockage. Le projet couvre de larges domaines de capacités, incluant la gestion des identités et des accès, le stockage de documents structurés et la synchronisation de données en temps réel. Il fournit également des utilitaires pour gérer les adhésions aux équipes et les préférences partagées.
Allows specifying exact fields to return in queries to optimize bandwidth usage via field projections.
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.