5 ms·
So how does the data storage part work? I literally browsed for ten minutes unable to see how the thing stores the data you give it.
by lsb 12y ago
So how does the data storage part work? I literally browsed for ten minutes unable to see how the thing stores the data you give it.
- easytiger 12y agoIts so secret they can't even get it to run on j2jre on any computer.
- Ilios 12y agoChristian from Realm here. Actually there is no technical limitation that prevents Realm running on normal java. Our current focus is just on making the best possible mobile developer experience which means that the current API is tightly coupled to the Android API. We do have plans for a pure Java API down the line though.
- Ilios 12y agoRealm uses a custom C++ core that is different from SQLite, and we published a bit about the architecture here http://realm.io/news/introducing-realm/#fast http://realm.io/news/introducing-realm/#fast. Both iOS and Android API's are just wrappers around this core.
- brmunk 12y agoHi, Brian from Realm here. Surely hard to find much info about the internals yet. We could and should absolutely share more about that in a blog post. And to be honest we have for a long time wanted to do that, but just prioritized to enhance the features and support people building apps. We will get back on that.
- lsb 12y agoCan you summarize it in a few sentences? It sounds like you've got interesting tech under the hood.
- Ilios 12y agoIt is hard to describe in a few sentences, but keywords are bit-packing, cache awareness, vectorization and a zero-copy architecture.
- brmunk 12y agoI'm not sure I can make it justice in a few words :-) But shortly: The core has been developed from the ground up in C++ over the last 3 1/2 years. Realm’s efficiency comes from leveraging bit-packing, caching, vectorization, query algorithm innovations and a zero-copy architecture to realize gains in memory usage and speed. Data is stored in a single memory mapped file. It uses copy-on-write MVCC (Multi-Version-Concurrency-Control) allowing very efficient fully ACID serializable transactions. The core is exceptionally fast, which we can leverage to make easy to use API's in the different languages (currently Java, ObjC, Swift and more to follow) and still maintain a speed and functionality advantage.
- deleted 12y ago[deleted]