What the heck is NoSQL and why should we care?

NoSQL

When I first came across NoSQL, I thought it meant it didn’t use SQL! That’s not the case—it stands for “Not Only SQL.” Pretty confusing, huh? But let’s not get bogged down!

NoSQL refers to a category of database management systems designed to handle a wider variety of data models. While traditional relational databases follow strict structure, they struggle outside those boundaries. NoSQL excels with large-scale, semi-structured, and unstructured data.

Key Characteristics of NoSQL

Here are some of the key characteristics we often see in NoSQL databases:

  • Non-relational: NoSQL databases don’t rely on the table-based structures that relational databases use. This flexibility allows them to support more varied data models.
  • Schema-less: Many databases of this type don’t require a fixed schema, letting you store different types of data without predefined structures.
  • Scalability: NoSQL databases scale out horizontally. They distribute data across multiple servers to manage very large volumes efficiently.
  • Performance: They handle large volumes of data and high-velocity operations efficiently—especially in the right use cases.

Some Examples

Here are a few common types of NoSQL databases:

  • Document Databases (e.g., MongoDB, CouchDB): These store data in JSON-like documents. They offer great flexibility and are easy for developers to consume.
  • Key-Value Stores (e.g., Redis, DynamoDB): These store data as key-value pairs, enabling fast read and write operations.
  • Column-family Stores (e.g., Cassandra, HBase): Similar to traditional data stores, these organize data into columns and rows, optimized for performance at scale.
  • Graph Databases (e.g., Neo4j, OrientDB): These use graph structures to store interconnected data—ideal for apps with complex relationships.

When to Use NoSQL Databases

Choosing a NoSQL database over a traditional relational one works well in situations like:

  • Handling large volumes of data
  • Flexible or evolving schema
  • High scalability
  • Distributed data across multiple servers
  • Real-time analytics
  • High throughput and low latency
  • Graph or hierarchical data models
  • Microservices architecture

They’re ideal for microservices, where each service may need a different storage approach. it allows each service to use the best data model for its specific needs.

Our Experience with NoSQL

We’re fairly new to NoSQL, but many concepts still apply. Right now, we’re moving one of our clients from a traditional Microsoft SQL Server database to NoSQL to reduce ongoing storage costs. This client currently stores over 10TB of data—and adds nearly 1TB more each month!

We now store the primary keys in a way that allows us to index them for fast data access. The raw data sits in flexible JSON format, which is easily extendable. So far, we’ve migrated every table—except one—to DynamoDB, cutting storage costs by around 60%.

We’ve also improved performance over the years using AWS microservices. While that’s a separate but related project, it ensures that as more units come online, more microservices are automatically deployed. This keeps performance strong, which is critical as the client continues expanding across Australia and beyond.

Further Reading

Check out this great overview and comparison between NoSQL and RDBMS:
https://www.techieclues.com/articles/nosql-databases-types-benefits-and-examples

Usability & Access

  • Web access anywhere (mobile-friendly where needed)
  • Streamlined workflows to reduce admin effort
  • Search, filters, and drill-down to records
  • Australian-based support

Visualisation & Reporting

  • Dashboards, graphs, trends, and maps
  • Standard and customised reporting templates
  • Export to common formats (CSV/XLSX/PDF as required)
  • Consistent reporting across sites and programs

Data Integrity & Security

  • Role-based permissions and optional 2FA
  • Encrypted connections (TLS/SSL)
  • Change tracking (who/what/when)
  • Hosted in Australia (AWS Sydney) with backups/DR options

Monitoring & Alerts

  • Warning and exceedance limits per site/parameter
  • SMS and email alerts when thresholds are breached
  • Flag anomalous or missing data for follow-up
  • Audit trail of changes for compliance transparency

Data Collection & Management

  • Automated uploads from telemetry and scheduled file imports
  • Manual uploads and easy field data entry
  • Configurable parameters, units, validation rules, and required fields
  • Manage sites, locations, and monitoring points in one place