Sqlite + Postgress SQLAlchemy backend and optimizations
The current coco_sql_dataset is an experimental SQL backend using sqlalchemy and custom sqlite3 in certain places.
The custom sqlite3 makes the speed manageable when performing very large searches on coco datasets.
It would be good to make an alternative pure sqlalchemy version and support a postgress backend.
It would be good to improve the read-only cache mechanism, and also allow the sql dataset to serve as the main data.kwcoco.sqlite file in a kwcoco bundle directory.
Eventually write support and conversion back to the dictionary form would be good to have.
This may involve optimization of the hacky table structure I currently have setup.