Design Automation for Embedded Systems

, Volume 17, Issue 3–4, pp 507–542 | Cite as

Performance analysis and modeling of SQLite embedded databases on flash file systems

  • Hamza Ouarnoughi
  • Jalil Boukhobza
  • Pierre Olivier
  • Loic Plassart
  • Ladjel Bellatreche


Databases are more and more used in embedded system applications and especially in consumer electronics. This comes from the need to structure user and/or system data to be more efficiently managed and accessed. The transactional database management systems widely used in embedded systems have been designed considering hard disk drives as the storage device. In embedded systems, NAND flash memory is the main storage media and its intricacies make it fundamentally different from hard drives on many points of view, in particular in terms of performance and access mode. The performance behavior of on-flash database applications remains largely unknown, and we believe a better adequacy between those applications and flash management systems would lead to strong optimizations. A first step in that process is to assess and understand the performance behavior of database applications on flash memory. For this sake, this paper presents a micro benchmarking and modeling methodology, as well as the associated results and analysis for SQLite database queries on embedded flash specific file systems. SQLite is one of the most used database application in embedded systems and especially consumer electronics. This methodology has been applied and validated on two embedded hardware platforms. Flash file systems (FFS) behavior are very specific to flash memory intricacies and the objective of this study is to highlight the interactions between flash memory, FFSs, and SQLite based applications. The model proved to be very accurate in predicting flash I/O performance for a given workload.


