The way data is stored in the database also has a huge impact on the scalability of the system. There are essentially two ways this impact manifests:
- Like the complexity modeling of algorithms and data structures mentioned previously, having a large number of elements may make searching for a particular element inefficient. In a relational database, this typically happens when there are columns in the search query without relevant indexes.
- There are a lot of concurrent updates of the database. Typically, most databases err on the side of safety. This means some clients are locked while updates or reads are happening for another client.
We will look at database design and scaling in much more depth later in the book.