2023
silvair platform 101: data
types of data
agenda
types of storages
challenges
types of data
types of data
user data
-
vendor (silvair Open)
-
web language
-
notifications
-
brand
-
email
-
name, company
-
sign up date
-
login history (2 days)
-
legal documents
-
verification nonces
auth0
internal
types of data
project data
-
name, timezone, location
-
enabled features
-
areas, zones (names, images, placement)
-
schedules (gateway, ins, ELT)
-
profiles (control, scenes, energy)
-
energy saving settings
-
ELT RESULTS
types of data
commissioning data ("topology")
-
mesh network (keys, addresses, iv index)
-
applications (mobile apps, gateways)
-
nodes
-
uuids and names
-
mesh configuration
-
commissioning status
-
OTAU STATUS
-
-
provisioning events
types of data
manufacturing data (licensing)
-
uuids
-
otau keys (crypto sets)
-
firmware releases (binaries, manifests)
-
firmware versions (per uuid)
-
...?
types of data
monitoring data
-
raw readings
-
aggregates
-
reports
types of data
branding data
-
filters
-
renamings
-
legal documents
-
enabled features
types of storage
storages
document store
-
external
-
easy to modify
-
inconsistent by design
storages
relational database
-
internal
-
hard to modify
-
enforced consitency
storages
file storage
-
internal
-
permanent
-
inconsistent by design
-
inexpensive
-
public access
storages
analytical database
-
external
-
ephemeral
-
expensive
-
inconsistent by design
storages
auth0
-
external
-
multiple instances (per branding)
-
identity provider
-
... but we treat it as user database
storages
DOCUMENT DB | RELATIONAL DB | ANALYTICAL DB | FILE STORAGE | AUTH0 API | |
---|---|---|---|---|---|
speed | ✔️ | ✕ | ✔️ | ✕ | ✕ |
durability | ✔️ | ✔️ | ✕ | ✔️ | ✔️ |
consistency | ✕ | ✔️ | ✕ | ✕ | ✔️ |
cost | $$ | $ | $$$ | $ | $$$ |
maintenance | low | high | low | low | low |
challenges
challenges
it's not obvious what goes where
-
user profiles are in auth0
-
... but some parts are internal
-
-
commissioning data is in topology database
-
... apart from commissioning history, which is in project database
-
-
...
challenges
querying
-
need to join data from multiple databases
-
data schema is undefined
-
services do not provide complete rest api
challenges
performance
-
everyone needs to talk to everyone else
-
... all the time
-
-
caching is harder than usual
challenges
migrations
-
zero downtime deployments
-
...except we don't really have them
-
-
migrations take a long time
-
...so we rarely do them
-
...so we have outdated entries
-
2023
commissioning platform 101:
data flow
questions?
Commissioning platform data flow
By Michał Lowas-Rzechonek
Commissioning platform data flow
- 76