adamfowleruk / groundupdb

Creating a database from the ground up in C++ for fun!
Apache License 2.0
109 stars 25 forks source link

Allow app devs to store a native DB map and retrieve a subset of its keys #23

Open adamfowleruk opened 3 years ago

adamfowleruk commented 3 years ago

Please start with a use case description for a USER of this work [Who] As an app dev [What] I need to store a whole map under one key, but just retrieve a subset of its keys on request [Value] In order to achieve high performance in fetching minimum required information

Describe the solution you'd like setKeyValue(Key,Map) - new Map meta type in GroundUpDB

Ideally the Map will be a wrapper rather than just an unordered_map so as not to restrict app developers. This may require #20 to be completed first though

Describe alternatives you've considered Storing a dumb map is possible as of #20, but you have to retrieve the entire map for a key. Not performant for large maps across many records.

Additional context May wish to revisit how Set is handled and make that a templated wrapper for all C++ set types too. This would require #20 to be completed.