I’m amazed how much mobile developers despise SQL. It’s fast and efficient way of storing data, proven in battle in so many years. I guess the reason of that for many of them, myself included, is the way we were taught at universities. For a beginner programmer, it’s quite a challenge to dive in into SQL, with its complicated queries and non-intuitive relations. I remember being overwhelmed and repulsed by it. For the same reason, I hated C for so long. I guess it takes time to appreciate a technology fully, but the feeling of accomplishment after completing a low-level language project is much bigger than creating something with the use of easier, ready-to-go solutions.
Android development requires modern solutions, a mobile applications store big amount of data. SQLite project, a default Android database engine was launched in 2000 and has some alternatives like pretty popular Realm and quite new ObjectBox. Both products comprise NoSQL database and have a few things in common: DB built for objects, ACID properties, Multiversion Concurrency Control (MVCC) architecture, core written in C++, reactive data observation and a multiplatform.