I recently started developing a small calendar application, in which I can add and view several calendar entries, which contain several data like name, date, alarm settings and so on.
Those values have to be saved locally, so the user can see his calendar entries from earlier sessions as well.
Right now this is solved with serialization, but I am not quite happy with this, as editing serialized data can turn out to become quite nasty the more stuff I am saving, and I think the process of iterating through the entries could also become a case for performance problems, even though this would most likely need a lot of data to happen.
I recently got the idea to use a local SQL table with a library like SQLite, and I think that this would make the process of editing single values a lot easier. Also I guess that this solution would scale way better with possible later additions.
Is there a good rule of thumb to determine which storage technology one should use? What are the ups and downs of commonly used technology like serialization or SQL tables?