Types of databases (relational, NoSQL, object-oriented) in DBMS Theory - Time & Space Complexity
We want to understand how the time it takes to work with different types of databases changes as the amount of data grows.
How does the database type affect the speed of finding or saving data?
Analyze the time complexity of basic data retrieval in different database types.
-- Relational database query example
SELECT * FROM users WHERE id = 123;
-- NoSQL document lookup example
db.users.find({"id": 123});
-- Object-oriented database object retrieval
user = db.getObjectById("User", 123);
These commands get a user record by ID from three database types.
Look at what happens when the database searches for the user.
- Primary operation: Searching through data entries to find a match.
- How many times: Depends on data size; the database may check many records.
As the number of users grows, the search work changes differently for each database type.
| Input Size (n) | Approx. Operations |
|---|---|
| 10 | Few checks, very fast |
| 100 | More checks, still quick |
| 1000 | Many checks, time grows |
Relational databases often use indexes to keep search fast even as data grows. NoSQL may vary by type; some are very fast for certain queries. Object-oriented databases depend on how objects are linked.
Time Complexity: O(log n)
This means that as data grows, the time to find a record grows slowly, usually doubling data size adds only a little more time.
[X] Wrong: "All databases take the same time to find data regardless of type."
[OK] Correct: Different database types organize data differently, so their search speeds change differently as data grows.
Knowing how database types affect search speed helps you explain your choices clearly and shows you understand how data size impacts performance.
"What if we added an index to the NoSQL database? How would the time complexity change?"