I ask for advice: Should I proxy distributed DB calls through the index canister

I am developing NacDB distributed database, that consists of an index canister and of (a potentially infinite) set of partition canisters.

The delete update query can be done through a partition canister only, because it changes the data only in one partition canister.

Is it worth, nevertheless, to do delete update query through the index canister (that in turn send an update query to a partition canister), because:

  • This way I don’t need to manage (possibly in the future updating every partition canister, rather than one index canister, to add a permission) all partition canisters to have the permission for every actor that needs to update them.
  • For consistency with insert update query, that is routed through the index canister (because it may involve multiple partitions canister).

I realized that I can for now implement deleting directly from the partition canister (for greater performance and less code size).

If I will need to delete from index canister, I can add this functionality to index canister later.