Azure provides multiple ways of storing messages from IoT devices. These storage accounts include storing relational data, schema-less NoSQL data, and blobs:
- SQL database: SQL database provides storing relational data, JSON, and XML documents. It provides a rich SQL query language and it uses a full-blown SQL server as a service. Data from devices can be stored in SQL databases if data is well defined and the schema will not undergo changes frequently.
- Azure Storage: Azure Storage provides table and blob storage. Table storage helps in storing data as entities, where schema is not important. Blobs help in storing files in containers as blobs.
- CosmosDB/DocumentDB: DocumentDB is a full-blown enterprise-scale NoSQL database, available as a service capable of storing schema-less data. It is a truly distributed database that can span continents, providing high availability and scalability of data.
- External data sources: Apart from Azure services, customers can bring their own data stores, such as a SQL server on Azure virtual machines, and can use them for storing data in relational format.