COMPARISON OF DATABASE ENGINES FOR EDGE/IoT

Publicado el 28/06/2026
COMPARISON OF DATABASE ENGINES FOR EDGE/IoT

PON-DB Engine : A cutting-edge database engine designed specifically for Edge/IoT environments. It stands out for its extremely small memory footprint (less than 1 MB) and the fastest filter latency (4.5–16 ms) on the list. It offers robust per-row security using native AES-256-GCM encryption without compromising performance, making it a clear leader for resource-constrained devices.

SQLite: The mature and reliable industry standard for embedded databases. While a solid and versatile option with a good overall balance, its memory footprint (2-4 MB+) and filter latency (8-30 ms) are higher than those of the PON-DB Engine. It requires third-party plugins (such as SQLCipher) for advanced security features and is not the lightest option available.

DuckDB: A vectorized analytics database engine that delivers excellent performance for complex queries. Its design prioritizes speed for massive analytics, resulting in a significantly higher memory requirement (minimum 50 MB). Because it is not natively secure and uses experimental encryption, it is considered less ideal for sensitive edge applications.

LMDB (KV): A Key-Value store optimized for ultra-fast read performance, making it ideal for very simple and straightforward caching systems. However, its functionality is limited to simple Key-Value operations, it lacks native security, and its memory footprint and filter latency (when used for complex queries) make it less suitable for general use in Edge/IoT.

RocksDB: A high-volume, persistent key-value store database engine that is very strong in write operations. Its memory footprint (minimum 10 MB) and filter latencies (10-50 ms) are superior to those of the leading edge databases on this list, and security is configurable but not enabled by default.

PostgreSQL: A powerful, full-featured relational database engine, but its large memory footprint and high latency make it unsuitable for Edge/IoT devices. Its full-server design makes it too resource-constrained and complex for hardware with limited resources.

free -h
total used free shared buff/cache  available
Mem:764Mi 390Mi 71Mi  12Mi 450Mi 374Mi
Swap:2.0Gi 510Mi 1.5Gi

systemd-run –user –scope -p MemoryMax=0.5M hyperfine -N «pon-db-engine events.json.pon query ‘device_id=esp32-1001 AND event=info’ –key=masterkey_4dP56CqQ_2026-06-25.bin»

Time (mean ± ?):   16.1 ms ±  3.8 ms  [User: 3.8 ms, System: 1.7 ms]
Range (min … max):   9.5 ms … 31.9 ms  113 runs

systemd-run –user –scope -p MemoryMax=1M hyperfine -N «pon-db-engine events.json.pon query ‘device_id=esp32-1001 AND event=info’ –key=masterkey_4dP56CqQ_2026-06-25.bin»

Time (mean ± ?):    4.6 ms ±  0.6 ms  [User: 3.5 ms, System: 0.9 ms]
Range (min … max):   4.0 ms … 13.5 ms  589 runs