Paper is an embedded object-oriented storage engine on Android with automatic schema migration support. It is designed for Java and Kotlin to quickly manage object storage without using SQL-like queries.
- Source Code
- https://github.com/pilgr/Paper[01]
- Developer
- Country of Origin
- SE
- Start Year
- 2015 [02]
- Project Type
- Open Source
- Written in
- Java
- Supported Languages
- Java
- Operating System
- Android
- License
- Apache v2
Paper is an embedded object-oriented storage engine on Android with automatic schema migration support. It is designed for Java and Kotlin to quickly manage object storage without using SQL-like queries.
History[01]
Paper was created in Sweden in 2015. The main contributor is Oleksii Masnyi (Aleksey Masny), an android software developer. It was initially developed to be used in AppDialer, a smart phone application for searching other apps. The system was mainly developed between 2015 and 2017. The first version was released with main object-oriented structure, and newer versions were later released with major updates in methods, data format and custom APIs.
Concurrency Control
Paper uses concurrent hash map and semaphore to deal with multi-thread reading and writing for single operation, but no concurrency control protocol is being used to protect transactions.
Data Model
Paper uses custom strings as keys, and objects as values, which is a combination of key/value data model and object-oriented data model.
Storage Organization
Paper maintains backup files when performing writing. When writing is done successfully, backup file is deleted.