| Realm is not a relational database, but an Object database. This means that we totally avoid the impedance mismatch when you try to map Java references to tables. In Realm, relationships are first-class citizens. This is also one of the reasons that we can provide lazy-loading for everything. With ORM's the API might look the same on the surface, but you usually run into problems when trying to access foreign collections. API wise we try to stay as close to normal Java as possible, which is probably why it looks similar to what Hibernate offers. Regarding specific features. - Realm uses zero-copy as much as possible, so collections in Java point directly to the underlying data (i.e takes almost no space on the Java heap). - Collections are live updated yes. - Deleted objects could potentially be accessed after they are deleted, but there is API methods for avoiding that. - Cascading deletes is not supported yet, but really high on our TODO and definitely a feature we want to add. |
Yeah well, literally ORM has relational in it, but you probably know what I mean.
So it behaves more like a graph store? - Can I query bottom up / through collections ?
I'm really interested in the technical details and their implications.