Expertise / Web & data

Custom database development services for web platforms and connected products

Indeema designs and builds custom databases that store your data reliably and retrieve it quickly: data models, SQL and NoSQL development, migration from older systems, testing and optimization. Much of the work sits behind web platforms and connected products, where accounts, device records and sensor readings each need a different kind of storage.

Each kind of data gets the store that fits it; the APIs keep the rest of the product unaware of the difference.

Overview

Custom database development

We offer custom database development to help businesses make use of large amounts of data. Each company has its own data management needs, so a bespoke database starts from your data, your users and the questions the system must answer, and Indeema’s engineers build the tools to store it securely and retrieve it efficiently.

Many of the databases we build sit behind a web platform or a connected product. There, customer accounts, device records and configuration, and the stream of sensor readings behave very differently, so they are usually kept in different stores and connected through the cloud back end and its APIs.

Diagram of a hand on the sensor unit, a Bluetooth Low Energy link to a phone showing signal traces, a cloud, and a laptop with the Sensocor doctor portal.
Data path: the sensor sends signals over Bluetooth Low Energy to the phone app, which uploads them to the cloud for the doctor's web portal. Sensocor: from a Bluetooth heart-signal sensor to a doctor's web portal

Services

Database development services by Indeema

Six services, from advice on the right database system to testing and optimizing one that already runs. Engage us for one of them or for the whole lifecycle.

  1. Custom database solutions

    A database application designed for your business needs and goals: the data model, the schema, access rules and the code around it, whether the database is new or replaces spreadsheets and older tools.

  2. Database consulting

    Professional advice on database systems and practices: relational or NoSQL, managed cloud services or self-hosted, how to structure data for the queries that matter, and how to keep it consistent as the product grows.

  3. Database application development

    Web, mobile and desktop applications on top of the database, so the people who need the data can find it, update it and act on it.

    Custom web development
  4. Data mining and transformation

    Retrieving the information you need from a large data flow: an architecture that structures, indexes and transforms incoming data so it can be queried and reported on.

  5. System migration

    Upgrading outdated systems: moving an existing database to a new application, platform or data model, with the data checked before and after the switch and a plan to roll back.

  6. Database testing

    Performance testing to check the database and find ways to make it faster and more efficient, plus debugging, troubleshooting, and query and index optimization.

Solution types

Custom database development solutions

Database solutions differ by who uses them and what the data has to do. These are the types we design for, often combined in one system.

  1. End-user database solutions

    Databases people work with directly, for maintaining records, updating them and generating reports without going through a developer.

  2. Data warehouse solutions

    A separate store that brings data from several systems together for reporting, checked for inconsistencies on the way in.

  3. Distributed database solutions

    Data spread across several nodes or regions, for availability and for users or devices in different places.

  4. Analytical database solutions

    Storage organized for queries over large volumes of history, such as trends across devices, sites or customers.

  5. Operational database solutions

    The database an application runs on day to day, where critical data is read and changed in real time.

  6. External database solutions

    Data managed outside the core application, such as a managed cloud database or a store shared with partners, where performance and access control matter.

Choosing a database

SQL, NoSQL or time-series: which database fits?

Most systems we build use more than one kind of store. The choice follows the shape of the data, the queries and how fast it grows.

Relational (SQL)

Data shape
Tables with a defined schema and relations between them
Consistency
Transactions keep related changes consistent
Scaling
Usually scales up, or out with careful design
Typical use in our projects
Customer accounts, billing, transactions and calculated indicators
Examples
Azure SQL, MySQL, PostgreSQL

NoSQL

Data shape
Documents, key-value pairs, wide columns or graphs, with a flexible structure
Consistency
Often trades strict consistency for scale and availability; varies by database
Scaling
Usually designed to scale out across nodes
Typical use in our projects
Device configurations, flexible records and high-volume device data
Examples
MongoDB, Cosmos DB, DynamoDB, Redis (cache)

Time-series

Sensor readings that arrive at fixed intervals from many devices are time-series data. They can live in a time-series database such as InfluxDB or TimescaleDB, or in a NoSQL store designed for them; we choose after looking at the query patterns and retention.

Connected products

The right database for IoT architectures

We combine IoT engineering with database development. Databases are central to an IoT system, because they have to keep up with fast-moving data from sensors and devices.

  1. Data volume and variety

    Connected products produce several types of data at once: readings, events, configurations, files and user actions, each with its own size and lifetime.

  2. Scalability

    There may be thousands of devices in an installation, and each new device adds records and readings that the database must absorb.

  3. Time-series data

    Sensor data is captured at specific locations and time intervals, which calls for time-series and spatial functions to store, process and query it efficiently.

  4. High performance

    Many IoT applications have real-time or near-real-time parts, such as alerts when a reading crosses a threshold, which need fast writes and fast queries on recent data.

Diagram of a pig barn with two ceiling-mounted sensors connected through a cloud to a phone app and a laptop showing the web portal.
Sensors in a pig barn send data to the cloud, which serves the mobile app and the web portal. Taking over the cloud, web and mobile software for Dol-Sensors farm sensors

Technologies

Databases we use in projects

The database follows the data and the platform it runs on. These are the stores our case pages describe; others, such as PostgreSQL, InfluxDB or TimescaleDB, are options we evaluate per project.

Process

