Introduction
SQL? NoSQL? Why is there NoSQL? What’s the buzz all about?
NoSQL stands for “not only SQL” rather than “no SQL” at all. An example of NoSQL is when your information is stored in JSON documents instead of columns and rows used by relational databases. NoSQL databases aim to build flexible schema and specific data models – built for the web and other new technologies, in which traditional relational databases can have limitations. As a result, NoSQL databases can be more flexible, scalable and still offer excellent performance.
There are multiple types of NoSQL databases such as document databases, key-value stores, wide-column databases, and graph databases.
- Document databases are primarily built for storing information like documents, including, but not limited to, JSON documents. Examples are MongoDB and Couchbase. ElasticSearch and OpenSearch have also distributed document stores.
- Key-value stores databases type where data is stored in a “key-value” format and optimised for reading and writing that data. One example is Redis.
- Wide-column databases use the tabular format of relational databases, allowing a wide variance in how data is named and formatted in each row, even in the same table. One example is Cassandra.
- Graph databases use graph structures to define the relationships between stored data points. One example is Neo4j.
Why use NoSQL?
NoSQL databases are widely recognized for their ease of development, functionality, and performance at scale. Multiple NoSQL databases have different characteristics and purposes. However, they share fundamental elements:
- Developer friendliness
- Can store various data types (structured, unstructured and semi-structured)
- Can update schemas and fields easily
- NoSQL databases are specialised to solve specific use cases
Spotlight on MongoDB
MongoDB is the developer’s favourite database. Built for the web and web scale workloads, the latest releases have advanced transaction support to assure a high degree of data integrity across massive, sharded datasets.
Canonical Charmed NoSQL
Charmhub is where all Canonical’s database management operators are to be found. You can now deploy, integrate and manage your NoSQL applications easily across hybrid cloud, Kubernetes (K8s) and VM environments. Charms use Juju, the Charmed Operator Framework. You can also read more about the Juju OLM, operators and bundles here in the Juju documentation.
Some of the NoSQL open source charms available are