# Introduction

Persistr is a real-time database that preserves the full version history of every data object stored in it. It does this by capturing changes to objects. This practice is commonly referred to as event-sourcing.

# How it Works

A traditional SQL database might model a Customer record as containing name and address fields. They represent current values, not past. The customer's current name and address are stored in the name and address columns of the relevant row in the Customer table. If this customer changes their name or address, the new name or address are placed in the appropriate column. The old values are overwritten. In most systems, these old values are lost as typically no provisions are made to preserve old values of columns in a typical SQL database.

Compare that to a system using the Persistr platform.

We would recognize from the start that it is possible for a customer to change their name or address. Instead of storing only the current value of these fields, we will store changes to the fields. In other words, we have a sort of version history that will tell us when a change to a customer record has occurred and what the change was.

When a new customer is first added, their name and address are set. If at a later time this customer moves to a different address, we will note this change as an event that took place at a specific date and time. If other changes to this customer happen, we will record each one as a separate event. This gives us a chronological sequence of past events that describe everything that has happened to a specific customer since it was first added. We call this an event stream.

Reading through the event stream, we can easily determine what the value of any specific customer field was at any point in time. We can see exactly when a customer moved to a different address, or even how many times this customer has moved. If we are only interested in the customer's current address, we only need to look at the most recent customer move.

# Actionable Data

This kind of structure allows us to make informed decisions about our data.

Let's say you work for a real-estate office. Would it be helpful to sales staff if you could predict which of their contacts are likely to be looking to purchase or rent real-estate? Very likely. With some historical data at your disposal, you could look for trends in that data and create predictive models.

If a customer has a history of moving every so often, it might be reasonable to assume that they would continue that trend into the future. Or if a customer has not moved for a long time, perhaps they're due for a move soon. You might also decide to correlate this data with customer age and marital status. You could hypothesize that young, single individuals might move more often than older, married people.

Data offers potential. Without data, none of this is possible. And Persistr enables you to easily capture data.

# The Persistr Platform

Persistr is a cloud platform that works out-of-the-box. Persistr is reliable, secure, highly-available, and scalable. It is billed under a utility model, meaning you pay for what you use. As a cloud service, Persistr does NOT require any server software to be installed or maintained. You can start using Persistr in your project within a matter of minutes.