The steps in database development

  1. Planning

    Goals, users and the systems the database serves, and what success looks like.

  2. Gathering requirements

    The data to store, who reads and writes it, the queries that must be fast, retention, and security and access rules.

  3. Conceptual design

    The main entities and how they relate, agreed with the people who know the business.

  4. Logical design

    Tables or collections, keys and constraints, independent of a specific product.

  5. Physical design

    The chosen database, indexes, partitioning and storage, sized for the expected volume.

  6. Construction

    Schemas, migrations, queries and the application code that uses them, with tests.

  7. Implementation and rollout

    Data migration from older systems, verification and a release plan with rollback.

  8. Support

    Monitoring, backups, performance tuning and changes as the product evolves.

Case studies

Database work in Indeema projects

Five projects whose case pages describe how their data is stored.

  1. Dol-Sensors sensor in front of a laptop showing CO2, temperature and humidity charts in the web portal, and a phone showing temperature, humidity and carbon dioxide readings.

    Azure SQL · Cosmos DB

    Two stores for a farm-sensor platform

    A combination of SQL Database for customer account management and Cosmos DB for sensor data and device configurations, behind a .NET back end on Azure with IoT Hub collecting the sensor data.

    Taking over the cloud, web and mobile software for Dol-Sensors farm sensors
  2. Sensocor sensor unit in front of a laptop showing a patient-details page with three indicator graphs, and a phone showing three live signal traces.

    Azure SQL · Blob Storage

    Recordings and indicators for a cardiac sensor

    Recordings uploaded from the mobile app are stored in Blob Storage, while calculated indicators are stored in Azure SQL and presented to doctors in a web portal.

    Sensocor: from a Bluetooth heart-signal sensor to a doctor's web portal
  3. Cube Air architecture diagram linking production scripts, firmware, an AWS IoT Core serverless back end and a mobile app screen showing an air-quality index of 35 with a 24-hour chart.

    DynamoDB · S3

    Serverless storage for an air-quality device

    A serverless AWS back end where Lambda, DynamoDB, S3 and AppSync process and store readings, and production scripts create a database entry for each manufactured device.

    Building an indoor air monitor and companion app across two device generations
  4. Illustration of a storage tank with a cellular gateway and an industrial controller, connected through a cloud to the VikingSCADA web portal on a laptop.

    MongoDB · Redis

    Cloud database behind SCADA dashboards

    The web application receives sensor data through the gateway API and stores it in a cloud database that feeds user-built dashboards.

    Extending a SCADA product with cloud monitoring and gateway updates
  5. Diagram linking super admin, school admin, director and student roles through role-based access to an AWS cloud, which connects over HTTPS to an admin panel on a laptop and the UDB app on a phone.

    MongoDB · Redis

    Back end for a drill app and admin panel

    A Node.js back end on AWS with MongoDB and Redis serves the iOS and Android drill apps and the web admin and licensing panel.

    Mobile and web apps for learning marching-band drill on the field
All case studies

FAQ

Database development questions

  1. What does a database software developer do?

    A database developer designs and implements databases: the data model, schemas, queries and indexes, the code that reads and writes the data, migrations between versions, and the tests and tuning that keep it reliable and fast.

  2. What is website database development?

    Website database development means designing and building the database behind a website or web application, and the code that reads and writes it: accounts, content, transactions or device readings. It covers the data model, queries and indexes, access control, backups and migrations.

  3. What are the steps in database development?

    Database development usually runs through eight steps: planning, gathering requirements, conceptual design, logical design, physical design, construction, implementation and rollout, and support. Small projects compress them, but skipping design is what most often makes a database slow or hard to change later.

  4. What type of database is used in IoT?

    Most IoT platforms combine stores. Relational databases such as Azure SQL, MySQL or PostgreSQL hold accounts and configuration; NoSQL databases such as Cosmos DB, DynamoDB or MongoDB hold device records and readings; time-series databases such as InfluxDB suit high-frequency sensor data. Our case pages describe Azure SQL with Cosmos DB, and DynamoDB in serverless AWS back ends.

  5. What are SQL and NoSQL?

    SQL is the language used to define and query relational databases, where data sits in tables with a fixed schema and transactions keep it consistent. NoSQL covers databases that store data in other forms, such as documents, key-value pairs, wide columns or graphs; they usually scale out more easily and allow a more flexible structure.

  6. What’s included in database development services?

    Consulting on the database system, data modeling and schema design, development of the database and the code around it, migration of existing data, performance testing and optimization, and support after launch. You can engage us for one of these or for all of them.

  7. Can you migrate our existing database to a new system?

    Yes. We review the current schema and data quality, design the target model, migrate in stages with checks before and after, and keep a rollback path. Older applications can keep working against the old data until the switch.

  8. Do you build databases for connected products and IoT platforms?

    Yes. We separate accounts, device records and configuration, and sensor readings, choose a store for each, and design them with the cloud back end and the firmware that produces the data. Our case pages include Azure, AWS and MongoDB-based platforms.

Tell us about your project

Start with the data and the questions it must answer

A first conversation covers what you store today, who uses it and where it hurts, not a database brand.

Bring us

  • What the system stores, and where it lives today
  • Who reads and writes the data, and how often
  • The queries or reports that are slow or missing
  • The part you want Indeema to own
Discuss your database