Document Databases
Document databases are characterized for being schema-less. They store data in documents each record does not need to be uniform, they could have different columns, data types, and could be nested
Every piece of software will eventually require to collect and store data. Databases are essential for every application, without them applications would not be as useful as they are. Users expect to enter data and access it at a later time, some times that information would get aggregated to present meaningful data to the user. Businesses also rely on data to make decisions and drive growth. Just like there a different programming languages, cloud providers, etc we also have multiple flavors of databases each solving different problems.
Interested article on the history of databases can be found here A Timeline of Database History & Database Management
See this post about Relational databases
Document databases are characterized for being schema free. They store data in documents each record does not need to be uniform, they could have different columns, data types, and could also be nested. These databases are also called NoSQL referring to the nature of relational databases being structured. Most document databases have their own internal notations which could be processed to other format generally JSON.
What are the advantages of document databases? Because of their nature of being schema-less, developers spend less time creating data models to start storing data into the database.
Since each document could contain all the information needed, these database could be easily scaled to multiple servers for higher availability and performance as well as replication for fault tolerance.
What are the disadvantages of document databases? One of the pros of these databases is also one of the disadvantages, because there is no structure to these documents, they data could become untrustworthy and difficult to organize. It takes a bit more work to make the data aggregable, since each document could have different columns and data type if the business wants to make aggregates it is not as easy as joining the data together since one can't predict that the document contains the expected data.
According to DB-Engines these are the most popular document databases as of the end of 2023.
Documents in these databases are usually stored in collections. A database might contain multiple collections of documents.
Example of what a document might look like
{
"id": "00ae764a-8cc8-11ee-b9d1-0242ac120002",
"firstName": "John",
"lastName": "Doe",
"address": {
"street": "123 Main Street",
"city": "Los Angeles",
"state": "CA",
"zipCode": "90001"
},
"interest": ["Software Engineering", "Baseball", "Skiing"]
}
Learn more about document databases
https://aws.amazon.com/nosql/document/
https://redis.com/nosql/document-databases/