Moderne Datenworkflows stehen vor immer größeren Herausforderungen, da Datensätze stetig wachsen und die Komplexität der verteilten Verarbeitung zunimmt. Viele Organisationen stellen fest, dass herkömmliche Datenverarbeitungssysteme in Bezug auf Verarbeitungszeit, Speicherbeschränkungen und die Verwaltung verteilter Aufgaben erhebliche Schwächen aufweisen. Vor diesem Hintergrund müssen Datenwissenschaftler und Ingenieure oft viel Zeit für die Systemwartung aufwenden, anstatt wertvolle Erkenntnisse aus den Daten zu gewinnen. Offensichtlich besteht ein dringender Bedarf am Markt nach einem Tool, das die Prozesse vereinfacht, ohne dabei die Leistung zu beeinträchtigen.
Kürzlich hat DeepSeek AI Smallpond veröffentlicht, ein leichtgewichtiges Datenverarbeitungsframework, das auf DuckDB und 3FS basiert. Smallpond zielt darauf ab, die effiziente SQL-Analyse von DuckDB im Prozess auf verteilte Umgebungen zu erweitern. Durch die Kombination mit 3FS – einem hochperformanten verteilten Dateisystem, das für moderne SSDs und RDMA-Netzwerke optimiert ist – bietet Smallpond eine praktikable Lösung für die Verarbeitung großer Datensätze und vermeidet die Komplexität und die hohen Infrastrukturkosten lang laufender Dienste.
Das Smallpond-Framework ist einfach und modular aufgebaut und mit Python 3.8 bis 3.12 kompatibel. Benutzer können es über pip schnell installieren und sofort mit der Datenverarbeitung beginnen. Ein Highlight des Frameworks ist die Unterstützung der manuellen Datenpartitionierung. Benutzer können die Partitionierung nach der Anzahl der Dateien, der Anzahl der Zeilen oder dem Hash-Wert einer bestimmten Spalte vornehmen. Diese Flexibilität ermöglicht es den Benutzern, die Verarbeitung an ihre Daten und Infrastruktur anzupassen.
Auf technischer Ebene nutzt Smallpond die native SQL-Abfrageleistung von DuckDB und integriert sich mit Ray, um die parallele Verarbeitung von verteilten Rechenknoten zu ermöglichen. Diese Kombination vereinfacht nicht nur die Skalierung, sondern sorgt auch für eine effiziente Verarbeitung der Workloads über mehrere Knoten hinweg. Darüber hinaus reduziert Smallpond durch Vermeidung persistenter Dienste die Betriebsaufwände, die üblicherweise mit verteilten Systemen verbunden sind.
In Leistungstests hat Smallpond im GraySort-Benchmark hervorragende Ergebnisse erzielt und 110,5 TiB Daten in etwas mehr als 30 Minuten sortiert, mit einem durchschnittlichen Durchsatz von 3,66 TiB pro Minute. Diese Leistungsindikatoren zeigen, dass Smallpond die Anforderungen von Organisationen erfüllt, die Datenmengen von mehreren Terabyte bis zu Petabyte verarbeiten müssen. Als Open-Source-Projekt begrüßt Smallpond auch die Mitarbeit von Benutzern und Entwicklern, um weitere Optimierungen und Anpassungen an verschiedene Anwendungsszenarien zu ermöglichen.
Smallpond ist ein wichtiger Schritt in der verteilten Datenverarbeitung. Durch die Erweiterung der Effizienz von DuckDB auf verteilte Umgebungen und die Kombination mit der hohen Durchsatzleistung von 3FS bietet es Datenwissenschaftlern und Ingenieuren ein praktisches Werkzeug. Egal ob es sich um die Verarbeitung kleiner Datensätze oder die Skalierung auf Petabyte-Operationen handelt, Smallpond ist ein effizientes und einfach zu integrierendes Framework.
Projekt: https://github.com/deepseek-ai/smallpond?tab=readme-ov-file
Wichtigste Punkte:
🌟 Smallpond ist ein leichtgewichtiges Datenverarbeitungsframework von DeepSeek AI, das auf DuckDB und 3FS basiert.
⚙️ Unterstützt Python 3.8 bis 3.12, schnelle Installation und flexible Anpassung der Datenverarbeitung.
🚀 Im GraySort-Benchmark zeigte Smallpond seine Fähigkeit zur Verarbeitung von Terabyte-Daten mit sehr hoher Leistung.