Storing Data with Team Databases
PixieBrix supports Team Database for storing data across mod runs, browsers, and team members. Admins and Managers can view and upload data to Team Databases in the Admin Console.
A team database is a key-value store. Each record is referenced by a unique key, and stores a JSON object.
Team Database Use Cases/Patterns
Common team database use cases include:
Reference Data: upload reference data via CSV to make available to team mods
Shared State: store shared state across mod runs, browsers, and team members
Audit Event Log: record important user actions/events
Creating a Team Database
To create a Team Database, open the Databases screen from the side nav.
Then, click the Create Database button:
Exporting a Team Database
PixieBrix supports exporting a Team Database as:
CSV
JSON
To export a database, click the Export button on the Database’s detail page:
In the modal, optionally select a date range to export:
Creating/Retrieving/Updating Database Records
Team Database records can be used within PixieBrix mods or with the Developer API
PixieBrix marketplace listing for database bricks:
Schemas
By default, Team Databases allow any shape of data to be stored in the database. However, you can also set a schema for the database, and optionally enforce that schema.
A schema describes the data shape and types that are contained in the Database.
In PixieBrix, database schemas are defined using the JSON Schema standard (the same standard used for defining brick input and output schemas in PixieBrix).
Default Schema
The default schema allows objects of any shape to be stored:
Copy
Required Fields
To require fields, use JSON Schema’s required attribute. For example:
Copy
Additional Properties
By default, JSON Schema objects allows additional fields that aren’t defined on the schema. To forbid additional properties, set additionalProperties: false
Forbidding additional properties is useful for preventing errors due to field name typos/misspelled fields
Copy
Enforcing a Schema
👮Enforcing a schema applies to new records and updates to existing records
To enforce a schema, toggle the “Enforce schema” toggle on the Database detail screen’s Schema tab:
When using the shallow
, deep
, and deep_append
merge strategies, PixieBrix enforces the schema for the resulting data (i.e., as opposed to the partial data in the update).
Frequently Asked Questions
Where is the data stored?
The data is stored on Amazon Web Services via Salesforce Heroku in the United States.
How is the data encrypted?
Data is encrypted as rest using AES-256, block-level storage encryption. See Heroku's documentation for more details.
How much data can I store?
Team Databases are optimized for use as a key-value store for mods. Storage limits are determined by your Pricing Plan. Limits are determined by:
Number of records
Size of data
If you are on an Enterprise Plan, contact your account representative.
How long is data stored? What's your data retention policy?
Individual/Business Plans: data is retained for as long as the account is in active status. Data for closed/suspended accounts may be retained for 1 year. Customers may also submit a data deletion request to delete their account and related data within 7 days.
Enterprise Plans: data is retained for as long as the account is in active status. data is retained in adherence to the enterprise agreement. Contact your account representative for more information.
For a copy of our Data Retention Policy, contact [email protected].
How is the data backed up?
Team Database records you delete are permanently deleted and cannot be recovered. Customers are responsible for performing their own backups (e.g., using our Developer API).
As part of our Disaster Recovery Policy, Team Databases are continuously backed up using Heroku's Continuous Data Protection. Our Disaster Recovery Backups cannot be used to recover records you've deleted from your Team Databases.
For a copy of our Disaster Recovery Policy and Data Retention Policy, contact [email protected].
Last updated