Learn more about OrbisDB’s plans for DELETE queries and the challenges that come with it.

State of 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.

Future plans

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.

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

Ceramic 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

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.

Encryption