5 dépôts
Storage designs that decouple data management from physical hardware to enable elastic scaling.
Distinct from Data Storage Architectures: Distinct from general data storage architectures: focuses on the decoupling of management from hardware.
Explore 5 awesome GitHub repositories matching data & databases · Software-Defined Architectures. Refine with filters or upvote what's useful.
Ceph is a unified, software-defined storage platform designed to provide object, block, and file storage services from a single distributed cluster. By decoupling data management from physical hardware, it enables elastic scaling across commodity hardware, allowing organizations to build large-scale storage infrastructure without reliance on proprietary vendor equipment. The system distinguishes itself through a shared-nothing, distributed architecture that utilizes deterministic hashing for data placement. This approach eliminates centralized metadata bottlenecks, allowing the cluster to sca
Decouples data management from physical hardware to enable elastic scaling and high availability.
Dask est un framework de calcul parallèle et un planificateur de tâches distribué conçu pour mettre à l'échelle les flux de travail de science des données Python, des machines uniques aux grands clusters. Il fonctionne comme un gestionnaire de ressources de cluster qui orchestre la logique computationnelle en représentant les tâches et leurs dépendances sous forme de graphes acycliques dirigés. Cette architecture permet au système d'automatiser la distribution des charges de travail sur le matériel disponible tout en gérant des exigences d'exécution complexes. Le projet se distingue par un moteur d'évaluation paresseuse qui diffère les opérations sur les données jusqu'à ce qu'elles soient explicitement demandées, permettant une optimisation globale du graphe et une allocation efficace des ressources. Il intègre le déversement de données conscient de la mémoire pour éviter les plantages du système lors du traitement de jeux de données dépassant la mémoire disponible, et il utilise la fusion de graphes de tâches pour combiner des séquences d'opérations en étapes d'exécution uniques, minimisant la surcharge de planification et la communication entre nœuds. La plateforme fournit une surface de capacités complète pour l'analyse de données à grande échelle, incluant le support pour l'apprentissage automatique distribué, l'intégration du calcul haute performance et le traitement de données parallèle. Elle offre des outils étendus pour la gestion du cycle de vie des clusters, le profilage des performances et la surveillance en temps réel de l'exécution des tâches. Les utilisateurs peuvent déployer ces environnements sur diverses infrastructures, incluant le matériel local, les fournisseurs cloud, les systèmes conteneurisés et les clusters de calcul haute performance.
Implements specific interfaces to create user-defined data structures that integrate with the task graph execution, visualization, and persistence systems.
dbt-core is a command-line framework for transforming data within a warehouse using modular SQL and version control. It functions as a data transformation engine that enables users to define data structures and business logic through declarative configuration files, which the system then compiles into executable code. By managing complex data dependencies through a directed acyclic graph, it ensures that transformation tasks execute in the correct order while maintaining a manifest-driven state to track lineage and execution history. The project distinguishes itself through an adapter-based d
Extends the framework with user-defined logic for persisting data models in the warehouse.
This project is a collection of software engineering principles and architectural design patterns designed to minimize the mental effort required to understand and maintain source code. It serves as a guide for implementing clean code methodologies and architectural simplification to reduce the overall cognitive load on developers. The framework emphasizes aligning module boundaries and ubiquitous language with business stakeholders to prevent architectural ripple effects. It advocates for balancing service granularity to avoid the overhead of distributed monoliths and suggests favoring objec
Defines module boundaries based on the business person or user they serve to minimize side effects.
Harvester est une plateforme d'infrastructure hyperconvergée qui combine calcul, stockage et réseau au sein d'un système unique pour gérer des environnements virtualisés sur des serveurs bare metal. Elle fonctionne comme une plateforme de gestion de virtualisation et un gestionnaire d'hyperviseur KVM, offrant une interface centralisée pour orchestrer le cycle de vie complet des machines virtuelles. Le projet se distingue par l'intégration du stockage par blocs distribué Longhorn pour fournir un stockage redondant défini par logiciel, ainsi qu'un outil de provisionnement bare metal pour le déploiement automatisé. Cela permet l'orchestration de l'infrastructure sur des serveurs physiques via PXE, iPXE et le démarrage UEFI HTTP. Les capacités de la plateforme incluent l'orchestration de machines virtuelles avec migration à chaud et provisionnement cloud-init, ainsi que la reprise après sinistre en entreprise grâce aux snapshots et aux sauvegardes distantes. Elle couvre également la configuration réseau virtuelle pour les VLAN et les IP virtuelles, ainsi que des outils complets d'installation système pour l'assignation des rôles de nœuds et l'exécution de commandes post-installation.
Implements software-defined storage by managing block storage volumes and physical disks for virtualized workloads.