remark42 icon indicating copy to clipboard operation
remark42 copied to clipboard

Consider higher level abstractions for boltdb engine

Open umputun opened this issue 7 years ago • 7 comments

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.

umputun avatar Jul 11 '18 04:07 umputun

Do you have a plans to run Remark on Mongo as well?

jackburg avatar Jul 11 '18 06:07 jackburg

not sure how this related, but yes, work in progress https://github.com/umputun/remark/tree/feature/mongo

umputun avatar Jul 11 '18 06:07 umputun

I thought you want to make Remark more DB agnostic when I read this issue.

jackburg avatar Jul 11 '18 06:07 jackburg

Db related parts already abstracted by engine.Interface. The goal of this ticket is to simplify boltdb implementation of this interface.

umputun avatar Jul 11 '18 06:07 umputun

It's clear now, thanks.

jackburg avatar Jul 11 '18 07:07 jackburg

* 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)

recoilme avatar Jan 06 '19 13:01 recoilme

@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.

paskal avatar Apr 13 '20 12:04 paskal