Skip to content

Database Research (Android)

ihar-paliashchuk edited this page Nov 3, 2017 · 24 revisions

Secure database research for Android

It were chosen three the most fastest Databases with encription. We needed to test their performance to choose one for our project. First table shows databases names, they are open source or not, encription algorithm and some links. We structured results into second table. Tests were performed a few times with the next object

public class City extends RealmObject {

    private int id;
    private String address;
    private String zip;

}

Realm won in our tests.

Database name License Data encryption Method Profits Descriptions
Realm Apache 2.0 AES-256 RxJaxa, Change Listeners link1, link2, how to encrypt
Firebase database own, not open source RNCryptor Cloud sync how-to, how-to-2
greenDAO Apache 2.0 AES-256 RxJava what-is, The fastest DB for Android
SQLChipher own, must read AES-256 -- Base link
Database name 100000 items inserting getting from 100000 getting from 100000
Realm 17 min 50 sec 987 ms 38 ms(34800 item) 45 ms(34800 item)
Realm 17 min 17 sec 968 ms 10 ms(78800 item) 22 ms(78800 item)
Realm 17 min 07 sec 790 ms 10 ms(93828 item) 15 ms(93828 item)
Realm total 17 min 25 sec 921 ms 20 ms 28 ms
GreedDao 13 min 25 sec 822 ms 63 ms(34800 item) 49 ms(34800 item)
GreedDao 13 min 21 sec 481 ms 43 ms(78800) 45 ms(78800)
GreedDao -- 52 ms(93828) 44 ms(93828)
GreedDao total 13 min 23 sec 651 ms 53 ms 46 ms
SQLiteCipher 13 min 23 sec 822 ms 54 ms(34800 item) 48 ms(34800 item)
SQLiteCipher 13 min 16 sec 104 ms 55 ms(78800 item) 46 ms(78800 item)
SQLiteCipher 14 min 09 sec 068 ms 44 ms(93828 item) 55 ms(93828 item)
SQLiteCipher total 13 min 36 sec 331 ms 51 ms 50 ms

сравнение производительности баз данных для андроид https://habrahabr.ru/post/281226/

Clone this wiki locally