pikers / piker

(e2e) foss trading for non-tinas
GNU Affero General Public License v3.0
102 stars 17 forks source link

Start `piker.storage` subsys: cross-(ts)db middlewares #486

Open goodboy opened 1 year ago

goodboy commented 1 year ago

Launch pad for work towards the task list in #485 🏄🏼

As a start this introduces a new piker.storage subsystem to provide for database related middleware(s) as well as new storage backend using polars and apache parquet files to implement a built-in, local-filesystem managed "time series database": nativedb.

After some extensive tinkering and brief performance measures I'm tempted to go all in on this home grown solution for a variety of reasons (see details in 27932e44) but re-summarizing some of them here:


Core dev discusssion


ToDo:

goodboy commented 1 year ago

We can convert this to a draft if necessary if/when #483 lands

guilledk commented 1 year ago

I'm in favor of doing or own solution and I would rather stop maintaining any marketstore related coded, in the end we were almost gonna spend as much work mantaining marketstore that just doing our own thing right.

goodboy commented 1 year ago

I'm in favor of doing or own solution and I would rather stop maintaining any marketstore related coded, in the end we were almost gonna spend as much work mantaining marketstore that just doing our own thing right.

yup totally agree!

ok then i'll be putting up some finishing functionality touches, hopefully tests, and then dropping all that junk 🏄🏼

goodboy commented 1 year ago

To give an idea of what the parquet subdir looks like now, much in similarity to how marketstore laid out it's own internal per table binary format files except using less space and actually being a file type data people can use 😂 screenshot-2023-06-14_14-08-23