6 Repos
Execution engines that offload intermediate query results to disk when memory thresholds are exceeded.
Distinct from Memory-Disk Layering: Distinct from general memory-disk layering: focuses on the execution engine's stability mechanism during large-scale processing.
Explore 6 awesome GitHub repositories matching data & databases · Memory-Spilling Engines. Refine with filters or upvote what's useful.
Presto is a distributed SQL query engine designed for high-performance analytical processing across heterogeneous data sources. It functions as a data federation platform and massively parallel processing engine, allowing users to execute interactive queries against diverse storage systems without requiring data migration. By mapping remote metadata and structures to a unified relational namespace, it enables seamless cross-platform analysis through a standard SQL interface. The engine distinguishes itself through a pluggable connector architecture and a shared-nothing distributed processing
Offloads intermediate query results to disk when memory thresholds are exceeded to ensure stability during large-scale analytical processing.
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.
Monitors memory usage during computation and offloads intermediate results to disk to prevent system crashes.
Materialize is a streaming SQL database that continuously ingests live data from sources such as Kafka, Redpanda, PostgreSQL, and MySQL, and incrementally maintains materialized views. It provides a PostgreSQL-compatible query engine that accepts standard SQL over the PostgreSQL wire protocol, enabling any existing SQL client or BI tool to query real-time data. The system also includes a Model Context Protocol (MCP) server that exposes live materialized view data to AI agents, providing fresh context without polling. Materialize distinguishes itself through its ability to offer configurable c
Offloads large key-value state to disk automatically when using upsert or Debezium envelopes.
SparkInternals ist ein technisches Referenz- und Architekturhandbuch, das das interne Design und die Implementierung der verteilten Computing-Engine Apache Spark detailliert beschreibt. Es dient als Analyse von Big-Data-Engines und konzentriert sich darauf, wie das System die Cluster-Ausführung sowie das Zusammenspiel zwischen Driver-Nodes, Executors und Workern verwaltet. Das Projekt bietet eine detaillierte Aufschlüsselung, wie logische Pläne in physische Ausführungsstufen konvertiert werden. Es analysiert spezifisch die Mechanik von Data-Shuffle-Operationen, Speicherverwaltung und die Koordination der verteilten Job-Planung. Die Dokumentation deckt ein breites Spektrum an verteilten Computing-Funktionen ab, einschließlich Query-Execution-Planung, Datenabhängigkeitsmanagement und In-Memory-Caching-Strategien. Zudem werden Aufgabenverteilung, parallele Ausführung sowie Prozesse zur Fehlerwiederherstellung und Datenpersistenz untersucht.
Offloads sorted key-value pairs to local disk when internal memory limits are exceeded during shuffles.
Velox ist eine leistungsstarke C++-Abfrage-Ausführungs-Engine und eine Bibliothek für spaltenbasierte Datenverarbeitung. Sie dient als kompositionsfähiges Framework zur Implementierung analytischer Query-Engines und bietet einen vektorisierten Ausdrucksauswerter sowie ein Toolkit für Datenmanagementsysteme. Das Projekt zeichnet sich durch die Verwendung vektorisierter spaltenbasierter Ausführung und arena-basierter Speicherallokation zur Verarbeitung großer Datensätze aus. Es bietet spezialisierte Optimierungen wie Broadcast-Join-Table-Caching, Dynamic-Filter-Push-Down und Dictionary-Encoding, um den Speicher-Overhead zu reduzieren und analytische Lesezugriffe zu beschleunigen. Die Engine deckt ein breites Spektrum analytischer Funktionen ab, einschließlich der Implementierung von Hash-, Merge- und Semi-Joins sowie mehrstufiger paralleler Aggregation und der Berechnung von Fensterfunktionen. Sie bietet Primitive für spaltenbasierte In-Memory-Speicherung, Parquet-Datendekodierung und die Integration mit Cloud-Speichern. Erweiterbarkeit wird durch ein Funktionsregistrierungssystem für benutzerdefinierte Skalar- und Aggregatfunktionen geboten, wobei High-Level-Bindings verfügbar sind, um die C++-Logik mit Python zu verbinden.
Controls memory resource usage via arena allocation and spills intermediate data to disk when limits are exceeded.
Kùzu is an embedded property graph database engine designed for high-performance analytical queries and local data management. It operates as a library within the host application process, utilizing a columnar-based storage architecture and just-in-time query compilation to execute complex graph traversals and pattern matching efficiently. By mapping database files directly into system memory, it ensures data durability and high-speed access while maintaining ACID-compliant transactional integrity. The engine distinguishes itself by integrating vector similarity search and full-text search di
Offloads intermediate query results to temporary disk storage when memory limits are reached to ensure processing stability.