Live data from Hacker News

Realm Mobile Platform – Realtime Sync Plus Fully Open Source Database

realm.io

71–80 of 80 posts

Re: Realm Mobile Platform – Realtime Sync Plus Fully Open Source Database

#71
post #66

I wanna build a POS app and need a solid sync experience. I'm building my own but obviously prefer to use something else ;) This could support multiple users against a master database editing and getting up-to-date(as possible) data? And sync reliable?

Yes it would be possible to support. This version doesn't expose adjusting Realm permissions such that multiple users can have read/write permissions to the same Realm. This will be coming during the beta and exposed as client APIs for users to manage permissions to Realms under their control.

Re: Realm Mobile Platform – Realtime Sync Plus Fully Open Source Database

#72

Former Realm employee here. So glad to see the team finally launch this. I've seen them work their asses for years (literally!) to launch something I know Realm’s 100k+ dev community was clamoring for from day one but was really hard to build. I'm biased of course but honestly I think they have soft-key shipped one of the most transformational mobile technologies ever: real-time, conflict-free sync that works as well…

How do you deal with security/access control?

This seems to me the most difficult aspect of a client-side database, but please correct me if I'm wrong.

Re: Realm Mobile Platform – Realtime Sync Plus Fully Open Source Database

#73

Earlier quoted context omitted.

> The core database that powers all the versions of Realm was open-sourced today here: Ok, what about the server database?

The server runs the exact same database. It is only the sync part that is proprietary.

> It is only the sync part that is proprietary.

Any reason for that? It's also doesn't look very straightforward how exactly the database is deployed and accessed on the server. As it stands now only the 'client' is open sourced but if someone wants to hosts its own `realm` database it still has a lot of work to do. I really find this misleading when various SAAS vendors claim they are open source when in fact they just provide you just a client to access their service. Nobody(almost) would use a `binary` client anyway.

Re: Realm Mobile Platform – Realtime Sync Plus Fully Open Source Database

#74

Former Realm employee here. So glad to see the team finally launch this. I've seen them work their asses for years (literally!) to launch something I know Realm’s 100k+ dev community was clamoring for from day one but was really hard to build. I'm biased of course but honestly I think they have soft-key shipped one of the most transformational mobile technologies ever: real-time, conflict-free sync that works as well…

If Firebase releases an on-prem or self-hosted server, what does the Realm Mobile Platform do differently?

I'm really excited about Realm, but I honestly can't read this without asking (rhetorically), "have you ever heard about Firebase?" From a technological perspective I think it's unfair to claim Realm is the first to the party here, Firebase engineers have shipped an equally impressive technical feat. I understand the vendor and platform lock-in with Firebase is a _major_ differentiator when compared to Realm - but the underlying technology appears to offer the same benefits.

Re: Realm Mobile Platform – Realtime Sync Plus Fully Open Source Database

#75

Earlier quoted context omitted.

Thanks, did not see that. Not all vector clocks provide conflict resolution though - actually, they can very much lack in this regard. For instance, you are much more likely to get two clients that increment to the same vector while offline than two clients getting the exact same millisecond timestamp. Which would make the problem worse, not resolved. What type of vector are you using?

Simon from Realm here - just wanted to chime in and clarify some details on this. It would be more correct to say that we are using Lamport timestamps, with the addition of a globally unique ID for each client and some tracking of changeset ancestry. No two identical [timestamp, id] tuples will ever be produced in our system, so there is always an unambiguous way to decide which side "came first" in case of a causall…

Is this documented somewhere? Understanding how sync works here and under what circumstances the timestamp is required to resolve conflicts is critical to understanding how to design correct applications based on this.

Re: Realm Mobile Platform – Realtime Sync Plus Fully Open Source Database

#76

Former Realm employee here. So glad to see the team finally launch this. I've seen them work their asses for years (literally!) to launch something I know Realm’s 100k+ dev community was clamoring for from day one but was really hard to build. I'm biased of course but honestly I think they have soft-key shipped one of the most transformational mobile technologies ever: real-time, conflict-free sync that works as well…

If Firebase releases an on-prem or self-hosted server, what does the Realm Mobile Platform do differently? I'm really excited about Realm, but I honestly can't read this without asking (rhetorically), "have you ever heard about Firebase?" From a technological perspective I think it's unfair to claim Realm is the first to the party here, Firebase engineers have shipped an equally impressive technical feat. I understan…

(Adam from Realm) First, we respect everything Firebase and team has done. Others might feel differently, but shipping great software is hard, so nothing but respect from us there.

Second, and to address your question, we are very different architecturally than Firebase. We built from the ground up an object database that runs on mobile. As a result, this means when using Realm Object Server, the mobile development is still focused around that database. In practice, this means developers only have to think about local APIs because their UI is now bound to the data in their local Realm, with the networking handled automatically. This isn't just a basic cache, though, but a full-featured database that includes: memory-mapped object interface, ACID compliance, querying, and much more. Firebase doesn't offer that capability since it's mobile SDKs aren't built off a mobile database like Realm.

Beyond the mobile capability/developer experience, the server-side capabilities of Realm Object Server go beyond whether it is self hosted or not. While not included in the developer edition, we offer server-side SDK support and event handling capabilities so that the server can integrate into existing infrastructure vs attempt to control how you build your backend.

Re: Realm Mobile Platform – Realtime Sync Plus Fully Open Source Database

#77
post #72

Former Realm employee here. So glad to see the team finally launch this. I've seen them work their asses for years (literally!) to launch something I know Realm’s 100k+ dev community was clamoring for from day one but was really hard to build. I'm biased of course but honestly I think they have soft-key shipped one of the most transformational mobile technologies ever: real-time, conflict-free sync that works as well…

How do you deal with security/access control? This seems to me the most difficult aspect of a client-side database, but please correct me if I'm wrong.

Realm supports AES-256 encryption so you can encrypt your data at rest and then SSL/TLS for security in transit.

Realm Object Server supports the ability to control which users can access which Realms, supporting for example shared Realms among users to power collaborative experiences like the drawing app in our demo video. The client side APIs to manage these permissions weren't exposed in this release but will be coming soon in the beta.

Re: Realm Mobile Platform – Realtime Sync Plus Fully Open Source Database

#78

Earlier quoted context omitted.

CouchDB and iCloud already have this.

iCloud's implementation is awful. It doesn't help you understand or resolve the conflicts at all and just assumes last write wins.

Is such a conflict likely to occur with a single user?

Re: Realm Mobile Platform – Realtime Sync Plus Fully Open Source Database

#79
Congrats! This is a major step forward which we will be supporting in our product. Its right now being used by close to 500k users :)

Question - TLDR - Is p2p synchronization possible?

Two databases in two different devices in the same network, is it possible to achieve synchronization without having access to a server?

Re: Realm Mobile Platform – Realtime Sync Plus Fully Open Source Database

#80
Definitely going to try this out. However, I don't feel great about not having...

- any concept of clustering for reliability and failover - any easy/clear way to distribute load to the object server - an easy way to run backups

I may just be blind in the docs. I really don't want to go back to running my own database server. Services like compose.io are soooo nice. Clustering, automatic failover, backups...

Post reply on HN