Best way to add support for a new KV backend store



I’m considering the idea to add support for a new backend (somewhere between KV and nosql) and I’m looking for best practice to save the quad in either case.
what is the most efficient way to save a quad in a KV store ? or in a nosql one ?

I couldn’t find a documentation on this topic, sorry if it already exist.