sqlite db backend (database)

https://github.com/lightningnetwork/lnd/pull/6570

Host: bhandras  -  PR author: seejee

Notes

  • Check the kvdb package: what interface does it provide? Where is the bolt implementation for that interface?
  • Check the lncfg/db.go to see how configuration and initialization happens.
  • If you’re not familiar with sqlite, check the https://sqlite.org/index.html website.
  • If you are not familiar with the concept of key value databases, check https://en.wikipedia.org/wiki/Key%E2%80%93value_database.

Questions

  • Why specifically do you think we need sqlite support in LND?
  • How does LND support so many different database backends?
  • How is a specific backend selected and instantiated?
  • Does everything need to be in one sqlite database?
  • How does sqlite integration in Go work?
  • Do database operations in LND happen concurrently?
  • Will I be able to query my tables and observe changes using my favorite sqlite browser?