Powrót do strony głównej

Clojure i Datomic w Nubank: 131 mln klientów

Nubank wykorzystał Clojure i Datomic do skalowania do 131 mln klientów, minimalizując mutowalną złożoność. Niemutowalne fakty zapewniają darmowy audyt i odtwarzalność. Prawo Conwaya jest zintegrowane z organizacją.

Nubank: Clojure i niemutowalne dane dla 131M klientów
Advertisement 728x90

Niezmienne grafy i Clojure: jak Nubank skalował bank do 131 milionów klientów

Nubank osiągnął 131 milionów klientów w ciągu 12 lat, wykorzystując Clojure, Datomic i niezmienne dane. Ich stos technologiczny obejmuje 4000 mikroserwisów, 72 miliardy zdarzeń Kafka dziennie i 2,5 miliarda transakcji Datomic dziennie. To rozwiązanie minimalizuje złożoność, zapewniając ślad audytowy bez dodatkowej infrastruktury.

Kontekst brazylijski i start Nubank

W Brazylii pięć banków dominowało na 84% rynku kredytowego z oprocentowaniem do 450% rocznie. 34 miliony dorosłych nie miało kont, a otwarcie zajmowało miesiące. W 2013 roku zespół Davida Veleza (Sequoia Capital), Cristiny Junqueiry (Itaú) i Edwarda Wibla (Princeton) uruchomił Nubank z kartą kredytową bez opłat przez aplikację mobilną i limitem od 10 dolarów.

Inwestycje seedowe wyniosły 2 miliony dolarów. Wzrost: 12 milionów klientów do 2019, 48 milionów do IPO w 2021, 100 milionów do 2024 i 131 milionów do 2025 (62% dorosłej populacji). Rozwój następował poprzez rekomendacje.

Google AdInline article slot

Problemy z mutowalnością w systemach bankowych

Mutowalne dane komplikują audyt: regulatorzy wymagają stanu klienta w konkretnym momencie — limit, model scoringu, dane wejściowe. Transakcje są kwestionowane bez pełnej historii. Rozwiązania ML nie są reprodukowalne po aktualizacjach.

Tradycyjne rozwiązania — tabele audytowe, triggery, wersjonowanie — dodają tysiące linii kodu bez wartości biznesowej.

Podejście niezmienne: Każda zmiana to nowy fakt z timestampem. Stan w dowolnym momencie jest wyodrębniany zapytaniem. Audyt jest bezpłatny, reprodukowalność gwarantowana.

Google AdInline article slot

Wybór Datomic i Clojure

CTO Edward Wibl kierował się "Out of the Tarpit", skupiając się na minimalizacji mutowalnego stanu. Wybrał Datomic — niezmienną bazę danych Richa Hickey'ego w formacie EAVT (Entity-Attribute-Value-Transaction).

  • Nic nie jest usuwane.
  • Każda zmiana to fakt z czasem transakcji.
  • Stan to wycinek czasowy, jak w Git.

Datomic doprowadził do Clojure: zespół porzucił OOP i RDBMS. Stos: Clojure (backend), Kafka (asynchroniczność), Datomic (dane), Flutter (mobilne), AWS/K8s (infrastruktura).

Skala w 2025: 4000 mikroserwisów, 72 miliardy zdarzeń Kafka dziennie, 2,5 miliarda transakcji Datomic dziennie, 85+ klastrów K8s, 50+ wdrożeń dziennie (master w produkcji w 30 minut).

Google AdInline article slot

Nubank nabył Cognitect (twórców Clojure/Datomic) w 2020, Hickey dołączył. Datomic open-source pod Apache 2.0 w 2023.

Filozofia Richa Hickey'ego

Rich Hickey stworzył Clojure w 2,5 roku samodzielnie. Kluczowe idee z "Simple Made Easy":

  • Simple — niesplątane, easy — znajome. Branża poświęca prostotę dla łatwości.
  • Wartości > obiekty. Czas to sekwencja faktów.
  • Tożsamość to seria stanów, fakty są niezmienne.

Konsekwencje:

  • Brak locków/muteksów, trywialna współbieżność.
  • Deterministyczne testowanie.
  • Baza danych jak Git: podróż w czasie.

Victor Oliveira: wkład Hickey'ego wykracza poza język, zmieniając podejście do oprogramowania.

Prawo Conwaya w architekturze Nubank

Prawo Conwaya (1968): systemy odzwierciedlają strukturę komunikacyjną organizacji. Trzy zespoły — trójprzejściowy kompilator; rozproszone grupy — nieporadne interfejsy.

Nubank świadomie buduje organizację pod stos: małe, międzyfunkcjonalne zespoły, jednolity stos technologiczny. To minimalizuje złożoność, skalując do 131 milionów klientów.

Co jest ważne:

  • Niezmienność eliminuje potrzebę infrastruktury audytowej, upraszczając zgodność.
  • Datomic EAVT + czas = Git dla danych bankowych.
  • Clojure + prawo Conwaya zapewniają prostotę przy 4000 serwisach.
  • Wzrost Nubank dowodzi żywotności FP dla wysokoskalowalnego fintechu.
  • Open-sourcing Datomic przyspiesza adopcję.

— Editorial Team

Advertisement 728x90

Czytaj dalej