Appuri stores data for each of your applications in a separate Amazon Redshift database. This page describes how the data is laid out in the data warehouse.
Read this carefully
It will help you understand how to send data to Appuri if you understand how the data will be laid out in the warehouse. Resist the temptation to jump ahead and read this section carefully.
Event Tables
Events are stored in several tables to make querying simpler and more efficient.
- Raw events are stored in the
_events
table. With a few small changes, this table contains events just as you sent them to Appuri. - Named events are stored in tables named
_e_ENTITY__EVNAME
. For example, theuser
entity'ssign_in
event is stored in_e_user__sign_in
. - Appuri automatically explodes JSON in the
body
key of the event into columns in event tables.
What happened to the @set event?
The
@set
event is special. It lets you set properties on entities. There is no event table created for the@set
event.
Property Tables
Appuri allows you to set properties for any entity as described in the Setting properties section. The diagram below shows how properties are laid out in the data warehouse for the user
entity, probably the most interesting entity to most analysts.
user
entity properties are stored in tables named_p_user__<property>
. For example, the latest value of theemail
property is stored in_p_user__email
and thecity
property is stored in_p_user__city
.- Historical property values are stored in tables named
_p_history_user__<property>
. For example, historical values for theemail
property are stored in_p_user__email
. - Current values of every
user
property are joined in a materialized table_profiles
. This table is very handy as it contains every user and their current properties.