I'm building an app and I need to use a database in it. I'm considering using Room as it's new and hot right now. But I've heard a lot of great stuff about Realm too. Can someone point out the possible advantages of using each?

I did my research and read the docs but I have no experience to understand it myself

[Room docs](https://developer.android.com/topic/libraries/architecture/room.html)

[Realm docs](https://realm.io/docs/java/2.3.0/)

**EDIT**:

It's been some time and and I can point out another reason to use Room. Although you can use Realm and Transformations to tie things up with LiveData but with Room you can directly return LiveData (and also RXJava types using a plugin) for the DB, which will save you some boilerplate code and headache. 

**EDIT 2:**

In addition to the first edit, Room now has a first class support for coroutines in Kotlin so if you are planning to use those it will be a nice-have -> <https://medium.com/androiddevelopers/room-coroutines-422b786dc4c5>