Building Highly Scalable Web Applications With XStream
Web applications with a very large number of users place an enormous load on the back-end databases for queries as well as transaction processing. As the underlying workload grows, web companies often prefer to partition their data across many databases. Partitioning the data can provide greater scalability but it comes at the expense of consistency and it introduces complexity. Businesses often employ various types of partitioning, such as vertical partitioning (i.e. across functional units) or horizontal partitioning (sharding). However, these types of partitioning strategies must be done carefully to meet overall consistency objectives. Efficient maintenance of the partitions is another important consideration.