5 Repos
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 ist ein Framework für paralleles Rechnen und ein verteilter Task-Scheduler, der darauf ausgelegt ist, Python-Data-Science-Workflows von einzelnen Maschinen auf große Cluster zu skalieren. Es fungiert als Cluster-Ressourcenmanager, der die Berechnungslogik orchestriert, indem Aufgaben und deren Abhängigkeiten als gerichtete azyklische Graphen dargestellt werden. Diese Architektur ermöglicht es dem System, die Verteilung von Workloads auf verfügbare Hardware zu automatisieren und gleichzeitig komplexe Ausführungsanforderungen zu verwalten. Das Projekt zeichnet sich durch eine Lazy-Evaluation-Engine aus, die Datenoperationen verzögert, bis sie explizit angefordert werden, was eine globale Graphoptimierung und effiziente Ressourcenzuweisung ermöglicht. Es integriert speicherbewusstes Data-Spilling, um Systemabstürze bei der Verarbeitung von Datensätzen zu verhindern, die den verfügbaren Speicher überschreiten, und nutzt Task-Graph-Fusion, um Sequenzen von Operationen in einzelne Ausführungsschritte zu kombinieren, wodurch Scheduling-Overhead und Inter-Node-Kommunikation minimiert werden. Die Plattform bietet eine umfassende Oberfläche für die Datenanalyse im großen Maßstab, einschließlich Unterstützung für verteiltes maschinelles Lernen, Integration in das Hochleistungsrechnen und parallele Datenverarbeitung. Sie bietet umfangreiche Werkzeuge für das Cluster-Lebenszyklusmanagement, Performance-Profiling und die Echtzeitüberwachung der Aufgabenausführung. Benutzer können diese Umgebungen über verschiedene Infrastrukturen hinweg bereitstellen, einschließlich lokaler Hardware, Cloud-Anbietern, containerisierten Systemen und Hochleistungsrechner-Clustern.
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 ist eine hyperkonvergente Infrastruktur-Plattform, die Rechenleistung, Speicher und Netzwerk in einem einzigen System für die Verwaltung virtualisierter Umgebungen auf Bare-Metal-Servern vereint. Sie fungiert als Virtualisierungs-Management-Plattform und KVM-Hypervisor-Manager und bietet eine zentrale Schnittstelle zur Orchestrierung des gesamten Lebenszyklus virtueller Maschinen. Das Projekt zeichnet sich durch die Integration von Longhorn für verteilten Blockspeicher aus, um redundanten, softwaredefinierten Speicher bereitzustellen, sowie durch ein Bare-Metal-Provisioning-Tool für automatisierte Deployments. Dies ermöglicht die Orchestrierung der Infrastruktur über physische Server hinweg mittels PXE, iPXE und UEFI-HTTP-Booting. Zu den Funktionen der Plattform gehören die Orchestrierung virtueller Maschinen mit Live-Migration und cloud-init-Provisioning sowie Disaster Recovery für Unternehmen durch Snapshots und Remote-Backups. Zudem deckt sie die Konfiguration virtueller Netzwerke für VLANs und virtuelle IPs ab, ergänzt durch umfassende Systeminstallations-Tools für die Zuweisung von Knotenrollen und die Ausführung von Befehlen nach der Installation.
Implements software-defined storage by managing block storage volumes and physical disks for virtualized workloads.