Learn more about OrbisDB’s plans for DELETE
queries and the challenges that come with it.
DELETE
❗Be careful when running
DELETE
queries using OribsDB SQL Editor. Make sure there’s a narrow and specific WHERE clause, otherwise you may end up deleting your entire table.
DELETE
statement is not currently exposed to the end user. It’s not a Ceramic or OrbisDB native event.
The only way to handle DELETE
queries it through your OrbisDB SQL Editor (link). Deleting the data this way will only remove it from your OrbisDB node. You can’t delete the original Ceramic Stream or the underlying IPFS data.
These challenges are not unique to OrbisDB.
Even though DELETE
statements aren’t available as an OrbisDB or Ceramic native event, we do plan to introduce it in the near future. We also have multiple options for handling these cases.
DELETE
The first step to achieving native DELETE
operations is by introducing a special DELETE event
Model that won’t be indexed by default, however, all OrbisDB nodes will be subscribed to it.
Once an event is triggered, each OrbisDB node will verify whether it has any data relevant to this event and will delete it if so. They will also unpin the Ceramic Stream’s data from their internal IPFS stores and block it from getting indexed in the future.
This event can only be triggered by the content’s original author - it’s verifiable owner.
However, Ceramic nodes will not understand this event natively. The same goes for OrbisDB as the software is MIT licensed and may be modified by the node controller.
DELETE
There have been discussions about a native DELETE
even in Ceramic. We are actively involved in them and are vocal about the importance of such event.
There’s still the possibility of an IPFS node storing the content - or a 3rd party that’s subscribed to a certain topic.
Subnets would represent a subset of the network nodes. They may choose to apply different rules. An example might be a private subnet in which case the data would only be distributed to a trusted set of nodes.
There’s no clear ETA for this, as it involves a tech stack outside of our direct control.