The Indelible Service
WHAT IS IT?
You're short on time, we get it. Here's the low-down:
- Indelible is a managed, persistent, schemaless keyed log, which is like a KV store except it preserves order (like a queue).
- Changes to logs are made atomically, each producing a new version, that changes some or all of the entries from the current version.
- Diffs between any two versions can be generated efficiently by the service, regardless of the number of changes.
- Logs are immutable: old versions remain readable until you're done with them.
- Logs are strongly consistent with 99.999% availability.
- Logs are encrypted, with your encryption key. All data, including indexes, are encrypted at the client, rather than only in-transit or at-rest. Unencrypted data is never available to Indelible.
- Logs are intended to be highly granular - e.g. an individual user's order history.
- Updates to a log can be delivered automatically to end-clients via subscription.
WAIT BUT WHY?
Why use Indelible instead of other cloud storage services?
- Safety: With logs versioned at every transaction, data can never be clobbered or lost. Observing changes to your data over time is simple, so analytics are trivial to implement, and backups and disaster recovery unnecessary.
- Security: With encryption enforced at the client, there is never a risk of data breach in Indelible's systems impacting you - we can't read your data, so neither can an attacker.
- Simplicity: Strong consistency and idempotency lead to a simpler architecture for your system. One of the most common and complex integrations with a storage layer is implementing client polling for changes. With Indelible, real-time notifications are built-in, so clients can proactively cache the contents of a log, and get updates immediately when anything changes, eliminating polling.
HOW DO I GET STARTED?
1. Get an API key by submitting the form below. You'll receive an email with a link to confirm your address, and once confirmed you'll have an API key.
2. Visit our github page for documentation and examples. The fastest way to get started is to simply create a new log, insert a new value, and query the log from any client to see what its value is at the latest version. When updating an existing key in the log, all clients will immediately see an update to the stored value.