{
  "format": "dataset-manifest/1",
  "slug": "iot-sample-database",
  "version": 1,
  "seed": "flagship:iot-sample-database:1k",
  "engine": 2,
  "engineVersion": "1.0.0",
  "spec": {
    "format": "dataset/1",
    "engine": 2,
    "slug": "iot-sample-database",
    "name": "IoT sample database",
    "tagline": "Organizations, sites, devices and sensors, a year of telemetry, device health, alarms, firmware rollouts and gateways.",
    "description": "An IoT platform for twenty organizations through 2025: each runs sites with devices, and each device carries sensors that report temperature, humidity, pressure, CO2 or power. Every reading sits in its sensor type’s physical range and unit -- a temperature between -10 and 45 °C, CO2 between 400 and 2000 ppm. Organizations never mix: a device is only grouped, gatewayed, networked or fenced with things of its own organization, and only that organization’s users maintain it or raise its tickets. A firmware rollout installs a release for the device’s own type, after it was released; an alarm is resolved after it was raised or not yet; a ticket’s replies come after it.",
    "domain": "iot",
    "shape": "time-series",
    "useCases": [
      "sql-practice",
      "analytics-demo",
      "test-fixtures"
    ],
    "keywords": [
      "iot",
      "telemetry",
      "sensors",
      "time series",
      "sample database"
    ],
    "locale": "en_US",
    "license": "CC0-1.0",
    "version": 1,
    "seed": "flagship:iot-sample-database",
    "tables": {
      "actuator_commands": {
        "description": "Rows for the actuator_commands table.",
        "rows": 10,
        "columns": {
          "id": {
            "kind": "pk"
          },
          "actuator_id": {
            "kind": "fk",
            "ref": "actuators.id",
            "skew": "flat"
          },
          "command": {
            "kind": "enum",
            "values": [
              "on",
              "off",
              "toggle",
              "set_level"
            ],
            "weights": [
              35,
              35,
              10,
              20
            ]
          },
          "sent_at": {
            "kind": "datetime",
            "from": "2025-01-01",
            "to": "2025-12-31"
          },
          "status": {
            "kind": "enum",
            "values": [
              "acknowledged",
              "failed",
              "timed_out"
            ],
            "weights": [
              94,
              3,
              3
            ]
          }
        }
      },
      "actuators": {
        "description": "Rows for the actuators table.",
        "rows": 10,
        "columns": {
          "id": {
            "kind": "pk"
          },
          "device_id": {
            "kind": "fk",
            "ref": "devices.id",
            "skew": "flat"
          },
          "name": {
            "kind": "pattern",
            "pattern": "[relay-]xxxx"
          },
          "type": {
            "kind": "enum",
            "values": [
              "relay",
              "valve",
              "fan",
              "heater"
            ]
          }
        }
      },
      "alarm_rules": {
        "description": "Rows for the alarm_rules table.",
        "rows": 10,
        "columns": {
          "id": {
            "kind": "pk"
          },
          "condition_type": {
            "kind": "enum",
            "values": [
              "above",
              "below"
            ],
            "weights": [
              80,
              20
            ]
          },
          "sensor_id": {
            "kind": "fk",
            "ref": "sensors.id",
            "unique": true
          },
          "severity": {
            "kind": "enum",
            "values": [
              "low",
              "medium",
              "high"
            ],
            "weights": [
              40,
              40,
              20
            ]
          },
          "threshold_value": {
            "kind": "decimal",
            "min": 0,
            "max": 2556,
            "scale": 2
          }
        }
      },
      "alarms": {
        "description": "Rows for the alarms table.",
        "rows": 10,
        "columns": {
          "id": {
            "kind": "pk"
          },
          "device_id": {
            "kind": "fk",
            "ref": "devices.id",
            "skew": "long-tail"
          },
          "message": {
            "kind": "enum",
            "values": [
              "Temperature above threshold",
              "Humidity above threshold",
              "Device offline",
              "CO2 above threshold",
              "Power spike"
            ]
          },
          "resolved_at": {
            "kind": "datetime",
            "from": "2025-01-01",
            "to": "2025-12-31",
            "nullable": true,
            "nullRate": 0.06
          },
          "severity": {
            "kind": "enum",
            "values": [
              "low",
              "medium",
              "high"
            ],
            "weights": [
              50,
              35,
              15
            ]
          },
          "triggered_at": {
            "kind": "datetime",
            "from": "2025-01-01",
            "to": "2025-12-31"
          }
        }
      },
      "api_keys": {
        "description": "Rows for the api_keys table.",
        "rows": 60,
        "columns": {
          "id": {
            "kind": "pk"
          },
          "expires_at": {
            "kind": "datetime",
            "from": "2026-01-01",
            "to": "2027-12-31"
          },
          "key_hash": {
            "kind": "pattern",
            "pattern": "[sk_live_]xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
            "unique": true
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.id",
            "skew": "flat"
          }
        }
      },
      "audit_logs": {
        "description": "Rows for the audit_logs table.",
        "rows": 10,
        "columns": {
          "id": {
            "kind": "pk"
          },
          "action": {
            "kind": "enum",
            "values": [
              "login",
              "update_device",
              "create_rule",
              "delete_rule",
              "invite_user"
            ],
            "weights": [
              50,
              25,
              10,
              5,
              10
            ]
          },
          "performed_at": {
            "kind": "datetime",
            "from": "2025-01-01",
            "to": "2025-12-31",
            "dayProfile": "business"
          },
          "target": {
            "kind": "enum",
            "values": [
              "device",
              "alarm_rule",
              "user",
              "session"
            ]
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.id",
            "skew": "long-tail"
          }
        }
      },
      "billing_plans": {
        "description": "Rows for the billing_plans table.",
        "rows": 4,
        "columns": {
          "id": {
            "kind": "pk"
          },
          "device_limit": {
            "kind": "int",
            "min": 25,
            "max": 10000
          },
          "name": {
            "kind": "enum",
            "values": [
              "Starter",
              "Growth",
              "Business",
              "Enterprise"
            ],
            "unique": true
          },
          "price": {
            "kind": "decimal",
            "min": 49,
            "max": 4999,
            "scale": 2
          }
        }
      },
      "device_configurations": {
        "description": "Rows for the device_configurations table.",
        "rows": 10,
        "columns": {
          "id": {
            "kind": "pk"
          },
          "config_key": {
            "kind": "enum",
            "values": [
              "report_interval_s",
              "tx_power",
              "sleep_mode",
              "timezone"
            ]
          },
          "config_value": {
            "kind": "enum",
            "values": [
              "60",
              "300",
              "high",
              "low",
              "enabled",
              "UTC"
            ]
          },
          "device_id": {
            "kind": "fk",
            "ref": "devices.id",
            "skew": "flat"
          },
          "updated_at": {
            "kind": "datetime",
            "from": "2025-01-01",
            "to": "2025-12-31"
          }
        }
      },
      "device_geofences": {
        "description": "Rows for the device_geofences table.",
        "rows": 10,
        "columns": {
          "id": {
            "kind": "pk"
          },
          "device_id": {
            "kind": "fk",
            "ref": "devices.id",
            "skew": "flat"
          },
          "geofence_id": {
            "kind": "fk",
            "ref": "geofences.id"
          }
        }
      },
      "device_group_members": {
        "description": "Rows for the device_group_members table.",
        "rows": 10,
        "columns": {
          "id": {
            "kind": "pk"
          },
          "device_group_id": {
            "kind": "fk",
            "ref": "device_groups.id"
          },
          "device_id": {
            "kind": "fk",
            "ref": "devices.id",
            "unique": true
          }
        }
      },
      "device_groups": {
        "description": "Rows for the device_groups table.",
        "rows": 60,
        "columns": {
          "id": {
            "kind": "pk"
          },
          "description": {
            "kind": "enum",
            "values": [
              "By location",
              "By function",
              "Trial devices"
            ]
          },
          "name": {
            "kind": "enum",
            "values": [
              "Floor 1",
              "Floor 2",
              "Freezers",
              "North field",
              "Production line",
              "Pilot"
            ]
          },
          "organization_id": {
            "kind": "fk",
            "ref": "organizations.id",
            "skew": "flat"
          }
        }
      },
      "device_metrics": {
        "description": "Rows for the device_metrics table.",
        "rows": 50,
        "columns": {
          "id": {
            "kind": "pk"
          },
          "cpu_usage": {
            "kind": "decimal",
            "min": 1,
            "max": 100,
            "scale": 1,
            "distribution": "long-tail"
          },
          "device_id": {
            "kind": "fk",
            "ref": "devices.id",
            "skew": "flat"
          },
          "disk_usage": {
            "kind": "decimal",
            "min": 5,
            "max": 98,
            "scale": 1
          },
          "memory_usage": {
            "kind": "decimal",
            "min": 10,
            "max": 95,
            "scale": 1,
            "distribution": "normal"
          },
          "recorded_at": {
            "kind": "datetime",
            "from": "2025-01-01",
            "to": "2025-12-31"
          }
        }
      },
      "device_types": {
        "description": "Rows for the device_types table.",
        "rows": 10,
        "columns": {
          "id": {
            "kind": "pk"
          },
          "description": {
            "kind": "enum",
            "values": [
              "Battery powered",
              "Mains powered",
              "PoE powered"
            ]
          },
          "manufacturer": {
            "kind": "company.name"
          },
          "model": {
            "kind": "pattern",
            "pattern": "AA-###",
            "unique": true
          },
          "name": {
            "kind": "enum",
            "values": [
              "Environmental sensor",
              "Smart meter",
              "Thermostat",
              "Air quality monitor",
              "Asset tracker",
              "Industrial controller",
              "Cold chain logger",
              "Smart plug",
              "Flow meter",
              "Vibration sensor"
            ],
            "unique": true
          }
        }
      },
      "devices": {
        "description": "Rows for the devices table.",
        "rows": 10,
        "columns": {
          "id": {
            "kind": "pk"
          },
          "device_type_id": {
            "kind": "fk",
            "ref": "device_types.id",
            "skew": "long-tail"
          },
          "ip_address": {
            "kind": "pattern",
            "pattern": "[10.]#[.]#[.]##"
          },
          "location_id": {
            "kind": "fk",
            "ref": "locations.id",
            "skew": "flat"
          },
          "mac_address": {
            "kind": "internet.mac"
          },
          "name": {
            "kind": "pattern",
            "pattern": "[dev-]xxxxxx",
            "unique": true
          },
          "serial_number": {
            "kind": "pattern",
            "pattern": "[SN]##########",
            "unique": true
          },
          "status": {
            "kind": "enum",
            "values": [
              "online",
              "offline",
              "decommissioned"
            ],
            "weights": [
              88,
              9,
              3
            ]
          }
        }
      },
      "error_logs": {
        "description": "Rows for the error_logs table.",
        "rows": 10,
        "columns": {
          "id": {
            "kind": "pk"
          },
          "device_id": {
            "kind": "fk",
            "ref": "devices.id",
            "skew": "long-tail"
          },
          "error_code": {
            "kind": "enum",
            "values": [
              "1001",
              "1002",
              "2001",
              "3004",
              "4040",
              "5003"
            ],
            "weights": [
              30,
              20,
              15,
              15,
              10,
              10
            ],
            "type": "integer"
          },
          "logged_at": {
            "kind": "datetime",
            "from": "2025-01-01",
            "to": "2025-12-31"
          },
          "message": {
            "kind": "enum",
            "values": [
              "Sensor read timeout",
              "Battery low",
              "Connection lost",
              "Checksum mismatch",
              "Endpoint not found",
              "Watchdog reset"
            ]
          }
        }
      },
      "firmware_deployments": {
        "description": "Rows for the firmware_deployments table.",
        "rows": 10,
        "columns": {
          "id": {
            "kind": "pk"
          },
          "deployed_at": {
            "kind": "datetime",
            "from": "2025-01-01",
            "to": "2025-12-31"
          },
          "device_id": {
            "kind": "fk",
            "ref": "devices.id",
            "skew": "flat"
          },
          "firmware_release_id": {
            "kind": "fk",
            "ref": "firmware_releases.id"
          },
          "status": {
            "kind": "enum",
            "values": [
              "succeeded",
              "failed",
              "rolled_back"
            ],
            "weights": [
              92,
              5,
              3
            ]
          }
        }
      },
      "firmware_releases": {
        "description": "Rows for the firmware_releases table.",
        "rows": 40,
        "columns": {
          "id": {
            "kind": "pk"
          },
          "device_type_id": {
            "kind": "fk",
            "ref": "device_types.id",
            "skew": "flat"
          },
          "file_url": {
            "kind": "pattern",
            "pattern": "[https://firmware.example.com/]xxxxxxxxxxxx[.bin]"
          },
          "released_at": {
            "kind": "datetime",
            "from": "2024-01-01",
            "to": "2025-11-30",
            "dayProfile": "business"
          },
          "version": {
            "kind": "pattern",
            "pattern": "#.#.##"
          }
        }
      },
      "gateway_devices": {
        "description": "Rows for the gateway_devices table.",
        "rows": 10,
        "columns": {
          "id": {
            "kind": "pk"
          },
          "device_id": {
            "kind": "fk",
            "ref": "devices.id",
            "unique": true
          },
          "gateway_id": {
            "kind": "fk",
            "ref": "gateways.id"
          }
        }
      },
      "gateways": {
        "description": "Rows for the gateways table.",
        "rows": 80,
        "columns": {
          "id": {
            "kind": "pk"
          },
          "ip_address": {
            "kind": "pattern",
            "pattern": "[10.]#[.]#[.]1"
          },
          "name": {
            "kind": "pattern",
            "pattern": "[gw-]xxxx"
          },
          "organization_id": {
            "kind": "fk",
            "ref": "organizations.id",
            "skew": "flat"
          },
          "status": {
            "kind": "enum",
            "values": [
              "online",
              "offline"
            ],
            "weights": [
              95,
              5
            ]
          }
        }
      },
      "geofences": {
        "description": "Rows for the geofences table.",
        "rows": 40,
        "columns": {
          "id": {
            "kind": "pk"
          },
          "geometry_data": {
            "kind": "constant",
            "value": "POLYGON((...))"
          },
          "name": {
            "kind": "enum",
            "values": [
              "Site perimeter",
              "Loading dock",
              "Yard",
              "Cold room",
              "Parking"
            ]
          },
          "organization_id": {
            "kind": "fk",
            "ref": "organizations.id",
            "skew": "flat"
          }
        }
      },
      "locations": {
        "description": "Rows for the locations table.",
        "rows": 10,
        "columns": {
          "id": {
            "kind": "pk"
          },
          "address": {
            "kind": "location.streetAddress"
          },
          "latitude": {
            "kind": "decimal",
            "min": 25.5,
            "max": 48.5,
            "scale": 6
          },
          "longitude": {
            "kind": "decimal",
            "min": -123,
            "max": -71,
            "scale": 6
          },
          "name": {
            "kind": "enum",
            "values": [
              "Plant",
              "Warehouse",
              "Head office",
              "Cold store",
              "Greenhouse",
              "Substation",
              "Store"
            ]
          },
          "organization_id": {
            "kind": "fk",
            "ref": "organizations.id",
            "skew": "flat"
          }
        }
      },
      "maintenance_logs": {
        "description": "Rows for the maintenance_logs table.",
        "rows": 10,
        "columns": {
          "id": {
            "kind": "pk"
          },
          "cost": {
            "kind": "decimal",
            "min": 0,
            "max": 600,
            "scale": 2,
            "distribution": "long-tail"
          },
          "description": {
            "kind": "enum",
            "values": [
              "Battery replaced",
              "Recalibrated",
              "Antenna repositioned",
              "Enclosure cleaned",
              "Sensor swapped"
            ]
          },
          "device_id": {
            "kind": "fk",
            "ref": "devices.id",
            "skew": "flat"
          },
          "performed_at": {
            "kind": "datetime",
            "from": "2025-01-01",
            "to": "2025-12-31",
            "dayProfile": "business"
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.id"
          }
        }
      },
      "network_connections": {
        "description": "Rows for the network_connections table.",
        "rows": 10,
        "columns": {
          "id": {
            "kind": "pk"
          },
          "connected_at": {
            "kind": "datetime",
            "from": "2025-01-01",
            "to": "2025-12-31"
          },
          "device_id": {
            "kind": "fk",
            "ref": "devices.id",
            "skew": "flat"
          },
          "network_id": {
            "kind": "fk",
            "ref": "networks.id"
          },
          "signal_strength": {
            "kind": "int",
            "min": -110,
            "max": -40,
            "distribution": "normal"
          }
        }
      },
      "networks": {
        "description": "Rows for the networks table.",
        "rows": 60,
        "columns": {
          "id": {
            "kind": "pk"
          },
          "name": {
            "kind": "pattern",
            "pattern": "[net-]xxxx"
          },
          "organization_id": {
            "kind": "fk",
            "ref": "organizations.id",
            "skew": "flat"
          },
          "password": {
            "kind": "constant",
            "value": "********",
            "description": "Masked; the platform never stores it in clear."
          },
          "ssid": {
            "kind": "pattern",
            "pattern": "[IOT-]AAAA"
          },
          "type": {
            "kind": "enum",
            "values": [
              "wifi",
              "lte",
              "lorawan",
              "ethernet"
            ],
            "weights": [
              40,
              25,
              20,
              15
            ]
          }
        }
      },
      "notifications": {
        "description": "Rows for the notifications table.",
        "rows": 10,
        "columns": {
          "id": {
            "kind": "pk"
          },
          "message": {
            "kind": "enum",
            "values": [
              "An alarm was raised",
              "A device went offline",
              "Firmware update completed",
              "Your report is ready"
            ]
          },
          "read_status": {
            "kind": "enum",
            "values": [
              "read",
              "unread"
            ],
            "weights": [
              75,
              25
            ]
          },
          "sent_at": {
            "kind": "datetime",
            "from": "2025-01-01",
            "to": "2025-12-31"
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.id",
            "skew": "long-tail"
          }
        }
      },
      "organizations": {
        "description": "Rows for the organizations table.",
        "rows": 20,
        "columns": {
          "id": {
            "kind": "pk"
          },
          "description": {
            "kind": "enum",
            "values": [
              "Manufacturing",
              "Cold chain logistics",
              "Smart buildings",
              "Agriculture",
              "Utilities",
              "Retail"
            ]
          },
          "name": {
            "kind": "company.name",
            "unique": true
          }
        }
      },
      "roles": {
        "description": "Rows for the roles table.",
        "rows": 4,
        "columns": {
          "id": {
            "kind": "pk"
          },
          "description": {
            "kind": "enum",
            "values": [
              "Owns the account",
              "Manages devices and users",
              "Operates devices",
              "Read only"
            ]
          },
          "name": {
            "kind": "enum",
            "values": [
              "owner",
              "admin",
              "operator",
              "viewer"
            ],
            "unique": true
          }
        }
      },
      "sensors": {
        "description": "Rows for the sensors table.",
        "rows": 10,
        "columns": {
          "id": {
            "kind": "pk"
          },
          "device_id": {
            "kind": "fk",
            "ref": "devices.id",
            "skew": "flat"
          },
          "name": {
            "kind": "pattern",
            "pattern": "[sensor-]xxxx"
          },
          "type": {
            "kind": "enum",
            "values": [
              "temperature",
              "humidity",
              "pressure",
              "co2",
              "power"
            ],
            "weights": [
              35,
              25,
              10,
              15,
              15
            ]
          },
          "unit": {
            "kind": "enum",
            "values": [
              "C",
              "%RH",
              "hPa",
              "ppm",
              "W"
            ]
          }
        }
      },
      "subscriptions": {
        "description": "Rows for the subscriptions table.",
        "rows": 20,
        "columns": {
          "id": {
            "kind": "pk"
          },
          "billing_plan_id": {
            "kind": "fk",
            "ref": "billing_plans.id",
            "weights": [
              20,
              40,
              30,
              10
            ]
          },
          "end_date": {
            "kind": "date",
            "from": "2026-01-01",
            "to": "2026-12-31"
          },
          "organization_id": {
            "kind": "fk",
            "ref": "organizations.id",
            "unique": true
          },
          "start_date": {
            "kind": "date",
            "from": "2022-01-01",
            "to": "2024-12-31"
          }
        }
      },
      "support_tickets": {
        "description": "Rows for the support_tickets table.",
        "rows": 10,
        "columns": {
          "id": {
            "kind": "pk"
          },
          "created_at": {
            "kind": "datetime",
            "from": "2025-01-01",
            "to": "2025-12-15",
            "dayProfile": "business"
          },
          "organization_id": {
            "kind": "fk",
            "ref": "organizations.id",
            "skew": "long-tail"
          },
          "status": {
            "kind": "enum",
            "values": [
              "resolved",
              "closed"
            ],
            "weights": [
              75,
              25
            ]
          },
          "subject": {
            "kind": "enum",
            "values": [
              "Device not reporting",
              "Billing question",
              "Add more users",
              "Firmware failed",
              "API rate limit"
            ]
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.id"
          }
        }
      },
      "telemetry_data": {
        "description": "Rows for the telemetry_data table.",
        "rows": 1000,
        "columns": {
          "id": {
            "kind": "pk"
          },
          "recorded_at": {
            "kind": "datetime",
            "from": "2025-01-01",
            "to": "2025-12-31"
          },
          "sensor_id": {
            "kind": "fk",
            "ref": "sensors.id",
            "skew": "flat"
          },
          "value": {
            "kind": "decimal",
            "min": -5,
            "max": 2700,
            "scale": 2,
            "distribution": "normal"
          }
        }
      },
      "ticket_replies": {
        "description": "Rows for the ticket_replies table.",
        "rows": 10,
        "columns": {
          "id": {
            "kind": "pk"
          },
          "created_at": {
            "kind": "datetime",
            "from": "2025-01-01",
            "to": "2025-12-31"
          },
          "message": {
            "kind": "enum",
            "values": [
              "Looking into it",
              "Fixed, please confirm",
              "Thanks, all good",
              "Can you send logs?"
            ]
          },
          "ticket_id": {
            "kind": "fk",
            "ref": "support_tickets.id",
            "skew": "flat"
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.id"
          }
        }
      },
      "user_roles": {
        "description": "Rows for the user_roles table.",
        "rows": 300,
        "columns": {
          "id": {
            "kind": "pk"
          },
          "role_id": {
            "kind": "fk",
            "ref": "roles.id",
            "weights": [
              7,
              15,
              48,
              30
            ]
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.id",
            "unique": true
          }
        }
      },
      "users": {
        "description": "Rows for the users table.",
        "rows": 300,
        "columns": {
          "id": {
            "kind": "pk"
          },
          "email": {
            "kind": "internet.email",
            "from": "name",
            "unique": true
          },
          "name": {
            "kind": "person.fullName"
          },
          "organization_id": {
            "kind": "fk",
            "ref": "organizations.id",
            "skew": "flat"
          },
          "password_hash": {
            "kind": "pattern",
            "pattern": "[$2b$12$]xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
          }
        }
      }
    }
  },
  "counts": {
    "billing_plans": 4,
    "device_types": 10,
    "firmware_releases": 40,
    "organizations": 20,
    "device_groups": 60,
    "gateways": 80,
    "geofences": 40,
    "locations": 10,
    "devices": 10,
    "actuators": 10,
    "actuator_commands": 10,
    "alarms": 10,
    "device_configurations": 10,
    "device_geofences": 10,
    "device_group_members": 10,
    "device_metrics": 50,
    "error_logs": 10,
    "firmware_deployments": 10,
    "gateway_devices": 10,
    "networks": 60,
    "network_connections": 10,
    "roles": 4,
    "sensors": 10,
    "alarm_rules": 10,
    "subscriptions": 20,
    "telemetry_data": 1000,
    "users": 300,
    "api_keys": 60,
    "audit_logs": 10,
    "maintenance_logs": 10,
    "notifications": 10,
    "support_tickets": 10,
    "ticket_replies": 10,
    "user_roles": 300
  },
  "artifacts": [
    {
      "file": "csv/billing_plans.csv",
      "format": "csv",
      "table": "billing_plans",
      "key": "datasets/iot-sample-database/v1/csv/billing_plans.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/csv/billing_plans.csv",
      "bytes": 109,
      "sha256": "61850c611dcee7cc05ed51cd722eeca61eda5fad6005730856ab476db45e5430",
      "rows": 4,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/device_types.csv",
      "format": "csv",
      "table": "device_types",
      "key": "datasets/iot-sample-database/v1/csv/device_types.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/csv/device_types.csv",
      "bytes": 611,
      "sha256": "7d5b26011028cfe03b2c52188f07ea00b84a35784b32449c81a41c415427bbbc",
      "rows": 10,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/firmware_releases.csv",
      "format": "csv",
      "table": "firmware_releases",
      "key": "datasets/iot-sample-database/v1/csv/firmware_releases.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/csv/firmware_releases.csv",
      "bytes": 3207,
      "sha256": "5998340714c431f9787e03b02cab981c8db6641e11c77495b2d6a06fd80d0b0d",
      "rows": 40,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/organizations.csv",
      "format": "csv",
      "table": "organizations",
      "key": "datasets/iot-sample-database/v1/csv/organizations.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/csv/organizations.csv",
      "bytes": 739,
      "sha256": "ebfb37af42bf4f8a92f4efb8bd8392f84c66a2105450f2e33becc54b1737bc1f",
      "rows": 20,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/device_groups.csv",
      "format": "csv",
      "table": "device_groups",
      "key": "datasets/iot-sample-database/v1/csv/device_groups.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/csv/device_groups.csv",
      "bytes": 1793,
      "sha256": "ea7963743500a6da5ea863a2f00140cc7e42682f7468f0079856031dbead48a9",
      "rows": 60,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/gateways.csv",
      "format": "csv",
      "table": "gateways",
      "key": "datasets/iot-sample-database/v1/csv/gateways.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/csv/gateways.csv",
      "bytes": 2482,
      "sha256": "f2ff62ce695ae4b518bbc149304bb2f20129e277c86b5cc80b845d73eb77fb32",
      "rows": 80,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/geofences.csv",
      "format": "csv",
      "table": "geofences",
      "key": "datasets/iot-sample-database/v1/csv/geofences.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/csv/geofences.csv",
      "bytes": 1326,
      "sha256": "b622f625794a8c86abb4a7009ed91ca7d5034e47df073ad74ad1e239a0ce1145",
      "rows": 40,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/locations.csv",
      "format": "csv",
      "table": "locations",
      "key": "datasets/iot-sample-database/v1/csv/locations.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/csv/locations.csv",
      "bytes": 596,
      "sha256": "f194e5a504c97079c24b4f928addc5deecd735e2f3c624e606450b03ad7ba608",
      "rows": 10,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/devices.csv",
      "format": "csv",
      "table": "devices",
      "key": "datasets/iot-sample-database/v1/csv/devices.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/csv/devices.csv",
      "bytes": 750,
      "sha256": "04e3b055e9c73494eaece54a64bb53e8c3bfd033fabd31f4c3812a286533b3c4",
      "rows": 10,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/actuators.csv",
      "format": "csv",
      "table": "actuators",
      "key": "datasets/iot-sample-database/v1/csv/actuators.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/csv/actuators.csv",
      "bytes": 246,
      "sha256": "643c7f976222200e6f81da13d3aaa299d18f95a6d502caa461e94ec6bb3ad73e",
      "rows": 10,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/actuator_commands.csv",
      "format": "csv",
      "table": "actuator_commands",
      "key": "datasets/iot-sample-database/v1/csv/actuator_commands.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/csv/actuator_commands.csv",
      "bytes": 483,
      "sha256": "34123184b1d7399197f5bffd427e6e789a6cd60174a9c7eaff22a04a9de916bb",
      "rows": 10,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/alarms.csv",
      "format": "csv",
      "table": "alarms",
      "key": "datasets/iot-sample-database/v1/csv/alarms.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/csv/alarms.csv",
      "bytes": 749,
      "sha256": "fdf8cb1f08b9263435b24b0710d8b6978b15fdba522ce1f26f26db0eb91ce674",
      "rows": 10,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/device_configurations.csv",
      "format": "csv",
      "table": "device_configurations",
      "key": "datasets/iot-sample-database/v1/csv/device_configurations.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/csv/device_configurations.csv",
      "bytes": 468,
      "sha256": "c50490da5dd8bc6dde93346fc87fcdde17cead990943927615471c3f562f05cb",
      "rows": 10,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/device_geofences.csv",
      "format": "csv",
      "table": "device_geofences",
      "key": "datasets/iot-sample-database/v1/csv/device_geofences.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/csv/device_geofences.csv",
      "bytes": 106,
      "sha256": "823f0246dea313362b999472de73050c382019c67613368c7f7223b20cdb8268",
      "rows": 10,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/device_group_members.csv",
      "format": "csv",
      "table": "device_group_members",
      "key": "datasets/iot-sample-database/v1/csv/device_group_members.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/csv/device_group_members.csv",
      "bytes": 112,
      "sha256": "5cb4b44b3c1d816ecb80143a3a49711340970507d6bd0913a715a03154172937",
      "rows": 10,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/device_metrics.csv",
      "format": "csv",
      "table": "device_metrics",
      "key": "datasets/iot-sample-database/v1/csv/device_metrics.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/csv/device_metrics.csv",
      "bytes": 2085,
      "sha256": "2dc2d2d2765d6a337e7c18bc75acf8d84faf90d9da8b9f6b2e8ad66468e42b97",
      "rows": 50,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/error_logs.csv",
      "format": "csv",
      "table": "error_logs",
      "key": "datasets/iot-sample-database/v1/csv/error_logs.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/csv/error_logs.csv",
      "bytes": 506,
      "sha256": "2760931d8fd6711b4983d425db59b8684530665cd9ecbe09e02328529247b59b",
      "rows": 10,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/firmware_deployments.csv",
      "format": "csv",
      "table": "firmware_deployments",
      "key": "datasets/iot-sample-database/v1/csv/firmware_deployments.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/csv/firmware_deployments.csv",
      "bytes": 430,
      "sha256": "b31f2f47c606caaa661f34036a5ee157f9b45ab27556bf0dfc8e91f8e278a835",
      "rows": 10,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/gateway_devices.csv",
      "format": "csv",
      "table": "gateway_devices",
      "key": "datasets/iot-sample-database/v1/csv/gateway_devices.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/csv/gateway_devices.csv",
      "bytes": 106,
      "sha256": "d3d025c1e7d9c744a4992c88c5929a17b442cb9a861e23629720c2441667f3f5",
      "rows": 10,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/networks.csv",
      "format": "csv",
      "table": "networks",
      "key": "datasets/iot-sample-database/v1/csv/networks.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/csv/networks.csv",
      "bytes": 2396,
      "sha256": "4d6df6c5f60c6d00cedea8e3e402b256e54694baf5abc93f795103f6d44c27d7",
      "rows": 60,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/network_connections.csv",
      "format": "csv",
      "table": "network_connections",
      "key": "datasets/iot-sample-database/v1/csv/network_connections.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/csv/network_connections.csv",
      "bytes": 374,
      "sha256": "ecbf83ebbb902f5fa75f4a7023f3e93a4ad6eeb959186438ae8fb8ca00fbad16",
      "rows": 10,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/roles.csv",
      "format": "csv",
      "table": "roles",
      "key": "datasets/iot-sample-database/v1/csv/roles.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/csv/roles.csv",
      "bytes": 131,
      "sha256": "35d953aab36ce9d223a1548a1efe7e5da3bb9b17913aad384b26cf8d438394fd",
      "rows": 4,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/sensors.csv",
      "format": "csv",
      "table": "sensors",
      "key": "datasets/iot-sample-database/v1/csv/sensors.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/csv/sensors.csv",
      "bytes": 315,
      "sha256": "a9ac2b822c18ce698459dc7b98336976e7766775f22e40f9fbe80635a25186b4",
      "rows": 10,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/alarm_rules.csv",
      "format": "csv",
      "table": "alarm_rules",
      "key": "datasets/iot-sample-database/v1/csv/alarm_rules.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/csv/alarm_rules.csv",
      "bytes": 279,
      "sha256": "aee115bdef03d4ddd12aa374ae911fae3888376102e0f1b280cc12769680ebdf",
      "rows": 10,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/subscriptions.csv",
      "format": "csv",
      "table": "subscriptions",
      "key": "datasets/iot-sample-database/v1/csv/subscriptions.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/csv/subscriptions.csv",
      "bytes": 658,
      "sha256": "833b37241259fe85bf699e642a8d09d255ba28445d95626f58f57f8230f8ba1b",
      "rows": 20,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/telemetry_data.csv",
      "format": "csv",
      "table": "telemetry_data",
      "key": "datasets/iot-sample-database/v1/csv/telemetry_data.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/csv/telemetry_data.csv",
      "bytes": 33448,
      "sha256": "b1db16504c4a2d262e5b84d785a22b5fb9601e07bba7a01e901fa7da7f6e7e00",
      "rows": 1000,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/users.csv",
      "format": "csv",
      "table": "users",
      "key": "datasets/iot-sample-database/v1/csv/users.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/csv/users.csv",
      "bytes": 33123,
      "sha256": "1bde140b0a807c9bc24dffc70cee392435f0f5dd09713742eadf2dc0ab42efef",
      "rows": 300,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/api_keys.csv",
      "format": "csv",
      "table": "api_keys",
      "key": "datasets/iot-sample-database/v1/csv/api_keys.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/csv/api_keys.csv",
      "bytes": 4619,
      "sha256": "e815304e1ce74c2e60e0058c74039536e8fe9a77ef80f7c2a6be5e0b952c6617",
      "rows": 60,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/audit_logs.csv",
      "format": "csv",
      "table": "audit_logs",
      "key": "datasets/iot-sample-database/v1/csv/audit_logs.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/csv/audit_logs.csv",
      "bytes": 475,
      "sha256": "d0663157844465ec78de5e7cad6d338d041d88d4f3228119aed2e13ee8da5b72",
      "rows": 10,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/maintenance_logs.csv",
      "format": "csv",
      "table": "maintenance_logs",
      "key": "datasets/iot-sample-database/v1/csv/maintenance_logs.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/csv/maintenance_logs.csv",
      "bytes": 569,
      "sha256": "25312553fc7eaa3d9c13e763cc3228229d9c99e4b370285b64a054f3327022b0",
      "rows": 10,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/notifications.csv",
      "format": "csv",
      "table": "notifications",
      "key": "datasets/iot-sample-database/v1/csv/notifications.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/csv/notifications.csv",
      "bytes": 565,
      "sha256": "25092073939a253bb28a8b414d52c8054b35223170840e5d39cdfa413184490d",
      "rows": 10,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/support_tickets.csv",
      "format": "csv",
      "table": "support_tickets",
      "key": "datasets/iot-sample-database/v1/csv/support_tickets.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/csv/support_tickets.csv",
      "bytes": 586,
      "sha256": "5138cd4326d5411ae5b9ec3a71a09e992e0045fc087683fefd404cf7aefcf8e6",
      "rows": 10,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/ticket_replies.csv",
      "format": "csv",
      "table": "ticket_replies",
      "key": "datasets/iot-sample-database/v1/csv/ticket_replies.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/csv/ticket_replies.csv",
      "bytes": 516,
      "sha256": "ecc4b9c78f3c16d22a09517eef410f4f401cf877d49a235a146920b33393c01e",
      "rows": 10,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/user_roles.csv",
      "format": "csv",
      "table": "user_roles",
      "key": "datasets/iot-sample-database/v1/csv/user_roles.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/csv/user_roles.csv",
      "bytes": 3104,
      "sha256": "b4615525cc392bb0f46bc5a8e59d75967e6b0bdfabe73308207f2b2eb3eeb610",
      "rows": 300,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "iot-sample-database.json",
      "format": "json",
      "table": null,
      "key": "datasets/iot-sample-database/v1/iot-sample-database.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/iot-sample-database.json",
      "bytes": 300287,
      "sha256": "753146c4ef41a40f13cb55a6fa86bd9e2c19d8a2b5a3ea8a0b1162ff3dd5d34a",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/iot-sample-database/v1/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/sql/postgres.sql",
      "bytes": 145024,
      "sha256": "09d8451e59e86a293753e8cdc686cbbd2491961f51bada2d0c46e5ba1bac7661",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/iot-sample-database/v1/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/sql/mysql.sql",
      "bytes": 141684,
      "sha256": "8234447ca6f98550fda8a6caa47e082efd194ee5153a5087f778d52069d25f58",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/iot-sample-database/v1/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/sql/mssql.sql",
      "bytes": 146765,
      "sha256": "57c53d74c925d758b95a9d6efbdb0fccc8273080d1bbe68d12f70acb453786ed",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/iot-sample-database/v1/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/sql/sqlite.sql",
      "bytes": 138725,
      "sha256": "164fec3bb910a3df9f53a1745c6fad6e3b38a070587660525367191796ebc851",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/iot-sample-database/v1/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/prisma/seed.ts",
      "bytes": 250278,
      "sha256": "8756e45ec93c52f5381a61e100e78fff480c0c5ab0a0bfbbebb4b24736649d53",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/iot-sample-database/v1/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/django/fixtures.json",
      "bytes": 399037,
      "sha256": "49238fe3f8961f53020fa99a97b7e53a8722d8d023ed66384603159fb5d60c71",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "flagship": {
    "sizes": {
      "1k": {
        "rows": 2238,
        "counts": {
          "billing_plans": 4,
          "device_types": 10,
          "firmware_releases": 40,
          "organizations": 20,
          "device_groups": 60,
          "gateways": 80,
          "geofences": 40,
          "locations": 10,
          "devices": 10,
          "actuators": 10,
          "actuator_commands": 10,
          "alarms": 10,
          "device_configurations": 10,
          "device_geofences": 10,
          "device_group_members": 10,
          "device_metrics": 50,
          "error_logs": 10,
          "firmware_deployments": 10,
          "gateway_devices": 10,
          "networks": 60,
          "network_connections": 10,
          "roles": 4,
          "sensors": 10,
          "alarm_rules": 10,
          "subscriptions": 20,
          "telemetry_data": 1000,
          "users": 300,
          "api_keys": 60,
          "audit_logs": 10,
          "maintenance_logs": 10,
          "notifications": 10,
          "support_tickets": 10,
          "ticket_replies": 10,
          "user_roles": 300
        },
        "notes": [],
        "downloads": [
          {
            "format": "sql-postgres",
            "label": "PostgreSQL",
            "file": "flagship/1k/postgres.sql.gz",
            "key": "datasets/iot-sample-database/v1/flagship/1k/postgres.sql.gz",
            "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/flagship/1k/postgres.sql.gz",
            "bytes": 47834,
            "sha256": "23108b3b2f10011a4455b5c9a3e4743bf52d366758adc7fc80c9af6436ac3fbc",
            "raw": {
              "bytes": 150047,
              "sha256": "81518c57ab2768abf170fedeb9c8948c35708b08c70d1b21220a3ba126bcdd85"
            },
            "contentType": "application/gzip"
          },
          {
            "format": "sql-mysql",
            "label": "MySQL",
            "file": "flagship/1k/mysql.sql.gz",
            "key": "datasets/iot-sample-database/v1/flagship/1k/mysql.sql.gz",
            "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/flagship/1k/mysql.sql.gz",
            "bytes": 47244,
            "sha256": "f3e889df6e7147bb2c3ff33b7e215e97b9f201ae25fa5510b1ce1a90b560a4a7",
            "raw": {
              "bytes": 146707,
              "sha256": "4355de2ec15a832e73099f8e40db5be7bd83f693d93dff8efafdf62262435f84"
            },
            "contentType": "application/gzip"
          },
          {
            "format": "sql-sqlite",
            "label": "SQLite",
            "file": "flagship/1k/sqlite.sql.gz",
            "key": "datasets/iot-sample-database/v1/flagship/1k/sqlite.sql.gz",
            "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/flagship/1k/sqlite.sql.gz",
            "bytes": 46660,
            "sha256": "72766f21b5915a4e097e2b038c9252267831b94a021d2df127cc7cf02abb5b65",
            "raw": {
              "bytes": 143748,
              "sha256": "04751dcdfbbafe55bc924015708b2c60823a55923f8b94e0374a5ecb8598f7b9"
            },
            "contentType": "application/gzip"
          },
          {
            "format": "csv",
            "label": "CSV",
            "file": "flagship/1k/csv.zip",
            "key": "datasets/iot-sample-database/v1/flagship/1k/csv.zip",
            "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/flagship/1k/csv.zip",
            "bytes": 49420,
            "sha256": "2d96d4b9c480dbbaec490b9d396945f0a1b4b92bb91f69700043c4062a1377b6",
            "tables": {
              "actuator_commands": {
                "bytes": 483,
                "sha256": "34123184b1d7399197f5bffd427e6e789a6cd60174a9c7eaff22a04a9de916bb"
              },
              "actuators": {
                "bytes": 246,
                "sha256": "643c7f976222200e6f81da13d3aaa299d18f95a6d502caa461e94ec6bb3ad73e"
              },
              "alarm_rules": {
                "bytes": 279,
                "sha256": "aee115bdef03d4ddd12aa374ae911fae3888376102e0f1b280cc12769680ebdf"
              },
              "alarms": {
                "bytes": 749,
                "sha256": "fdf8cb1f08b9263435b24b0710d8b6978b15fdba522ce1f26f26db0eb91ce674"
              },
              "api_keys": {
                "bytes": 4619,
                "sha256": "e815304e1ce74c2e60e0058c74039536e8fe9a77ef80f7c2a6be5e0b952c6617"
              },
              "audit_logs": {
                "bytes": 475,
                "sha256": "d0663157844465ec78de5e7cad6d338d041d88d4f3228119aed2e13ee8da5b72"
              },
              "billing_plans": {
                "bytes": 109,
                "sha256": "61850c611dcee7cc05ed51cd722eeca61eda5fad6005730856ab476db45e5430"
              },
              "device_configurations": {
                "bytes": 468,
                "sha256": "c50490da5dd8bc6dde93346fc87fcdde17cead990943927615471c3f562f05cb"
              },
              "device_geofences": {
                "bytes": 106,
                "sha256": "823f0246dea313362b999472de73050c382019c67613368c7f7223b20cdb8268"
              },
              "device_group_members": {
                "bytes": 112,
                "sha256": "5cb4b44b3c1d816ecb80143a3a49711340970507d6bd0913a715a03154172937"
              },
              "device_groups": {
                "bytes": 1793,
                "sha256": "ea7963743500a6da5ea863a2f00140cc7e42682f7468f0079856031dbead48a9"
              },
              "device_metrics": {
                "bytes": 2085,
                "sha256": "2dc2d2d2765d6a337e7c18bc75acf8d84faf90d9da8b9f6b2e8ad66468e42b97"
              },
              "device_types": {
                "bytes": 611,
                "sha256": "7d5b26011028cfe03b2c52188f07ea00b84a35784b32449c81a41c415427bbbc"
              },
              "devices": {
                "bytes": 750,
                "sha256": "04e3b055e9c73494eaece54a64bb53e8c3bfd033fabd31f4c3812a286533b3c4"
              },
              "error_logs": {
                "bytes": 506,
                "sha256": "2760931d8fd6711b4983d425db59b8684530665cd9ecbe09e02328529247b59b"
              },
              "firmware_deployments": {
                "bytes": 430,
                "sha256": "b31f2f47c606caaa661f34036a5ee157f9b45ab27556bf0dfc8e91f8e278a835"
              },
              "firmware_releases": {
                "bytes": 3207,
                "sha256": "5998340714c431f9787e03b02cab981c8db6641e11c77495b2d6a06fd80d0b0d"
              },
              "gateway_devices": {
                "bytes": 106,
                "sha256": "d3d025c1e7d9c744a4992c88c5929a17b442cb9a861e23629720c2441667f3f5"
              },
              "gateways": {
                "bytes": 2482,
                "sha256": "f2ff62ce695ae4b518bbc149304bb2f20129e277c86b5cc80b845d73eb77fb32"
              },
              "geofences": {
                "bytes": 1326,
                "sha256": "b622f625794a8c86abb4a7009ed91ca7d5034e47df073ad74ad1e239a0ce1145"
              },
              "locations": {
                "bytes": 596,
                "sha256": "f194e5a504c97079c24b4f928addc5deecd735e2f3c624e606450b03ad7ba608"
              },
              "maintenance_logs": {
                "bytes": 569,
                "sha256": "25312553fc7eaa3d9c13e763cc3228229d9c99e4b370285b64a054f3327022b0"
              },
              "network_connections": {
                "bytes": 374,
                "sha256": "ecbf83ebbb902f5fa75f4a7023f3e93a4ad6eeb959186438ae8fb8ca00fbad16"
              },
              "networks": {
                "bytes": 2396,
                "sha256": "4d6df6c5f60c6d00cedea8e3e402b256e54694baf5abc93f795103f6d44c27d7"
              },
              "notifications": {
                "bytes": 565,
                "sha256": "25092073939a253bb28a8b414d52c8054b35223170840e5d39cdfa413184490d"
              },
              "organizations": {
                "bytes": 739,
                "sha256": "ebfb37af42bf4f8a92f4efb8bd8392f84c66a2105450f2e33becc54b1737bc1f"
              },
              "roles": {
                "bytes": 131,
                "sha256": "35d953aab36ce9d223a1548a1efe7e5da3bb9b17913aad384b26cf8d438394fd"
              },
              "sensors": {
                "bytes": 315,
                "sha256": "a9ac2b822c18ce698459dc7b98336976e7766775f22e40f9fbe80635a25186b4"
              },
              "subscriptions": {
                "bytes": 658,
                "sha256": "833b37241259fe85bf699e642a8d09d255ba28445d95626f58f57f8230f8ba1b"
              },
              "support_tickets": {
                "bytes": 586,
                "sha256": "5138cd4326d5411ae5b9ec3a71a09e992e0045fc087683fefd404cf7aefcf8e6"
              },
              "telemetry_data": {
                "bytes": 33448,
                "sha256": "b1db16504c4a2d262e5b84d785a22b5fb9601e07bba7a01e901fa7da7f6e7e00"
              },
              "ticket_replies": {
                "bytes": 516,
                "sha256": "ecc4b9c78f3c16d22a09517eef410f4f401cf877d49a235a146920b33393c01e"
              },
              "user_roles": {
                "bytes": 3104,
                "sha256": "b4615525cc392bb0f46bc5a8e59d75967e6b0bdfabe73308207f2b2eb3eeb610"
              },
              "users": {
                "bytes": 33123,
                "sha256": "1bde140b0a807c9bc24dffc70cee392435f0f5dd09713742eadf2dc0ab42efef"
              }
            },
            "contentType": "application/zip"
          }
        ],
        "checks": {
          "postgres": {
            "version": "18.3",
            "ok": true
          },
          "sqlite": {
            "version": "3.53.1",
            "ok": true
          },
          "notRun": [
            {
              "engine": "MySQL",
              "note": "Written from the same rows; not loaded here, no MySQL server runs in the build."
            }
          ]
        },
        "rules": [
          {
            "name": "Every reading lies in its sensor type's range, and the sensor's unit is its type's",
            "violations": 0
          },
          {
            "name": "Every sensor has one alarm rule, its threshold in the sensor's range",
            "violations": 0
          },
          {
            "name": "Organizations never mix: a device is grouped, gatewayed, networked and fenced only with its own organization's",
            "violations": 0
          },
          {
            "name": "Only an organization's own users maintain its devices and answer its tickets",
            "violations": 0
          },
          {
            "name": "A rollout installs a release for the device's own type, one to thirty days after it was released",
            "violations": 0
          },
          {
            "name": "An alarm is resolved five minutes to two days after it was raised, or not yet; a reply follows its ticket",
            "violations": 0
          },
          {
            "name": "Every site has a device and every device a sensor; a device has one gateway and joins a group once",
            "violations": 0
          }
        ],
        "dirty": {
          "report": {
            "rates": {
              "missing": 0.03,
              "typos": 0.03,
              "outliers": 0.005,
              "duplicates": 0.01
            },
            "tables": {
              "billing_plans": {
                "duplicates": 0,
                "columns": {
                  "name": {
                    "missing": 1,
                    "typos": 0,
                    "outliers": 0
                  }
                }
              },
              "device_types": {
                "duplicates": 0,
                "columns": {
                  "manufacturer": {
                    "missing": 1,
                    "typos": 1,
                    "outliers": 0
                  },
                  "model": {
                    "missing": 0,
                    "typos": 1,
                    "outliers": 0
                  },
                  "name": {
                    "missing": 1,
                    "typos": 0,
                    "outliers": 0
                  }
                }
              },
              "firmware_releases": {
                "duplicates": 0,
                "columns": {
                  "file_url": {
                    "missing": 1,
                    "typos": 1,
                    "outliers": 0
                  },
                  "version": {
                    "missing": 0,
                    "typos": 3,
                    "outliers": 0
                  }
                }
              },
              "organizations": {
                "duplicates": 0,
                "columns": {
                  "name": {
                    "missing": 2,
                    "typos": 1,
                    "outliers": 0
                  }
                }
              },
              "device_groups": {
                "duplicates": 1,
                "columns": {
                  "description": {
                    "missing": 3,
                    "typos": 2,
                    "outliers": 0
                  },
                  "name": {
                    "missing": 2,
                    "typos": 1,
                    "outliers": 0
                  }
                }
              },
              "gateways": {
                "duplicates": 1,
                "columns": {
                  "ip_address": {
                    "missing": 5,
                    "typos": 2,
                    "outliers": 0
                  },
                  "name": {
                    "missing": 2,
                    "typos": 1,
                    "outliers": 0
                  },
                  "status": {
                    "missing": 3,
                    "typos": 5,
                    "outliers": 0
                  }
                }
              },
              "geofences": {
                "duplicates": 1,
                "columns": {
                  "geometry_data": {
                    "missing": 1,
                    "typos": 1,
                    "outliers": 0
                  },
                  "name": {
                    "missing": 3,
                    "typos": 1,
                    "outliers": 0
                  }
                }
              },
              "devices": {
                "duplicates": 0,
                "columns": {
                  "ip_address": {
                    "missing": 1,
                    "typos": 0,
                    "outliers": 0
                  }
                }
              },
              "actuators": {
                "duplicates": 0,
                "columns": {
                  "type": {
                    "missing": 0,
                    "typos": 1,
                    "outliers": 0
                  }
                }
              },
              "actuator_commands": {
                "duplicates": 0,
                "columns": {
                  "status": {
                    "missing": 1,
                    "typos": 0,
                    "outliers": 0
                  }
                }
              },
              "alarms": {
                "duplicates": 0,
                "columns": {
                  "severity": {
                    "missing": 1,
                    "typos": 0,
                    "outliers": 0
                  },
                  "triggered_at": {
                    "missing": 1,
                    "typos": 0,
                    "outliers": 0
                  }
                }
              },
              "device_metrics": {
                "duplicates": 0,
                "columns": {
                  "cpu_usage": {
                    "missing": 1,
                    "typos": 0,
                    "outliers": 0
                  },
                  "disk_usage": {
                    "missing": 2,
                    "typos": 0,
                    "outliers": 0
                  },
                  "memory_usage": {
                    "missing": 2,
                    "typos": 0,
                    "outliers": 0
                  },
                  "recorded_at": {
                    "missing": 1,
                    "typos": 0,
                    "outliers": 0
                  }
                }
              },
              "error_logs": {
                "duplicates": 0,
                "columns": {
                  "error_code": {
                    "missing": 2,
                    "typos": 0,
                    "outliers": 0
                  }
                }
              },
              "networks": {
                "duplicates": 0,
                "columns": {
                  "name": {
                    "missing": 0,
                    "typos": 3,
                    "outliers": 0
                  },
                  "password": {
                    "missing": 2,
                    "typos": 0,
                    "outliers": 0
                  },
                  "ssid": {
                    "missing": 2,
                    "typos": 0,
                    "outliers": 0
                  },
                  "type": {
                    "missing": 2,
                    "typos": 7,
                    "outliers": 0
                  }
                }
              },
              "sensors": {
                "duplicates": 0,
                "columns": {
                  "name": {
                    "missing": 1,
                    "typos": 0,
                    "outliers": 0
                  },
                  "unit": {
                    "missing": 0,
                    "typos": 1,
                    "outliers": 0
                  }
                }
              },
              "alarm_rules": {
                "duplicates": 0,
                "columns": {
                  "condition_type": {
                    "missing": 1,
                    "typos": 0,
                    "outliers": 0
                  },
                  "severity": {
                    "missing": 3,
                    "typos": 2,
                    "outliers": 0
                  }
                }
              },
              "telemetry_data": {
                "duplicates": 7,
                "columns": {
                  "recorded_at": {
                    "missing": 23,
                    "typos": 0,
                    "outliers": 0
                  },
                  "value": {
                    "missing": 37,
                    "typos": 0,
                    "outliers": 3
                  }
                }
              },
              "users": {
                "duplicates": 4,
                "columns": {
                  "email": {
                    "missing": 10,
                    "typos": 8,
                    "outliers": 0
                  },
                  "name": {
                    "missing": 5,
                    "typos": 13,
                    "outliers": 0
                  },
                  "password_hash": {
                    "missing": 8,
                    "typos": 9,
                    "outliers": 0
                  }
                }
              },
              "api_keys": {
                "duplicates": 0,
                "columns": {
                  "expires_at": {
                    "missing": 1,
                    "typos": 0,
                    "outliers": 0
                  },
                  "key_hash": {
                    "missing": 3,
                    "typos": 0,
                    "outliers": 0
                  }
                }
              },
              "audit_logs": {
                "duplicates": 0,
                "columns": {
                  "action": {
                    "missing": 0,
                    "typos": 1,
                    "outliers": 0
                  }
                }
              },
              "maintenance_logs": {
                "duplicates": 0,
                "columns": {
                  "description": {
                    "missing": 0,
                    "typos": 1,
                    "outliers": 0
                  }
                }
              },
              "notifications": {
                "duplicates": 0,
                "columns": {
                  "sent_at": {
                    "missing": 1,
                    "typos": 0,
                    "outliers": 0
                  }
                }
              },
              "support_tickets": {
                "duplicates": 0,
                "columns": {
                  "subject": {
                    "missing": 0,
                    "typos": 1,
                    "outliers": 0
                  }
                }
              },
              "ticket_replies": {
                "duplicates": 0,
                "columns": {
                  "created_at": {
                    "missing": 2,
                    "typos": 0,
                    "outliers": 0
                  }
                }
              },
              "user_roles": {
                "duplicates": 2,
                "columns": {}
              }
            },
            "totals": {
              "missing": 138,
              "typos": 67,
              "outliers": 3,
              "duplicates": 16
            }
          },
          "downloads": [
            {
              "format": "dirty-sql-postgres",
              "label": "PostgreSQL, with faults",
              "file": "flagship/1k/dirty-postgres.sql.gz",
              "key": "datasets/iot-sample-database/v1/flagship/1k/dirty-postgres.sql.gz",
              "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/flagship/1k/dirty-postgres.sql.gz",
              "bytes": 46348,
              "sha256": "d4190d29a1bd022a9a605c83094ea9c461ac88db7ba4e1e2018e932bc3cdd16f",
              "raw": {
                "bytes": 143105,
                "sha256": "dce2f08bc1fd07e0f068243dc8b4112d8d2b1da79af96dd0b9eaafe77b0c67f2"
              },
              "contentType": "application/gzip"
            },
            {
              "format": "dirty-csv",
              "label": "CSV, with faults",
              "file": "flagship/1k/dirty-csv.zip",
              "key": "datasets/iot-sample-database/v1/flagship/1k/dirty-csv.zip",
              "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/flagship/1k/dirty-csv.zip",
              "bytes": 49201,
              "sha256": "3d9e828afe3f3b3bee7a5e7576bba9aa9ca74d06c66b4f5df41166a8b98ad5db",
              "tables": {
                "actuator_commands": {
                  "bytes": 471,
                  "sha256": "c1812b389dc574d059a069c48e0297df49a1b480ac0310e85c8c2022c43e942f"
                },
                "actuators": {
                  "bytes": 249,
                  "sha256": "420ed5e94988517dfca489a58495aff425e6cb69b9d4b192ffb99d7a8b0884df"
                },
                "alarm_rules": {
                  "bytes": 268,
                  "sha256": "eefd836d0977b034cbb57ad68fb0b7c7120710f84a88de7ddf343f4870db3816"
                },
                "alarms": {
                  "bytes": 726,
                  "sha256": "aad7634aca665f7007fcbc836d788c1bc38a2e72916ce1971365f0cd1446584c"
                },
                "api_keys": {
                  "bytes": 4456,
                  "sha256": "cc2a365569c7ea18dffaa0ff70c492420c3c09a8936925328fb540bfdbac38ed"
                },
                "audit_logs": {
                  "bytes": 475,
                  "sha256": "73a5510c04aad09e36330995ac51106facdce8a35f5db40ccc864d7818f5eb94"
                },
                "billing_plans": {
                  "bytes": 102,
                  "sha256": "db6a813a4dc36f290f1628a1cf481da5caf61f4fe622be4afa9d63b2013700a3"
                },
                "device_configurations": {
                  "bytes": 468,
                  "sha256": "c50490da5dd8bc6dde93346fc87fcdde17cead990943927615471c3f562f05cb"
                },
                "device_geofences": {
                  "bytes": 106,
                  "sha256": "823f0246dea313362b999472de73050c382019c67613368c7f7223b20cdb8268"
                },
                "device_group_members": {
                  "bytes": 112,
                  "sha256": "5cb4b44b3c1d816ecb80143a3a49711340970507d6bd0913a715a03154172937"
                },
                "device_groups": {
                  "bytes": 1775,
                  "sha256": "9e5010068af9c5b39d6b4a7a49230e7f93286cc6660670670e9c528d13a29d4d"
                },
                "device_metrics": {
                  "bytes": 2047,
                  "sha256": "b15b60b2d90176a8db38c04a2595cef206ce5d444aea4994fe034b37d46695cd"
                },
                "device_types": {
                  "bytes": 591,
                  "sha256": "166ca762ca3c2c4abd08c8a9f9dcb784c9ab59ac1e6417f41b7295c459f7048d"
                },
                "devices": {
                  "bytes": 741,
                  "sha256": "09c1e85ba56f608b9a1c8f40f0706d13d4a5e4184ec41500e451431e8bc9be77"
                },
                "error_logs": {
                  "bytes": 498,
                  "sha256": "a2a6a696f1cca4f406e94e61424b6a8c2ac09e5dcb06861894f6fed329f6d89f"
                },
                "firmware_deployments": {
                  "bytes": 430,
                  "sha256": "b31f2f47c606caaa661f34036a5ee157f9b45ab27556bf0dfc8e91f8e278a835"
                },
                "firmware_releases": {
                  "bytes": 3171,
                  "sha256": "7c753b4b278be0e4456f4649e89233b05ed8d53cdc395a2920f623665b21d847"
                },
                "gateway_devices": {
                  "bytes": 106,
                  "sha256": "d3d025c1e7d9c744a4992c88c5929a17b442cb9a861e23629720c2441667f3f5"
                },
                "gateways": {
                  "bytes": 2450,
                  "sha256": "4a068cec705c5fc80c0a3678e9d8b679eeef2dbc254965693aa921a479e71c7d"
                },
                "geofences": {
                  "bytes": 1312,
                  "sha256": "eaa34689ba3f37e7fbf5ef526615eea786257909cb4e11470044b0f74ce05a72"
                },
                "locations": {
                  "bytes": 596,
                  "sha256": "f194e5a504c97079c24b4f928addc5deecd735e2f3c624e606450b03ad7ba608"
                },
                "maintenance_logs": {
                  "bytes": 569,
                  "sha256": "9276981c6d7918be47b1d2f4aa24f62eb111717941cbc2bb8532575fccaf14e2"
                },
                "network_connections": {
                  "bytes": 374,
                  "sha256": "ecbf83ebbb902f5fa75f4a7023f3e93a4ad6eeb959186438ae8fb8ca00fbad16"
                },
                "networks": {
                  "bytes": 2378,
                  "sha256": "45551033763ee09019b874275da63879055e1af14f3abb1bb54901dd97583237"
                },
                "notifications": {
                  "bytes": 546,
                  "sha256": "d3efde27fc8ab06ec52f386e137ea231da119d5cd4cc7cba1a5836756912a41a"
                },
                "organizations": {
                  "bytes": 692,
                  "sha256": "ce0a88bc15c4b5189ba54f9a576ae54d90e7fe1aaef5e4aced9b6ecdff66aeab"
                },
                "roles": {
                  "bytes": 131,
                  "sha256": "35d953aab36ce9d223a1548a1efe7e5da3bb9b17913aad384b26cf8d438394fd"
                },
                "sensors": {
                  "bytes": 307,
                  "sha256": "564bec574fc6d177684c39f37e33a66c303710b2740bbb22e2d9565f03760077"
                },
                "subscriptions": {
                  "bytes": 658,
                  "sha256": "833b37241259fe85bf699e642a8d09d255ba28445d95626f58f57f8230f8ba1b"
                },
                "support_tickets": {
                  "bytes": 586,
                  "sha256": "544cf81a6ddec2d3e1b5673b7be5d069219c54f677cdcd7c61957a931491270f"
                },
                "telemetry_data": {
                  "bytes": 33044,
                  "sha256": "8b663bbdc7df921d62f4637b0dba46f7a6acd24b70b843940d7138c59142b53a"
                },
                "ticket_replies": {
                  "bytes": 478,
                  "sha256": "e2edcda06df5ac01129b767e70bae85592795ef8e90d5afb7a175e6c82c5c49f"
                },
                "user_roles": {
                  "bytes": 3126,
                  "sha256": "878462939eb0b34d05252740b9d62276c6130e029bf5241f2f9bfc081229dc48"
                },
                "users": {
                  "bytes": 32738,
                  "sha256": "e7d574c1a79aa49dae0938191ec6da28adeb8c41573573faa1eb9cf1f9113a64"
                }
              },
              "contentType": "application/zip"
            }
          ]
        }
      },
      "100k": {
        "rows": 113638,
        "counts": {
          "billing_plans": 4,
          "device_types": 10,
          "firmware_releases": 40,
          "organizations": 20,
          "device_groups": 60,
          "gateways": 80,
          "geofences": 40,
          "locations": 10,
          "devices": 100,
          "actuators": 50,
          "actuator_commands": 1000,
          "alarms": 500,
          "device_configurations": 300,
          "device_geofences": 100,
          "device_group_members": 80,
          "device_metrics": 5000,
          "error_logs": 1000,
          "firmware_deployments": 400,
          "gateway_devices": 100,
          "networks": 60,
          "network_connections": 1000,
          "roles": 4,
          "sensors": 200,
          "alarm_rules": 200,
          "subscriptions": 20,
          "telemetry_data": 100000,
          "users": 300,
          "api_keys": 60,
          "audit_logs": 1000,
          "maintenance_logs": 200,
          "notifications": 1000,
          "support_tickets": 100,
          "ticket_replies": 300,
          "user_roles": 300
        },
        "notes": [],
        "downloads": [
          {
            "format": "sql-postgres",
            "label": "PostgreSQL",
            "file": "flagship/100k/postgres.sql.gz",
            "key": "datasets/iot-sample-database/v1/flagship/100k/postgres.sql.gz",
            "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/flagship/100k/postgres.sql.gz",
            "bytes": 1537374,
            "sha256": "fe0718ab8ea1cbda285f51cf8b4ec12d627e3b6b38a98e9653ec3a5ee5617a7a",
            "raw": {
              "bytes": 5644249,
              "sha256": "9e9598ca3ba0b0983ed74304e302a77655dc3f96dccb7b58ab385f036c82a58f"
            },
            "contentType": "application/gzip"
          },
          {
            "format": "sql-mysql",
            "label": "MySQL",
            "file": "flagship/100k/mysql.sql.gz",
            "key": "datasets/iot-sample-database/v1/flagship/100k/mysql.sql.gz",
            "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/flagship/100k/mysql.sql.gz",
            "bytes": 1536220,
            "sha256": "6239af20b865562776e0bf92c6c9b095412af6d6bf50367a518c31cb90ce233c",
            "raw": {
              "bytes": 5640909,
              "sha256": "9ccd3f16be7f34cf721501e4342938f43f5836b507cf817cc473078f6b43e084"
            },
            "contentType": "application/gzip"
          },
          {
            "format": "sql-sqlite",
            "label": "SQLite",
            "file": "flagship/100k/sqlite.sql.gz",
            "key": "datasets/iot-sample-database/v1/flagship/100k/sqlite.sql.gz",
            "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/flagship/100k/sqlite.sql.gz",
            "bytes": 1535465,
            "sha256": "d31d02883f84e69d23b8bba380946f3e23347ece0a98f7fe36d022a9bdc60236",
            "raw": {
              "bytes": 5637950,
              "sha256": "c541337559ec0de524933227fea602b246dea8e911e78da774e098795668a3a5"
            },
            "contentType": "application/gzip"
          },
          {
            "format": "csv",
            "label": "CSV",
            "file": "flagship/100k/csv.zip",
            "key": "datasets/iot-sample-database/v1/flagship/100k/csv.zip",
            "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/flagship/100k/csv.zip",
            "bytes": 1577181,
            "sha256": "fa02d4e9d244177192faccc8d511496de1021420cb5f244d813ba90a9aca13ff",
            "tables": {
              "actuator_commands": {
                "bytes": 45680,
                "sha256": "d6529bddfcc1c10de7a6ef05ff657128173b0a6af1a36ccd2d1cd5430af0e7e9"
              },
              "actuators": {
                "bytes": 1195,
                "sha256": "7563e9e2211ce26d2acff3368ac3f7bd7d21f13d4e0eda260f936163ebf2a316"
              },
              "alarm_rules": {
                "bytes": 5203,
                "sha256": "f905ac70c2556262d4d3f64afbe3ddd903d1e80e48d1248c7fb2e620de4f7804"
              },
              "alarms": {
                "bytes": 35680,
                "sha256": "daf72de652d6e157d366a7076152552f9cdc076ae4b24838684f8589b27555bf"
              },
              "api_keys": {
                "bytes": 4625,
                "sha256": "412148fc06a630dabc19661c6a0524475fc2ced6b7a0724b7f2298fe5e60de0d"
              },
              "audit_logs": {
                "bytes": 45482,
                "sha256": "511c8794e19ea9cc3087b153d63455ccdbc160df53cfd18ceb610226bc5efe32"
              },
              "billing_plans": {
                "bytes": 109,
                "sha256": "61850c611dcee7cc05ed51cd722eeca61eda5fad6005730856ab476db45e5430"
              },
              "device_configurations": {
                "bytes": 13299,
                "sha256": "fa6930ca18f9b29e1371dfd0f37b682fb054a0c4fd0323f78c71c59b2475f038"
              },
              "device_geofences": {
                "bytes": 993,
                "sha256": "d38385f5f727282b5823a2cf233cb4a6668c575104f4a3b06cbf919eba35cadc"
              },
              "device_group_members": {
                "bytes": 809,
                "sha256": "901d8db4b4329a4c7af0d2db45b0b5bfdf2051aa8e0d5dbf65c78360b4442825"
              },
              "device_groups": {
                "bytes": 1827,
                "sha256": "c919a525af398743f16eb405f80ab2b0b931308e5b1da347da23c9c96f5bba4f"
              },
              "device_metrics": {
                "bytes": 216694,
                "sha256": "4c675cc7b532feca3b1b450e1bddce7219ddb097f2bc4e7ae42b407119361dc8"
              },
              "device_types": {
                "bytes": 637,
                "sha256": "4d1ad15677d3ff1281ec4b2b1a28540eb681354c05534cd08e3af7ee7b40a786"
              },
              "devices": {
                "bytes": 6854,
                "sha256": "fa1a6fffcd2610d1f3df9bc69b5ad4d01faedf071e35928cb24c4e1a123067be"
              },
              "error_logs": {
                "bytes": 49288,
                "sha256": "3d910c21c119f94ece3e62182ca6d8edd9458a04fb641fcddd56fff5695ce90f"
              },
              "firmware_deployments": {
                "bytes": 16230,
                "sha256": "b0aeccf062f82cefb748836269e7d9babfe8d6b69de764e037fec3708393c7ed"
              },
              "firmware_releases": {
                "bytes": 3207,
                "sha256": "eb111656db6546d6ed3c81659bf4180c57f62c919171c4f52737fb7c33ceb654"
              },
              "gateway_devices": {
                "bytes": 982,
                "sha256": "27781bd3ff6f21ce0772431b4975b8cc8de5f98e6d421f68dc42c7eb2cc434ad"
              },
              "gateways": {
                "bytes": 2485,
                "sha256": "f2a82d5420a10a44aa3dbab7d33b541cefa5017ddbc36c0460cc3743a0b37649"
              },
              "geofences": {
                "bytes": 1286,
                "sha256": "9ca4505a34cfc11611857de8d4a233c65a19257e72d6126fcfd40a7c6166c2d3"
              },
              "locations": {
                "bytes": 622,
                "sha256": "56ca73c8079a77918a7cdd5457f8f55689fe936aee6dc981375c5983106b9acb"
              },
              "maintenance_logs": {
                "bytes": 10886,
                "sha256": "40da9969d9765eadef77fb551bd09d5d40139aa03b36ddfb8aee8cf8fce2940c"
              },
              "network_connections": {
                "bytes": 34673,
                "sha256": "2207db911d36fa71a2045b3f49952d941261942f2d31b109f3d8e8aba9d50a9c"
              },
              "networks": {
                "bytes": 2379,
                "sha256": "17187ca0ec5d27946022326b325406d65870812ce9e625d514da6d6e745b0fdb"
              },
              "notifications": {
                "bytes": 56033,
                "sha256": "92c2b5dcf134a7e00e176fdd85a1fcbe16ee416459d5c27a5e0e9ba20dad418f"
              },
              "organizations": {
                "bytes": 806,
                "sha256": "285ce072004864cf36ef5e045bbe6f3a7f8c045c3182f79cc5eea7375829a2c6"
              },
              "roles": {
                "bytes": 131,
                "sha256": "35d953aab36ce9d223a1548a1efe7e5da3bb9b17913aad384b26cf8d438394fd"
              },
              "sensors": {
                "bytes": 6268,
                "sha256": "2cc21de93f980d4008d3e79c049235b97d952b204704592d131100415a91562d"
              },
              "subscriptions": {
                "bytes": 658,
                "sha256": "ac9b81a8bbc0f54b763481722c65ab3623dd86dc36a3ef7f0bb406352dca6d43"
              },
              "support_tickets": {
                "bytes": 5559,
                "sha256": "01c592ed1ea9229f9e683c055cc2e8dc827cd8030f545b9b5651e0ace68e8cba"
              },
              "telemetry_data": {
                "bytes": 3660701,
                "sha256": "ce5bd3ed1811e2f8960069fdee988d8bae352ebf401b48ee525fa77b179eae76"
              },
              "ticket_replies": {
                "bytes": 15324,
                "sha256": "34d4aa66f3abeab5c2a0d09e109c714198ade8ef35fdf8783e0549cca392cb2c"
              },
              "user_roles": {
                "bytes": 3104,
                "sha256": "33731e0cda0779fb9f41c1be94539150b8563d98d31beb3e9df4c83b012310cf"
              },
              "users": {
                "bytes": 33328,
                "sha256": "e05abfe949a111d76f8d0ef2ce3674f5bad22a3ae5f2831e33031b33d73c5a22"
              }
            },
            "contentType": "application/zip"
          }
        ],
        "checks": {
          "postgres": {
            "version": "18.3",
            "ok": true
          },
          "sqlite": {
            "version": "3.53.1",
            "ok": true
          },
          "notRun": [
            {
              "engine": "MySQL",
              "note": "Written from the same rows; not loaded here, no MySQL server runs in the build."
            }
          ]
        },
        "rules": [
          {
            "name": "Every reading lies in its sensor type's range, and the sensor's unit is its type's",
            "violations": 0
          },
          {
            "name": "Every sensor has one alarm rule, its threshold in the sensor's range",
            "violations": 0
          },
          {
            "name": "Organizations never mix: a device is grouped, gatewayed, networked and fenced only with its own organization's",
            "violations": 0
          },
          {
            "name": "Only an organization's own users maintain its devices and answer its tickets",
            "violations": 0
          },
          {
            "name": "A rollout installs a release for the device's own type, one to thirty days after it was released",
            "violations": 0
          },
          {
            "name": "An alarm is resolved five minutes to two days after it was raised, or not yet; a reply follows its ticket",
            "violations": 0
          },
          {
            "name": "Every site has a device and every device a sensor; a device has one gateway and joins a group once",
            "violations": 0
          }
        ],
        "dirty": {
          "report": {
            "rates": {
              "missing": 0.03,
              "typos": 0.03,
              "outliers": 0.005,
              "duplicates": 0.01
            },
            "tables": {
              "device_types": {
                "duplicates": 0,
                "columns": {
                  "manufacturer": {
                    "missing": 0,
                    "typos": 2,
                    "outliers": 0
                  },
                  "model": {
                    "missing": 0,
                    "typos": 1,
                    "outliers": 0
                  },
                  "name": {
                    "missing": 0,
                    "typos": 1,
                    "outliers": 0
                  }
                }
              },
              "firmware_releases": {
                "duplicates": 0,
                "columns": {
                  "file_url": {
                    "missing": 3,
                    "typos": 0,
                    "outliers": 0
                  },
                  "released_at": {
                    "missing": 1,
                    "typos": 0,
                    "outliers": 0
                  },
                  "version": {
                    "missing": 1,
                    "typos": 0,
                    "outliers": 0
                  }
                }
              },
              "device_groups": {
                "duplicates": 0,
                "columns": {
                  "description": {
                    "missing": 2,
                    "typos": 1,
                    "outliers": 0
                  },
                  "name": {
                    "missing": 2,
                    "typos": 1,
                    "outliers": 0
                  }
                }
              },
              "gateways": {
                "duplicates": 0,
                "columns": {
                  "ip_address": {
                    "missing": 0,
                    "typos": 1,
                    "outliers": 0
                  },
                  "name": {
                    "missing": 3,
                    "typos": 4,
                    "outliers": 0
                  },
                  "status": {
                    "missing": 3,
                    "typos": 3,
                    "outliers": 0
                  }
                }
              },
              "geofences": {
                "duplicates": 0,
                "columns": {
                  "geometry_data": {
                    "missing": 4,
                    "typos": 1,
                    "outliers": 0
                  }
                }
              },
              "locations": {
                "duplicates": 0,
                "columns": {
                  "address": {
                    "missing": 0,
                    "typos": 1,
                    "outliers": 0
                  },
                  "name": {
                    "missing": 0,
                    "typos": 1,
                    "outliers": 0
                  }
                }
              },
              "devices": {
                "duplicates": 0,
                "columns": {
                  "ip_address": {
                    "missing": 3,
                    "typos": 2,
                    "outliers": 0
                  },
                  "mac_address": {
                    "missing": 4,
                    "typos": 2,
                    "outliers": 0
                  },
                  "name": {
                    "missing": 4,
                    "typos": 3,
                    "outliers": 0
                  },
                  "serial_number": {
                    "missing": 2,
                    "typos": 2,
                    "outliers": 0
                  },
                  "status": {
                    "missing": 2,
                    "typos": 1,
                    "outliers": 0
                  }
                }
              },
              "actuators": {
                "duplicates": 1,
                "columns": {
                  "name": {
                    "missing": 3,
                    "typos": 1,
                    "outliers": 0
                  },
                  "type": {
                    "missing": 0,
                    "typos": 1,
                    "outliers": 0
                  }
                }
              },
              "actuator_commands": {
                "duplicates": 4,
                "columns": {
                  "command": {
                    "missing": 24,
                    "typos": 30,
                    "outliers": 0
                  },
                  "sent_at": {
                    "missing": 28,
                    "typos": 0,
                    "outliers": 0
                  },
                  "status": {
                    "missing": 24,
                    "typos": 27,
                    "outliers": 0
                  }
                }
              },
              "alarms": {
                "duplicates": 7,
                "columns": {
                  "message": {
                    "missing": 19,
                    "typos": 14,
                    "outliers": 0
                  },
                  "resolved_at": {
                    "missing": 22,
                    "typos": 0,
                    "outliers": 0
                  },
                  "severity": {
                    "missing": 14,
                    "typos": 17,
                    "outliers": 0
                  },
                  "triggered_at": {
                    "missing": 15,
                    "typos": 0,
                    "outliers": 0
                  }
                }
              },
              "device_configurations": {
                "duplicates": 6,
                "columns": {
                  "config_key": {
                    "missing": 10,
                    "typos": 9,
                    "outliers": 0
                  },
                  "config_value": {
                    "missing": 7,
                    "typos": 5,
                    "outliers": 0
                  },
                  "updated_at": {
                    "missing": 8,
                    "typos": 0,
                    "outliers": 0
                  }
                }
              },
              "device_geofences": {
                "duplicates": 2,
                "columns": {}
              },
              "device_group_members": {
                "duplicates": 2,
                "columns": {}
              },
              "device_metrics": {
                "duplicates": 50,
                "columns": {
                  "cpu_usage": {
                    "missing": 152,
                    "typos": 0,
                    "outliers": 26
                  },
                  "disk_usage": {
                    "missing": 146,
                    "typos": 0,
                    "outliers": 27
                  },
                  "memory_usage": {
                    "missing": 140,
                    "typos": 0,
                    "outliers": 22
                  },
                  "recorded_at": {
                    "missing": 150,
                    "typos": 0,
                    "outliers": 0
                  }
                }
              },
              "error_logs": {
                "duplicates": 11,
                "columns": {
                  "error_code": {
                    "missing": 24,
                    "typos": 0,
                    "outliers": 8
                  },
                  "logged_at": {
                    "missing": 32,
                    "typos": 0,
                    "outliers": 0
                  },
                  "message": {
                    "missing": 26,
                    "typos": 29,
                    "outliers": 0
                  }
                }
              },
              "firmware_deployments": {
                "duplicates": 6,
                "columns": {
                  "deployed_at": {
                    "missing": 15,
                    "typos": 0,
                    "outliers": 0
                  },
                  "status": {
                    "missing": 13,
                    "typos": 17,
                    "outliers": 0
                  }
                }
              },
              "gateway_devices": {
                "duplicates": 1,
                "columns": {}
              },
              "networks": {
                "duplicates": 1,
                "columns": {
                  "name": {
                    "missing": 3,
                    "typos": 1,
                    "outliers": 0
                  },
                  "password": {
                    "missing": 1,
                    "typos": 1,
                    "outliers": 0
                  },
                  "ssid": {
                    "missing": 1,
                    "typos": 1,
                    "outliers": 0
                  },
                  "type": {
                    "missing": 4,
                    "typos": 2,
                    "outliers": 0
                  }
                }
              },
              "network_connections": {
                "duplicates": 4,
                "columns": {
                  "connected_at": {
                    "missing": 33,
                    "typos": 0,
                    "outliers": 0
                  },
                  "signal_strength": {
                    "missing": 29,
                    "typos": 0,
                    "outliers": 3
                  }
                }
              },
              "roles": {
                "duplicates": 0,
                "columns": {
                  "name": {
                    "missing": 1,
                    "typos": 0,
                    "outliers": 0
                  }
                }
              },
              "sensors": {
                "duplicates": 1,
                "columns": {
                  "name": {
                    "missing": 7,
                    "typos": 7,
                    "outliers": 0
                  },
                  "type": {
                    "missing": 6,
                    "typos": 5,
                    "outliers": 0
                  },
                  "unit": {
                    "missing": 7,
                    "typos": 10,
                    "outliers": 0
                  }
                }
              },
              "alarm_rules": {
                "duplicates": 1,
                "columns": {
                  "condition_type": {
                    "missing": 8,
                    "typos": 8,
                    "outliers": 0
                  },
                  "severity": {
                    "missing": 4,
                    "typos": 9,
                    "outliers": 0
                  },
                  "threshold_value": {
                    "missing": 3,
                    "typos": 0,
                    "outliers": 3
                  }
                }
              },
              "subscriptions": {
                "duplicates": 0,
                "columns": {
                  "start_date": {
                    "missing": 1,
                    "typos": 0,
                    "outliers": 0
                  }
                }
              },
              "telemetry_data": {
                "duplicates": 984,
                "columns": {
                  "recorded_at": {
                    "missing": 2903,
                    "typos": 0,
                    "outliers": 0
                  },
                  "value": {
                    "missing": 3055,
                    "typos": 0,
                    "outliers": 468
                  }
                }
              },
              "users": {
                "duplicates": 9,
                "columns": {
                  "email": {
                    "missing": 9,
                    "typos": 12,
                    "outliers": 0
                  },
                  "name": {
                    "missing": 7,
                    "typos": 10,
                    "outliers": 0
                  },
                  "password_hash": {
                    "missing": 6,
                    "typos": 8,
                    "outliers": 0
                  }
                }
              },
              "api_keys": {
                "duplicates": 2,
                "columns": {
                  "expires_at": {
                    "missing": 3,
                    "typos": 0,
                    "outliers": 0
                  },
                  "key_hash": {
                    "missing": 2,
                    "typos": 2,
                    "outliers": 0
                  }
                }
              },
              "audit_logs": {
                "duplicates": 11,
                "columns": {
                  "action": {
                    "missing": 35,
                    "typos": 22,
                    "outliers": 0
                  },
                  "performed_at": {
                    "missing": 42,
                    "typos": 0,
                    "outliers": 0
                  },
                  "target": {
                    "missing": 34,
                    "typos": 32,
                    "outliers": 0
                  }
                }
              },
              "maintenance_logs": {
                "duplicates": 3,
                "columns": {
                  "cost": {
                    "missing": 7,
                    "typos": 0,
                    "outliers": 1
                  },
                  "description": {
                    "missing": 4,
                    "typos": 7,
                    "outliers": 0
                  },
                  "performed_at": {
                    "missing": 6,
                    "typos": 0,
                    "outliers": 0
                  }
                }
              },
              "notifications": {
                "duplicates": 9,
                "columns": {
                  "message": {
                    "missing": 33,
                    "typos": 38,
                    "outliers": 0
                  },
                  "read_status": {
                    "missing": 22,
                    "typos": 20,
                    "outliers": 0
                  },
                  "sent_at": {
                    "missing": 21,
                    "typos": 0,
                    "outliers": 0
                  }
                }
              },
              "support_tickets": {
                "duplicates": 3,
                "columns": {
                  "created_at": {
                    "missing": 3,
                    "typos": 0,
                    "outliers": 0
                  },
                  "status": {
                    "missing": 6,
                    "typos": 2,
                    "outliers": 0
                  },
                  "subject": {
                    "missing": 2,
                    "typos": 2,
                    "outliers": 0
                  }
                }
              },
              "ticket_replies": {
                "duplicates": 1,
                "columns": {
                  "created_at": {
                    "missing": 10,
                    "typos": 0,
                    "outliers": 0
                  },
                  "message": {
                    "missing": 15,
                    "typos": 7,
                    "outliers": 0
                  }
                }
              },
              "user_roles": {
                "duplicates": 5,
                "columns": {}
              }
            },
            "totals": {
              "missing": 7239,
              "typos": 383,
              "outliers": 558,
              "duplicates": 1124
            }
          },
          "downloads": [
            {
              "format": "dirty-sql-postgres",
              "label": "PostgreSQL, with faults",
              "file": "flagship/100k/dirty-postgres.sql.gz",
              "key": "datasets/iot-sample-database/v1/flagship/100k/dirty-postgres.sql.gz",
              "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/flagship/100k/dirty-postgres.sql.gz",
              "bytes": 1535219,
              "sha256": "15d537ee9e2e7bcae6dd701b4f77d7191b8959abf496429b4a3e7c2e75918a74",
              "raw": {
                "bytes": 5632026,
                "sha256": "2f48ce5e42a07b1f0fdf762a1c965d59b15d35d7edd8715e419649889180ed51"
              },
              "contentType": "application/gzip"
            },
            {
              "format": "dirty-csv",
              "label": "CSV, with faults",
              "file": "flagship/100k/dirty-csv.zip",
              "key": "datasets/iot-sample-database/v1/flagship/100k/dirty-csv.zip",
              "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/flagship/100k/dirty-csv.zip",
              "bytes": 1569983,
              "sha256": "23486aeec7231fb8f149e8a9e67b7ed7a72a30a3a7eb540771a78a2e9dee888f",
              "tables": {
                "actuator_commands": {
                  "bytes": 45044,
                  "sha256": "ef88db9d9cbe384c069c340a1d1b853547cf6d9d6eed75fe69213594e4f9bc43"
                },
                "actuators": {
                  "bytes": 1181,
                  "sha256": "ea1dd8b1942e83f9118ab67a964e62ae6e3110731ae141f4b43ea88655dc9dc8"
                },
                "alarm_rules": {
                  "bytes": 5188,
                  "sha256": "27531c11f4696b2ce632be357b0223656c82db53b47a015502febe533a1905eb"
                },
                "alarms": {
                  "bytes": 35062,
                  "sha256": "b7f72b51c84c93125b6b27bf83022fe93e0ca4dbc657630179c5d8162ecc4990"
                },
                "api_keys": {
                  "bytes": 4629,
                  "sha256": "967e57f2269981abd60e5392dd8e42afddf462041541e8c7a8884e3871d75dba"
                },
                "audit_logs": {
                  "bytes": 44691,
                  "sha256": "af6f9203328198ed4daf49f10cad8c1e188e08c5900ba93353d1aba937613b85"
                },
                "billing_plans": {
                  "bytes": 109,
                  "sha256": "61850c611dcee7cc05ed51cd722eeca61eda5fad6005730856ab476db45e5430"
                },
                "device_configurations": {
                  "bytes": 13272,
                  "sha256": "926e04db4aaacdc43acaa61397fb8a4980f141ab5e744d6057b4f53b92068a67"
                },
                "device_geofences": {
                  "bytes": 1014,
                  "sha256": "32abef671b18f7c29d9b5658b1e9f9b6bf20ae08e75a864cb02223865bda62fe"
                },
                "device_group_members": {
                  "bytes": 829,
                  "sha256": "4d7a25d7532314b5265644145f268c9bf2aeb7fa605862c35618d2872ee2f182"
                },
                "device_groups": {
                  "bytes": 1790,
                  "sha256": "91da9bee6d61a09f6a33d2a82b71b1892a3913c7bf21ef9f0a44edb342e98257"
                },
                "device_metrics": {
                  "bytes": 214365,
                  "sha256": "732f6ba34448e822a4607dcc47552d8a5bf3b9765450674f291ca1e31a42d055"
                },
                "device_types": {
                  "bytes": 643,
                  "sha256": "a2595091b8e636484645995a08ed4294a3aa3e0319ee5cdba225d33c5f4e658f"
                },
                "devices": {
                  "bytes": 6701,
                  "sha256": "c9ca9c77951bf9c963ae9af714415bea22f91f2b45ee5e197753e40b33870353"
                },
                "error_logs": {
                  "bytes": 48744,
                  "sha256": "818942e06cfe2ff679af77d53c1149b7b30d0af98b3cf89f274ad39ad950d215"
                },
                "firmware_deployments": {
                  "bytes": 16071,
                  "sha256": "6ed9c53ae02cae6e86f2d7b65b4bd530f1e925e89e536ee8e53d18f093940d4c"
                },
                "firmware_releases": {
                  "bytes": 3047,
                  "sha256": "a6aafbabab6b2423996efe9b878c833630dc73d74ae492ef8dcdbdece521614e"
                },
                "gateway_devices": {
                  "bytes": 993,
                  "sha256": "3efab2baa4ae1810d5201af766ee6f5a2a6cef37a5a55351d1a1ad0351b090ea"
                },
                "gateways": {
                  "bytes": 2452,
                  "sha256": "7d708ed75401848aa58a05862c949b51d9035be94d713cd6288abef22534364f"
                },
                "geofences": {
                  "bytes": 1230,
                  "sha256": "a466e3f3361b330be45d4cce69e4d510b3967e66a81cfdc40872488020febec3"
                },
                "locations": {
                  "bytes": 625,
                  "sha256": "e6c7c29e31c84c110355c7d7d0ff86943faab1791910263cb43497e89f07e43a"
                },
                "maintenance_logs": {
                  "bytes": 10851,
                  "sha256": "ffede1c924b82edeb54c12bdb09d4c718a1fe4be4ff3f32dda89d6f445b92b93"
                },
                "network_connections": {
                  "bytes": 34101,
                  "sha256": "3f1ce9f0cad6ab43d67e4e0dc8b441d04001e33ac379fae3b3bd6497862a7277"
                },
                "networks": {
                  "bytes": 2362,
                  "sha256": "031e29e594eda198d5cefd276d514f8e6344b9d342710f05b7ff0da106a19336"
                },
                "notifications": {
                  "bytes": 55410,
                  "sha256": "03c3cea90394062c6fc7e18f7ddd737f5f4acd837fe47148dfd0c6574096131b"
                },
                "organizations": {
                  "bytes": 806,
                  "sha256": "285ce072004864cf36ef5e045bbe6f3a7f8c045c3182f79cc5eea7375829a2c6"
                },
                "roles": {
                  "bytes": 126,
                  "sha256": "f052729e05eb17c1c06f75ba895452aadac295e459c76f14bef619a258dc7533"
                },
                "sensors": {
                  "bytes": 6200,
                  "sha256": "2fa53cacfd59c526ce47a7494d78c5fccc719015b1f672f1a95a3b548af10845"
                },
                "subscriptions": {
                  "bytes": 648,
                  "sha256": "f494fbfd67051c3034acd1de396b0e26ae1d5a0f2871239650bc7d6d3c6e9eb0"
                },
                "support_tickets": {
                  "bytes": 5612,
                  "sha256": "0630eb100b7c4af3d43b7332f930ebd844bd1c9faa2f7cd5579fdb6a4dcc45e5"
                },
                "telemetry_data": {
                  "bytes": 3625916,
                  "sha256": "2007e2b273798d782a1a9bfa8402e3b951a96f228be04080f84de1b601e093c1"
                },
                "ticket_replies": {
                  "bytes": 14919,
                  "sha256": "4ab8d57dce3b7efda012800be5f5194963d79d59b92c1a19fc257392b4863fcc"
                },
                "user_roles": {
                  "bytes": 3159,
                  "sha256": "eb0b9dc0606d6a14e0929407a0808efecf1a9c9058b0ae4a9c4ac61238016aed"
                },
                "users": {
                  "bytes": 33675,
                  "sha256": "b5527e0c306cfac08e6d1def7c88c4e99714e5431fcd49bf501863daee9183ca"
                }
              },
              "contentType": "application/zip"
            }
          ]
        }
      },
      "1m": {
        "rows": 1127398,
        "counts": {
          "billing_plans": 4,
          "device_types": 10,
          "firmware_releases": 40,
          "organizations": 20,
          "device_groups": 60,
          "gateways": 80,
          "geofences": 40,
          "locations": 100,
          "devices": 1000,
          "actuators": 500,
          "actuator_commands": 10000,
          "alarms": 5000,
          "device_configurations": 3000,
          "device_geofences": 1000,
          "device_group_members": 800,
          "device_metrics": 50000,
          "error_logs": 10000,
          "firmware_deployments": 4000,
          "gateway_devices": 1000,
          "networks": 60,
          "network_connections": 10000,
          "roles": 4,
          "sensors": 2000,
          "alarm_rules": 2000,
          "subscriptions": 20,
          "telemetry_data": 1000000,
          "users": 300,
          "api_keys": 60,
          "audit_logs": 10000,
          "maintenance_logs": 2000,
          "notifications": 10000,
          "support_tickets": 1000,
          "ticket_replies": 3000,
          "user_roles": 300
        },
        "notes": [
          "At this size the tables beside telemetry_data were cut to 1/16 of it, so the whole build stays under 3,000,000 rows."
        ],
        "downloads": [
          {
            "format": "sql-postgres",
            "label": "PostgreSQL",
            "file": "flagship/1m/postgres.sql.gz",
            "key": "datasets/iot-sample-database/v1/flagship/1m/postgres.sql.gz",
            "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/flagship/1m/postgres.sql.gz",
            "bytes": 15788239,
            "sha256": "6f5c1fe661e49f5f5f7d52a2290b9f3b1d13ba2c377d94b38754292986f43249",
            "raw": {
              "bytes": 57914456,
              "sha256": "5bbd01d491fd4f57f5bd6ca85c5ba5ea70b045588bb107189477f6211c681ae6"
            },
            "contentType": "application/gzip"
          },
          {
            "format": "sql-mysql",
            "label": "MySQL",
            "file": "flagship/1m/mysql.sql.gz",
            "key": "datasets/iot-sample-database/v1/flagship/1m/mysql.sql.gz",
            "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/flagship/1m/mysql.sql.gz",
            "bytes": 15786372,
            "sha256": "2bebfb96385b816a036a28bea0bea4e1c16e57b340303d57d8d6196ed5913be6",
            "raw": {
              "bytes": 57911116,
              "sha256": "ed8a3c42da4012fc4f68c2608150f09a5f281c96018ec73d7654e0bd7fe52b25"
            },
            "contentType": "application/gzip"
          },
          {
            "format": "sql-sqlite",
            "label": "SQLite",
            "file": "flagship/1m/sqlite.sql.gz",
            "key": "datasets/iot-sample-database/v1/flagship/1m/sqlite.sql.gz",
            "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/flagship/1m/sqlite.sql.gz",
            "bytes": 15785749,
            "sha256": "16f3c9f7206bcbf20a417e6f228eb662ec93901d8bd450e4b3436f124e076ac7",
            "raw": {
              "bytes": 57908157,
              "sha256": "98098b905a44b88eb7b8a04a00d21bd9cd5fb7b3dcfabde0e455334c194bd179"
            },
            "contentType": "application/gzip"
          },
          {
            "format": "csv",
            "label": "CSV",
            "file": "flagship/1m/csv.zip",
            "key": "datasets/iot-sample-database/v1/flagship/1m/csv.zip",
            "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/iot-sample-database/v1/flagship/1m/csv.zip",
            "bytes": 16231296,
            "sha256": "212410c62a73d4609c2a1fcd6791bb6335e3364c829d71788991a86bd69517f6",
            "tables": {
              "actuator_commands": {
                "bytes": 475590,
                "sha256": "8414bff534d3a4f3e70c00ad453e57cf22d78ae21458bc6417c64c239c6ae795"
              },
              "actuators": {
                "bytes": 12721,
                "sha256": "60c1ef2e8bb7e4b1eb44ee8d3ee8feb48226c1226282b592a046a5d5777b6b0b"
              },
              "alarm_rules": {
                "bytes": 55543,
                "sha256": "77e55062d66ef272d23fb6a182be3c752275de36970f2d7a883d1ec48a44e883"
              },
              "alarms": {
                "bytes": 367772,
                "sha256": "356db7e33f90901311ab0852327883bcd71a5eaa64fcf64c9009818e16a7d65d"
              },
              "api_keys": {
                "bytes": 4618,
                "sha256": "9753c492a20a1569ec8742ef9b884c6369269668467427f4d6407e284a15ba9e"
              },
              "audit_logs": {
                "bytes": 464004,
                "sha256": "a76704ad0c704b28a0de5108e6f6e027fce079cdaf5da0d8364e7f7ab641ae26"
              },
              "billing_plans": {
                "bytes": 109,
                "sha256": "61850c611dcee7cc05ed51cd722eeca61eda5fad6005730856ab476db45e5430"
              },
              "device_configurations": {
                "bytes": 137992,
                "sha256": "c9be23261c2781e35bcf9b5b7cd6f5e1ccf16bc75cfba1b95dd8ceac2ee6c28e"
              },
              "device_geofences": {
                "bytes": 11566,
                "sha256": "1efe40e523cd429e794413519f4ccc0136e680283f796e0f3bf80db5eb756b78"
              },
              "device_group_members": {
                "bytes": 9315,
                "sha256": "47704d05a46f0ff5817ed024b4dd02cd47bb2e50790bb954374ba2fea3ea08d0"
              },
              "device_groups": {
                "bytes": 1751,
                "sha256": "54824306c72dd8efa13ec521e98bd8c26ae9b31d0e00fafc7bce4a16ef4ce146"
              },
              "device_metrics": {
                "bytes": 2266027,
                "sha256": "59663e34963f018caf531723f90139c0a8e250a10d8b0e2458253342fa08ed49"
              },
              "device_types": {
                "bytes": 655,
                "sha256": "b06eb335812fda4ce5724596447c58a999ff23c58b2caacacdcda976a4823ba7"
              },
              "devices": {
                "bytes": 69298,
                "sha256": "8b9ba6c6695ea72e59df3354c63be2e980cd04e7a876a504b440030a42d3a7af"
              },
              "error_logs": {
                "bytes": 511533,
                "sha256": "32138d335f9eb4e5c4a9f2af8dc54c4c08fdb1a61189ec54974fe7332a5a701a"
              },
              "firmware_deployments": {
                "bytes": 169333,
                "sha256": "266c8687965f880ad56f780f6e1c8500bf12259dc7ff2e03f8a302a3c6798f06"
              },
              "firmware_releases": {
                "bytes": 3202,
                "sha256": "ad2525955ff9ea3f34abbc9f17c0562117deaefadc6834acd8313c8d08051863"
              },
              "gateway_devices": {
                "bytes": 11716,
                "sha256": "1c989db715609c00c10ebc2720e0d0bf3518951d5a47ce97a5cd7805c92caf3d"
              },
              "gateways": {
                "bytes": 2473,
                "sha256": "185484478fb11b349b1ea915100bc4327e91bd21e9fc89b5dc624573b39cd763"
              },
              "geofences": {
                "bytes": 1291,
                "sha256": "c4a4b1cbc52e55d246d4d2751cccacae521709e514c3b8db8973a1dccd40a8a4"
              },
              "locations": {
                "bytes": 5718,
                "sha256": "021c41a7a36ed4809749b922ebc6be0aa188de0e8dc316cc59084aa98bafd97a"
              },
              "maintenance_logs": {
                "bytes": 112565,
                "sha256": "eab9dbb4ea8421426d68a5871b6d91ff23149e52c746a98bfb60f9521a623040"
              },
              "network_connections": {
                "bytes": 366525,
                "sha256": "d26f3de5450482eebc0846fed261ea9ea581600f02e464ee33464f64a0617401"
              },
              "networks": {
                "bytes": 2444,
                "sha256": "d69edc0d0cf978ae427e02d3b0d530999e95e27d310ade0eead6730f9983e246"
              },
              "notifications": {
                "bytes": 568680,
                "sha256": "a3983c819fd3e1c255697ab2859bddd3bafb6323cf84ebd1c3c2516168183924"
              },
              "organizations": {
                "bytes": 779,
                "sha256": "0d6fe265a83af3167497bb037ed7aa70a409fabbdfcd7898456c1cf203e64dca"
              },
              "roles": {
                "bytes": 131,
                "sha256": "35d953aab36ce9d223a1548a1efe7e5da3bb9b17913aad384b26cf8d438394fd"
              },
              "sensors": {
                "bytes": 66303,
                "sha256": "173b516ff5b6f30da4842df6a8b26bd4f99fc8873fd9491fdebd2a92cca13794"
              },
              "subscriptions": {
                "bytes": 658,
                "sha256": "4340f7418c9ccca5f163cf3d530a94fdc342984864629e9927a7b9b6559afb7e"
              },
              "support_tickets": {
                "bytes": 56357,
                "sha256": "a269af4147e116e2b3a48d1c7d6a4439894fe1a6163dd4d6c6694768b6192083"
              },
              "telemetry_data": {
                "bytes": 38674198,
                "sha256": "d9283773cdec55c994803696668b94d21b3d724d4337a69cd6a68688cb634b84"
              },
              "ticket_replies": {
                "bytes": 157982,
                "sha256": "971a6089ac6243d1ab0341194a8cf10f70df77230043227c7f15d9a749352181"
              },
              "user_roles": {
                "bytes": 3104,
                "sha256": "eeb3133ec8de04e5b78194d938d3633dc79b27c0dfe26d6a08566d2dd0bee272"
              },
              "users": {
                "bytes": 33098,
                "sha256": "2da8890a543e8b90987474ec0c99a0e0a76f0f9826a8f6a32590b1cf1e310853"
              }
            },
            "contentType": "application/zip"
          }
        ],
        "checks": {
          "postgres": {
            "version": "18.3",
            "ok": true
          },
          "sqlite": {
            "version": "3.53.1",
            "ok": true
          },
          "notRun": [
            {
              "engine": "MySQL",
              "note": "Written from the same rows; not loaded here, no MySQL server runs in the build."
            }
          ]
        },
        "rules": [
          {
            "name": "Every reading lies in its sensor type's range, and the sensor's unit is its type's",
            "violations": 0
          },
          {
            "name": "Every sensor has one alarm rule, its threshold in the sensor's range",
            "violations": 0
          },
          {
            "name": "Organizations never mix: a device is grouped, gatewayed, networked and fenced only with its own organization's",
            "violations": 0
          },
          {
            "name": "Only an organization's own users maintain its devices and answer its tickets",
            "violations": 0
          },
          {
            "name": "A rollout installs a release for the device's own type, one to thirty days after it was released",
            "violations": 0
          },
          {
            "name": "An alarm is resolved five minutes to two days after it was raised, or not yet; a reply follows its ticket",
            "violations": 0
          },
          {
            "name": "Every site has a device and every device a sensor; a device has one gateway and joins a group once",
            "violations": 0
          }
        ]
      }
    },
    "rules": [
      {
        "name": "Every reading lies in its sensor type's range, and the sensor's unit is its type's",
        "sql": "SELECT count(*) AS violations FROM telemetry_data t JOIN sensors s ON s.id = t.sensor_id WHERE (s.type = 'temperature' AND (t.value < -10 OR t.value > 45 OR s.unit <> 'C')) OR (s.type = 'humidity' AND (t.value < 15 OR t.value > 95 OR s.unit <> '%RH')) OR (s.type = 'pressure' AND (t.value < 960 OR t.value > 1040 OR s.unit <> 'hPa')) OR (s.type = 'co2' AND (t.value < 400 OR t.value > 2000 OR s.unit <> 'ppm')) OR (s.type = 'power' AND (t.value < 0 OR t.value > 3000 OR s.unit <> 'W'))"
      },
      {
        "name": "Every sensor has one alarm rule, its threshold in the sensor's range",
        "sql": "SELECT (SELECT count(*) FROM sensors s LEFT JOIN alarm_rules r ON r.sensor_id = s.id WHERE r.id IS NULL) + (SELECT count(*) - count(DISTINCT sensor_id) FROM alarm_rules) + (SELECT count(*) FROM alarm_rules r JOIN sensors s ON s.id = r.sensor_id WHERE (s.type = 'temperature' AND (r.threshold_value < -10 OR r.threshold_value > 45)) OR (s.type = 'humidity' AND (r.threshold_value < 15 OR r.threshold_value > 95)) OR (s.type = 'pressure' AND (r.threshold_value < 960 OR r.threshold_value > 1040)) OR (s.type = 'co2' AND (r.threshold_value < 400 OR r.threshold_value > 2000)) OR (s.type = 'power' AND (r.threshold_value < 0 OR r.threshold_value > 3000))) AS violations"
      },
      {
        "name": "Organizations never mix: a device is grouped, gatewayed, networked and fenced only with its own organization's",
        "sql": "SELECT (SELECT count(*) FROM device_group_members m JOIN devices d ON d.id = m.device_id JOIN locations l ON l.id = d.location_id JOIN device_groups g ON g.id = m.device_group_id WHERE g.organization_id <> l.organization_id) + (SELECT count(*) FROM gateway_devices x JOIN devices d ON d.id = x.device_id JOIN locations l ON l.id = d.location_id JOIN gateways g ON g.id = x.gateway_id WHERE g.organization_id <> l.organization_id) + (SELECT count(*) FROM network_connections x JOIN devices d ON d.id = x.device_id JOIN locations l ON l.id = d.location_id JOIN networks n ON n.id = x.network_id WHERE n.organization_id <> l.organization_id) + (SELECT count(*) FROM device_geofences x JOIN devices d ON d.id = x.device_id JOIN locations l ON l.id = d.location_id JOIN geofences g ON g.id = x.geofence_id WHERE g.organization_id <> l.organization_id) AS violations"
      },
      {
        "name": "Only an organization's own users maintain its devices and answer its tickets",
        "sql": "SELECT (SELECT count(*) FROM maintenance_logs m JOIN devices d ON d.id = m.device_id JOIN locations l ON l.id = d.location_id JOIN users u ON u.id = m.user_id WHERE u.organization_id <> l.organization_id) + (SELECT count(*) FROM support_tickets t JOIN users u ON u.id = t.user_id WHERE u.organization_id <> t.organization_id) + (SELECT count(*) FROM ticket_replies r JOIN support_tickets t ON t.id = r.ticket_id JOIN users u ON u.id = r.user_id WHERE u.organization_id <> t.organization_id) AS violations"
      },
      {
        "name": "A rollout installs a release for the device's own type, one to thirty days after it was released",
        "sql": "SELECT count(*) AS violations FROM firmware_deployments fd JOIN devices d ON d.id = fd.device_id JOIN firmware_releases fr ON fr.id = fd.firmware_release_id WHERE fr.device_type_id <> d.device_type_id OR fd.deployed_at < fr.released_at + interval '1 day' OR fd.deployed_at > fr.released_at + interval '30 days'"
      },
      {
        "name": "An alarm is resolved five minutes to two days after it was raised, or not yet; a reply follows its ticket",
        "sql": "SELECT (SELECT count(*) FROM alarms WHERE resolved_at < triggered_at + interval '5 minutes' OR resolved_at > triggered_at + interval '2 days 5 minutes') + (SELECT count(*) FROM ticket_replies r JOIN support_tickets t ON t.id = r.ticket_id WHERE r.created_at <= t.created_at) AS violations"
      },
      {
        "name": "Every site has a device and every device a sensor; a device has one gateway and joins a group once",
        "sql": "SELECT (SELECT count(*) FROM locations l LEFT JOIN devices d ON d.location_id = l.id WHERE d.id IS NULL) + (SELECT count(*) FROM devices d LEFT JOIN sensors s ON s.device_id = d.id WHERE s.id IS NULL) + (SELECT count(*) - count(DISTINCT device_id) FROM gateway_devices) + (SELECT count(*) - count(DISTINCT (device_group_id, device_id)) FROM device_group_members) AS violations"
      }
    ]
  },
  "publishedAt": 1791379166770,
  "updatedAt": 1791379166770
}