Embedded databases NAND flash memory Flash file systems SQLite JFFS2 UBIFS Performance Modeling 


  1. 1.
    Armadeus Systems (2012) APF27 board datasheet. From Accessed 01 July 2014
  2. 2.
    Bellatreche L, Cheikh S, Bre S, Kerkad A, Boukhorca A, Boukhobza J (2013) How to exploit the device diversity and database interaction to propose a generic cost model? In: Proceedings of the 17th international database engineering and applications symposium, ACM, New York, IDEAS ’13, p 142147. doi: 10.1145/2513591.2513660
  3. 3.
    Bityutskiy A (2005) JFFS3 design issuesGoogle Scholar
  4. 4.
    Boukhobza J (2013) Flashing in the cloud: shedding some light on NAND flash memory storage systems. In: Data intensive storage services for cloud environments, IGI GlobalGoogle Scholar
  5. 5.
    DeWitt DJ, Naughton JF, Schneider DA, Seshadri S (1992) Practical skew handling in parallel joins. In: VLDB, pp 27–40Google Scholar
  6. 6.
    Engel J, Mertens R (2005) LogFS-finally a scalable flash file system. In: 12th international linux system technology conference.
  7. 7.
    Firebird Developpers (2014) Firebird website. From Accessed 07 Jan 2014
  8. 8.
    Gleixner T, Haverkamp F, Bityutskiy A (2006) Ubi: unsorted block imagesGoogle Scholar
  9. 9.
    Graefe G (1999) The value of merge-join and hash-join in sql server. In: VLDB, pp 250–253Google Scholar
  10. 10.
    Homma T (2009) Evaluation of flash file systems for large NAND flash memory.
  11. 11.
    Kang WH, Lee SW, Moon B, Oh GH, Min C (2013) X-ftl: transactional ftl for sqlite databases. In: Proceedings of the 2013 international conference on management of data, ACM, pp 97–108Google Scholar
  12. 12.
    Kataria V, Amit S, Singh P, Ch SP (2004) Commercial embedded database aystems, analysis and selectionGoogle Scholar
  13. 13.
    Kim JM, Kim JS (2012) Androbench: benchmarking the storage performance of android-based mobile devices. Frontiers in computer education. Springer, New York, pp 667–674CrossRefGoogle Scholar
  14. 14.
    Koltsidas I, Viglas SD (2011) Data management over flash memory. In: Proceedings of the 2011 ACM SIGMOD international conference on management of sata, ACM, New YorkSIGMOD ’11, pp 1209–1212. doi: 10.1145/1989323.1989455
  15. 15.
    Lee H, Chang N (2003) Energy-aware memory allocation in heterogeneous non-volatile memory systems. In: Proceedings of the 2003 international symposium on low power electronics and design, p 420423Google Scholar
  16. 16.
    Li H, Yang C, Tseng H (2008) Energy-aware flash memory management in virtual memory system. IEEE Trans Very Large Scale Integr Syst 16(8):952964CrossRefGoogle Scholar
  17. 17.
    Li J, Xu Y (2009) Remote monitoring systems based on embedded database. In: 3rd international conference on Genetic and evolutionary computing, WGEC ’09, pp 381–384. doi: 10.1109/WGEC.2009.54
  18. 18.
    Lightstone SS, Teorey TJ, Nadeau T (2007) Physical database design: the database professional’s guide to exploiting indexes, views, storage, and more. Morgan Kaufmann Publishers Inc., San FranciscoGoogle Scholar
  19. 19.
    Market Research (2012) Advanced solid state non-volatile memory market to grow 69 % annually through 2015. From Accessed 07 Jan 2014
  20. 20.
    Micron (2009) NAND flash and mobile LPDDR 168-ball package-on-package (PoP) MCP combination memory (TI OMAP)Google Scholar
  21. 21.
    Micron Technology, Inc (2007) MT29F2G16ABDHC-ET: D NAND flash memory datasheet. Micron Technology, Inc, BoiseGoogle Scholar
  22. 22.
    Nath S, Kansal A (2007) Flashdb: dynamic self-tuning database for nand flash. In: Proceedings of the 6th international conference on Information processing in sensor networks, ACM, pp 410–419Google Scholar
  23. 23.
    Olivier P, Boukhobza J, Senn E (2014) Flashmon v2: monitoring raw nand flash memory i/o requests on embedded linux. ACM SIGBED Rev 11(1):38–43. doi: 10.1145/2597457.2597462 CrossRefGoogle Scholar
  24. 24.
    Olson MA, Bostic K, Seltzer M (1999) Berkeley DB. In: Proceedings of the annual conference on USENIX annual technical conference. USENIX Association, Berkeley, ATEC ’99, p 4343Google Scholar
  25. 25.
    O’Neil PE, Graefe G (1995) Multi-table joins through bitmapped join indices. SIGMOD Rec 24(3):8–11CrossRefGoogle Scholar
  26. 26.
    Opdenacker M (2008) Update on filesystems for flash storage.
  27. 27.
    Opdenacker M (2010) Flash filesystem benchmarks.
  28. 28.
    Park S (2013) Flash-aware cost model for embedded database query optimizer. J Inf Sci Eng 29(5):947–967Google Scholar
  29. 29.
    Patchigolla VNR, Springer J, Lutes K (2011) Embedded database management performance. In: 2011 eighth international conference on, IEEE information technology: new generations (ITNG), pp 998–1001Google Scholar
  30. 30.
    Qinlong G, Xingmei C, Weiwei T, Minghai Y (2010) Study and application of SQLite embedded database system based on windows cE. In: 2010 2nd international conference on information science and engineering (ICISE), pp 6920–6923, doi: 10.1109/ICISE.2010.5691551
  31. 31.
    Ryu Y (2011) A flash translation layer for nand flash-based multimedia storage devices. IEEE Trans Multimed 13(3):563–572. doi: 10.1109/TMM.2011.2114333 CrossRefGoogle Scholar
  32. 32.
    Schierl A, Schellhorn G, Haneberg D, Reif W (2009a) Abstract specification of the ubifs file system for flash memory. In: Cavalcanti A, Dams D (eds) FM 2009: formal methods, Lecture Notes in Computer Science, vol 5850. Springer, Berlin, pp 190–206. doi: 10.1007/978-3-642-05089-3_13
  33. 33.
    Serial ATA International Organization (2011) SATA-ST 3.1: Serial ATA Revision 3.1Google Scholar
  34. 34.
    SQLite Developpers (2014a) Journal mode pragma statement. From Accessed 07 Jan 2014
  35. 35.
    SQLite Developpers (2014b) SQLite homepage. From Accessed 07 Jan 2014
  36. 36.
    Storage Newsletter (2012) NAND chip market growth propelled by smartphones and media tablets. From Accessed 07 Jan 2014
  37. 37.
    UBIFS Developpers (2008) UBIFS and linux read-ahead. From Accessed 07 Jan 2014
  38. 38.
    Woodhouse D (2001) JFFS: the journalling flash file system. In: Ottawa linux symposium, vol 2001.Google Scholar
  39. 39.
    Wookey (2004) YAFFS: a NAND flash file systemGoogle Scholar
  40. 40.
    Yue K, Jiang L, Yang L, Pang H (2010) Research of embedded database SQLite application in intelligent remote monitoring system. In: 2010 international forum on information technology and applications (IFITA), vol 2, pp 96–100. doi: 10.1109/IFITA.2010.241

Copyright information

© Springer Science+Business Media New York 2014

Authors and Affiliations

  • Hamza Ouarnoughi
    • 1
  • Jalil Boukhobza
    • 1
  • Pierre Olivier
    • 1
  • Loic Plassart
    • 2
  • Ladjel Bellatreche
    • 3
  1. 1.Université de Bretagne Occidentale, UMR 6285, Lab-STICCBrestFrance
  2. 2.TréflévéNetTréflévénezFrance
  3. 3.LIAS/ISAE ENSMAFuturoscopeFrance

Personalised recommendations