An aspect of Database Design that focuses on the ability for a system to adapt to future growth and changes. By focusing on the scalability, websites/systems can save money in the future. Instead of having to pay a lot of money to create new systems every time a new client base appears or there is a new to include much more data. Making systems that have good scalability can also prevent over-planning. For example, if a company estimated 100 customers currently, but tried to put enough functions to handle 10,000 people (which may be a future estimate,) it'd be wasting a lot of resources. Scalability includes the ability to fully use all available resources when new hardware (memory and processors) are added. It could also involve adding new nodes to the system. There are many different dimensions of scalability, such as load scalability, geographic scalability, administrative scalability, and function scalability. From Wikipedia: "
For example, if adding new computers to the network, functional scalability may not be as important as geographic scalability. If the amount of information stored in the database does not change much, but the organization seeks more analysis on that data, functional scalability may be more important. There are two main methods of designing for scalability: (1) Scaling up: Being able to handle new hardware added to the system (like adding more CPU to the given computer that contains the database.) This is also called scaling vertically. (2) Scaling out: Adding a new node (like adding a new computer to the network handling the database.) This is also called scaling horizontally. Both methods of scaling the system have become cheaper in the last few years. This is mainly due to the constant drop in prices in both computers and computer parts in general. Scaling up is good for situations in which there is more data to be stored in an environment with limited access needed to the database. Scaling out is good when there is a lot more people who need to access data (example: data analysis, input/output, etc.) However, adding more computers to the network also makes it more complicated to handle and maintain. Every different kind of database model has a different amount of potential for scalability. The Relational Database Model is considered to be weak once many nodes are put into the system. With an increase in nodes, there are massive complexities added. Weaknesses of the relational database .pdf with a summary about the importance of scalability Wikipedia Entry |