remark42
remark42 copied to clipboard
Consider higher level abstractions for boltdb engine
Currently, boltdb engine implementation is very low-level. I'm not sure if this is really a bad thing for our particular service, but it has a lot of code to do conceptually trivial things.
There are two possible ways to address it:
- add some third party toolkit on top of boltdb, like strom
- implement our version of boltdb wrapper/toolkit to handle common tasks
To me, storm looks like a good choice as it seems to support everything we need, but I have never used it before and don't know what unexpected issues it may cause.
Do you have a plans to run Remark on Mongo as well?
not sure how this related, but yes, work in progress https://github.com/umputun/remark/tree/feature/mongo
I thought you want to make Remark more DB agnostic when I read this issue.
Db related parts already abstracted by engine.Interface. The goal of this ticket is to simplify boltdb implementation of this interface.
It's clear now, thanks.
* implement our version of boltdb wrapper/toolkit to handle common tasks
Take a look at https://github.com/recoilme/pudge , please. I write it for migrating from boltdb Many things may be implemented much easy with pudge (like buckets, select with limit/offset/from key, with ordering or by prefix and so on)
@umputun I wonder how the problem statement looks at this moment and what is left to be done then? Quite a lot of things changed since that issue was created.