If you’ve only programmed PICs, see FAQ Section: Waiting and Timing to break the wait loop habit.
TinyDB is an XML file. If you want to store enough data locally to require indexing, use an SQLite extension.
Your interface component count should not increase with your volume of data, otherwise you are doing something wrong.
The break even point for using lists is 3, in my experience.
Sometimes at 2.