Zurück zur Startseite

Clojure und Datomic bei Nubank: 131 Millionen Kunden

Nubank hat Clojure und Datomic verwendet, um auf 131 Millionen Kunden zu skalieren und veränderliche Komplexität zu minimieren. Unveränderliche Fakten bieten kostenlosen Audit und Reproduzierbarkeit. Conway's law ist in die Organisation integriert.

Nubank: Clojure und unveränderliche Daten für 131M Kunden
Advertisement 728x90

Unveränderliche Graphen und Clojure: Wie Nubank auf 131 Millionen Kunden skalierte

Nubank erreichte in nur 12 Jahren 131 Millionen Kunden mit Clojure, Datomic und unveränderlichen Daten. Ihr Stack bewältigt 4.000 Mikroservices, 72 Milliarden tägliche Kafka-Events und 2,5 Milliarden Datomic-Transaktionen. Dieser Ansatz reduziert die Komplexität und liefert integrierte Audit-Trails – ohne zusätzliche Infrastruktur.

Die Bankenlandschaft in Brasilien und Nubanks Start

Die brasilianische Bankenlandschaft wurde von fünf großen Playern dominiert, die 84 % des Kreditmarkts kontrollierten, mit Zinsen bis zu 450 % pro Jahr. Rund 34 Millionen Erwachsene hatten kein Bankkonto, und ein Konto zu eröffnen konnte Monate dauern. 2013 startete ein Team unter Führung von David Vélez (Sequoia Capital), Cristina Junqueira (Itaú) und Edward Wible (Princeton) Nubank mit einer gebührenfreien Kreditkarte über eine Mobile-App – mit Limits ab gerade mal 10 Dollar.

Seed-Finanzierung: 2 Millionen Dollar. Es folgte explosives Wachstum: 12 Millionen Kunden bis 2019, 48 Millionen beim IPO 2021, 100 Millionen bis 2024 und 131 Millionen bis 2025 (das deckt 62 % der erwachsenen Bevölkerung Brasiliens ab). Erfolg durch Mund-zu-Mund-Propaganda.

Google AdInline article slot

Die Fallstricke veränderlicher Daten in Banksystemen

Veränderliche Daten machen Auditing zum Albtraum: Regulierungsbehörden fordern den exakten Zustand eines Kunden zu jedem Zeitpunkt – Kreditlimit, Scoring-Modell, Eingabedaten. Streitigkeiten entstehen ohne vollständige Historie. Machine-Learning-Modelle sind nach Updates nicht mehr reproduzierbar.

Traditionelle Lösungen wie Audit-Tabellen, Trigger und Versionierung häufen Tausende Zeilen Code an – ohne jeden Geschäftswert.

Der unveränderliche Ansatz: Jede Änderung ist ein neues Faktum mit Zeitstempel. Den Zustand zu jedem Zeitpunkt abfragen. Auditing ist kostenlos, Reproduzierbarkeit garantiert.

Google AdInline article slot

Warum Datomic und Clojure

CTO Edward Wible ließ sich von Out of the Tarpit leiten und priorisierte minimalen veränderlichen Zustand. Er wählte Datomic – eine unveränderliche Datenbank von Rich Hickey im EAVT-Format (Entity-Attribute-Value-Transaction).

  • Nichts wird gelöscht.
  • Jede Änderung ist ein zeitgestempeltes Faktum.
  • Zustand ist ein Zeit-Schnitt, genau wie in Git.

Datomic führte zu Clojure: Das Team verabschiedete sich von OOP und RDBMS. Tech-Stack: Clojure (Backend), Kafka (asynchron), Datomic (Daten), Flutter (Mobile), AWS/K8s (Infra).

Skalierung 2025: 4.000 Mikroservices, 72 Milliarden Kafka-Events/Tag, 2,5 Milliarden Datomic-Transaktionen/Tag, über 85 K8s-Cluster, über 50 Deploys/Tag (Master nach Prod in 30 Minuten).

Google AdInline article slot

Nubank übernahm 2020 Cognitect (Clojure/Datomic-Erfinder); Hickey stieß dazu. Datomic wurde 2023 vollständig Open-Source unter Apache 2.0.

Rich Hickeys Philosophie

Rich Hickey baute Clojure in 2,5 Jahren allein. Kernideen aus Simple Made Easy:

  • Simple bedeutet unverknotet; easy bedeutet vertraut. Die Branche tauscht Einfachheit gegen Bequemlichkeit ein.
  • Werte vor Objekten. Zeit ist eine Abfolge von Fakten.
  • Identität ist eine Reihe von Zuständen; Fakten sind unveränderlich.

Folgen:

  • Keine Locks/Mutexes, triviale Parallelität.
  • Deterministische Tests.
  • Datenbanken wie Git: Zeitreise integriert.

Victor Oliveira betont: Hickeys Einfluss geht über die Sprache hinaus und verändert das Software-Design.

Conways Gesetz in Nubanks Architektur

Conways Gesetz (1968): Systeme spiegeln die Kommunikationsstruktur der Organisation wider. Drei Teams bauen einen Drei-Pass-Compiler; isolierte Gruppen erzeugen klobige Schnittstellen.

Nubank gestaltet seine Organisation bewusst um den Stack: kleine, kreuzfunktionale Teams, einheitliche Tech. So bleibt die Komplexität niedrig bei Skalierung auf 131 Millionen Kunden.

Wichtige Erkenntnisse:

  • Unveränderlichkeit eliminiert Audit-Infrastruktur und vereinfacht Compliance.
  • Datomic’s EAVT + Zeit = Git für Bankdaten.
  • Clojure + Conways Gesetz sorgen für Einfachheit über 4.000 Services.
  • Nubanks Wachstum beweist: Funktionale Programmierung funktioniert bei High-Scale-Fintech.
  • Open-Sourcing von Datomic fördert die Adoption.

— Editorial Team

Advertisement 728x90

Weiterlesen