6 dépôts
Architectural patterns for separating domain logic from persistence layers, such as repositories and data mappers.
Distinguishing note: None available; no candidates provided.
Explore 6 awesome GitHub repositories matching data & databases · Data Access Patterns. Refine with filters or upvote what's useful.
This project is a collection of reference implementations demonstrating recommended patterns for organizing code and managing data flow in Android applications. It provides structural examples of layered architecture, separating code into presentation, domain, and data layers to decouple business logic from data sources. The repository includes specific samples for implementing declarative user interfaces that automatically update their visual state based on underlying data changes. It further demonstrates how to manage object lifetimes and component dependencies to reduce boilerplate and sim
Employs the repository pattern to separate domain logic from persistence layers for local and remote data.
TypeORM is an object-relational mapper for TypeScript and JavaScript that bridges the gap between object-oriented application code and relational database tables. It provides a comprehensive data persistence layer that allows developers to define database entities using class decorators or configuration objects, enabling seamless interaction with data through object-oriented patterns. The project distinguishes itself through a flexible architecture that supports both the data mapper and repository patterns, alongside a fluent query builder that translates high-level method calls into platform
Separates data access logic from domain models by using dedicated repository classes to handle persistence operations.
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
Tracks access, write, and update statistics for distributed data structures to provide visibility into usage patterns.
This project is a reference implementation of Domain-Driven Design, Clean Architecture, and Command Query Responsibility Segregation (CQRS) patterns using the Go programming language. It serves as a sample application to demonstrate how to decouple core domain rules from infrastructure and delivery mechanisms. The system is built as a gRPC microservices architecture, utilizing type-safe communication and service contracts. It implements an event-driven architecture to manage eventual consistency and asynchronous processing, specifically employing the Outbox pattern to ensure reliable messagin
Employs the repository pattern to separate business logic from persistence details and simplify testing.
SynapseML est une bibliothèque de machine learning Apache Spark conçue pour construire et mettre à l'échelle des workflows de machine learning et des pipelines de données à travers des clusters distribués. Elle sert de framework de pipeline de machine learning distribué et de moteur d'inférence distribué pour exécuter des prédictions accélérées par le matériel et des tâches de deep learning sur des jeux de données à grande échelle. Le projet fonctionne comme une couche d'intégration d'IA cloud, permettant aux utilisateurs d'appliquer des services d'intelligence artificielle pré-entraînés pour le texte, la vision et la parole au sein de pipelines distribués. Il inclut également une suite dédiée d'outils pour la détection distribuée d'anomalies afin d'identifier les valeurs aberrantes multivariées et de séries temporelles à travers des données de haute dimension. La bibliothèque couvre un large éventail de capacités, incluant la vision par ordinateur distribuée pour l'analyse de visages et d'images, le traitement du langage naturel évolutif pour l'analyse et la traduction de texte, et l'entraînement d'arbres de décision à gradient boosté. Elle fournit des outils pour la recherche de similarité via la modélisation k-plus proches voisins, l'explicabilité des modèles via l'attribution de caractéristiques, et l'orchestration de workflows d'apprentissage par renforcement. Le système utilise une architecture de pipeline composable et prend en charge l'inférence de modèle basée sur ONNX pour une compatibilité multiplateforme.
Generates datasets of possible access patterns to help identify behavioral anomalies.
Asterinas est un noyau de système d'exploitation sécurisé en mémoire conçu pour prévenir les data races et la corruption mémoire. Il fonctionne comme un noyau compatible Linux-ABI, permettant l'exécution de binaires Linux existants et de charges de travail conteneurisées tout en offrant un modèle de distribution de système d'exploitation déclaratif. Le projet se distingue en agissant comme un hôte de conteneurs pour machines virtuelles et un OS invité pour le confidential computing, lui permettant de s'exécuter au sein d'environnements d'exécution isolés matériellement comme Intel TDX. Il implémente une base de calcul de confiance minimale en isolant les opérations dangereuses de bas niveau et sépare les mécanismes fondamentaux du noyau des implémentations de politiques spécifiques. Le système couvre un large éventail de capacités, incluant la gestion de la mémoire physique et virtuelle, le multi-processing symétrique et l'abstraction matérielle pour diverses architectures CPU. Il inclut également le support pour les runtimes de conteneurs sécurisés, un ensemble complet de primitives réseau et socket, ainsi qu'une toolchain spécialisée pour la compilation et l'émulation du noyau. Le projet prend en charge le déploiement multi-architecture sur les plateformes x86-64, RISC-V 64 et LoongArch 64.
Optimizes disk I/O performance by allowing applications to provide hints about intended data access patterns.