
Figure 12 shows SQLite performance versus Em-
bedDB for the SQL queries in Table 3 where the query
execution code was either developer produced or au-
tomatically generated by the translation tool.
Figure 12: SQL Query Performance.
EmbedDB has faster scan performance than
SQLite that translates into a speedup factor for SQL
queries involving key filtering of about six times.
SQLite outperforms for queries dominated by sec-
ondary data lookup with high selectivity (queries 3
and 5), but EmbedDB remains competitive while con-
suming less memory. There is no performance differ-
ence between developer created versus automatically
generated SQL execution code. Query 4 with a join is
not currently supported by the translator.
5 CONCLUSIONS AND FUTURE
WORK
EmbedDB is a key-value, time series database sup-
porting embedded and sensor devices, especially de-
vices with hardware resources too small to execute
other systems. Its database API consumes minimal
resources and enables high performance data opera-
tions with limited coding by developers. Experimen-
tal results demonstrate its high performance on small
devices, and competitive performance with SQLite
for time series analysis on the Raspberry Pi.
Ongoing work is improving EmbedDB’s perfor-
mance with specific focus on adding data com-
pression and further improving the efficiency of
SQL query processing. EmbedDB is available
as open source for researchers and developers at
https://github.com/ubco-db/EmbedDB.
REFERENCES
Anciaux, N., Bouganim, L., and Pucheral, P. (2003). Mem-
ory Requirements for Query Execution in Highly Con-
strained Devices. In VLDB, pages 694–705.
Bonnet, P., Gehrke, J., and Seshadri, P. (2001). Towards
Sensor Database Systems. MDM ’01, pages 3–14,
London, UK, UK. Springer-Verlag.
Ding, D., Carvalho, I., and Lawrence, R. (2023). Using
learned indexes to improve time series indexing per-
formance on embedded sensor devices. In SENSOR-
NETS 2023, pages 23–31. SCITEPRESS.
Douglas, G. and Lawrence, R. (2014). LittleD: a SQL
database for sensor nodes and embedded applications.
In Symposium on Applied Computing, pages 827–832.
Fazackerley, S., Ould-Khessal, N., and Lawrence, R.
(2021). Efficient flash indexing for time series data
on memory-constrained embedded sensor devices. In
SENSORNETS 2021, pages 92–99. SCITEPRESS.
Fonollosa, J., Sheik, S., Huerta, R., and Marco, S. (2015).
Reservoir computing compensates slow response of
chemosensor arrays exposed to fast varying gas con-
centrations in continuous monitoring. Sensors and Ac-
tuators B: Chemical, 215:618–629.
Gaffney, K. P., Prammer, M., Brasfield, L. C., Hipp, D. R.,
Kennedy, D. R., and Patel, J. M. (2022). SQLite: Past,
Present, and Future. VLDB, 15(12):3535–3547.
Javed, F., Afzal, M. K., Sharif, M., and Kim, B.-S.
(2018). Internet of Things (IoT) operating systems
support, networking technologies, applications, and
challenges: A comparative review. IEEE Communi-
cations Surveys & Tutorials, 20(3):2062–2100.
Madden, S. R., Franklin, M. J., Hellerstein, J. M., and
Hong, W. (2005). TinyDB: An Acquisitional Query
Processing System for Sensor Networks. ACM Trans.
Database Syst., 30(1):122–173.
Ould-Khessal, N., Fazackerley, S., and Lawrence, R.
(2021). B-tree Implementation for Memory-
Constrained Embedded Systems. In 19th Int’l Conf
on Embedded Systems, Cyber-physical Systems, and
Applications (ESCS). CSREA Press.
Ould-Khessal, N., Fazackerley, S., and Lawrence, R.
(2022). Performance Evaluation of Embedded Time
Series Indexes Using Bitmaps, Partitioning, and
Trees. In Invited papers of SENSORNETS 2021, vol-
ume 1674 of Sensor Networks, pages 125–151.
Raspberry Pi Foundation (2023). Raspberry Pi. https:
//www.raspberrypi.org/.
Stisen, A., Blunck, H., Bhattacharya, S., Prentow, T. S.,
Kjærgaard, M. B., Dey, A., Sonne, T., and Jensen,
M. M. (2015). Smart devices are different: Assess-
ing and mitigating mobile sensing heterogeneities for
activity recognition. In Proceedings of the 13th ACM
Conference on Embedded Networked Sensor Systems,
SenSys ’15, page 127–140, New York, USA. ACM.
Tsiftes, N. and Dunkels, A. (2011). A Database in Every
Sensor. SenSys ’11, pages 316–332, New York, NY,
USA. ACM.
Yin, S. and Pucheral, P. (2012). PBFilter: A flash-based
indexing scheme for embedded systems. Information
Systems, 37(7):634 – 653.
Zeinalipour-Yazti, D., Lin, S., Kalogeraki, V., Gunopulos,
D., and Najjar, W. (Dec 13, 2005). MicroHash: An
Efficient Index Structure for Flash-Based Sensor De-
vices. volume 4 of FAST’05, pages 31–44. USENIX.
EmbedDB: A High-Performance Time Series Database for Embedded Systems
249