Skip to content
0:00 / 0:00

#datomic#clojure#nubank

Lucas Cavalcanti & Edward Wible - Exploring four hidden superpowers of Datomic

ClojureTV

111K subscribers • 136 videos on Hallway

YouTube
  • Recommended by 1 person: 1 on Hacker News.
  • Presented by Lucas Cavalcanti and Edward Wible, software engineers at Nubank

Intermediate. Assumes working knowledge.

28K views11 years ago1 recommendation

Databases and dataSoftware designDatabase internalsSoftware architectureFunctional programming

Lucas Cavalcanti and Edward Wible explain how Datomic's immutable transaction log elegantly solves HTTP caching, audit trails, mobile sync, and authorization.

This session will explore four common problems, and the unique and surprising tools Datomic provides to solve them elegantly: HTTP caching - How to generically generate and validate Last-Modified and If-Modified-Since headers Audit trail - how to extend Datomic’s immutable transaction log to include arbitrary audit related metadata Mobile database sync - trivial implementation of an incremental update API for high latency/low bandwidth clients Authorization - easily determine resource ownership, and centrally isolate users from data they are not allowed to see These problems have certainly been solved before using other databases, but Datomic provides features that make the proposed implementations concise, generic, and purely functional. Lucas Cavalcanti is the Lead Software Engineer of Nubank, an early stage Brazilian Internet bank built as a service oriented architecture leveraging Clojure and Datomic. Lucas is a functional programming enthusiast, and proponent of best practices in software development, with a vast experience in real production applications written in Java, Scala, Ruby and now Clojure. He holds a BS in Computer Science from the University of Sao Paulo. `Edward Wible is the CTO of Nubank, an early stage Brazilian Internet bank built as a service oriented architecture leveraging Clojure and Datomic. Prior to co-founding Nubank, Edward worked in technology-focused private equity (Francisco Partners) and management consulting (The Boston Consulting Group). He holds an AB in Computer Science from Princeton University and an MBA from INSEAD.

Why it's here

1 person recommends this

What people say. Recommended as a great case study of building a bank with Datomic and leveraging its temporal database capabilities.

sgroveon Hacker News • Recommends

On “Om Next – David Nolen [video]”

It's worthwhile watching Nubank's talk on how they manage these things with Datomic on the backend 0 - providing a "complete" (filtered) database to the client, http caches for queries based on tx-time, and syncing mobiles data via transactions-since. Takes care of said concerns nicely - I'm just implementing this stuff today however, so I'm not sure how well it'll work in practice. 0 - link to this video

dmixon Hacker News • Mentions

On “Clojure 2014 Year in Review”

Not mentioned in the article but most interesting to me this year is how these guys are "building a bank from scratch in Brazil with Datomic and Clojure": link to this video The future looks bright for the language, especially with applications like this.

onetomon Hacker News • Mentions

On “AWS US East is experiencing high error rates on several services”

nadam said 10 seconds, not minutes. we are using the starter version combined with dynamodb in production and we found the payment structure very clear; no obfuscation whatsoever, unlike a microsoft or adobe pricing matrix ;) (it's made by the same guy who made the very open source clojure programming language, btw, and he is very much against obfuscation) anyway, it's a competitive advantage for those guys' who are building a bank on top of it in brazil ( link to this video ). we feel we can avoid writing a lot of authorization and audit log code by using datomic, maybe u can save such work too.

hardwaresoftonon Hacker News • Mentions

On “Idempotence: What is it and why should I care?”

…languages like Common Lisp (the declare form IIRC). The prevailing mood the clojure community seemed to be against static type checking and I just don't think I can jive with that anymore. Thinking this way right now Datomic wouldn't be a good fit for me pesonally but I believe that it is probably high quality paradigm. EDIT - I found the talk: link to this video 0: link…

Chyzwaron Hacker News • Mentions

On “Ask HN: What could a modern database do that PostgreSQL and MySQL can't”

…ome extent, MongoDB success can be attributed to this aspect. 4. Datomic temporal capabilities5. It is hard to maintain temporal tables in postgres. There are some use cases where you really want query in point of time. Strictly not an OLTP feature, but I can see this be usefully in many scenarios. 1 link 2 link 3 link 4 link 5 link to this video Edited: independence -> impedance…

stuarthallowayon Hacker News • Mentions

On “Jepsen: Datomic Pro 1.0.7075”

Ed Wible is a founder of Nubank and chose Datomic. He and Lucas Cavalcanti gave a talk on it at Clojure/conj 2014. link to this video