up for mobile — Used in apps with hundreds of millions of users — NoSQL (as in, no SQL) — Fully ACID transactions — Well-defined threading model — Cross-platform C++ core with many language bindings (currently Objective-C, Swift, & Android)
atomic unit? — How do you interact with your data? — What's implicit? What's explicit? — What do you optimize for? — Performance — Code — Safety — Concurrency
needs default for schema initialization dynamic var pageCount: Int = 0 dynamic var author: Author? override class func primaryKey() -> String { return "name" } } let realm = Realm() let books = realm.objects(Book).filter("pageCount > 50").sort("name") let book = Book(value: ["name" : "The Name of the Wind"]) book.author = books.filter("name = %@", "The Wise Man's Fear").first?.author book.pageCount = 994 realm.write { realm.add(book) realm.create(Book.self, book, update: true) }