ClusteringUseCases

From PostgreSQL wiki
Jump to navigationJump to search

Overview

  • Nothing is really 24/7 production ready without advanced (4-5,6 9s availability)
  • Without substantial expert DBA staff
  • Clustering != replication


3 major use cases for clustering

1. Transactional (least change in the next 3 years)

  • 99.9999 uptime :)
  • 60k Write transactions per second
  • -> needs to scale to 200,000 writes per second
  • 5,10,20 servers
  • 0% data loss is acceptable (committed transactions)
    • will sacrifice scalability, or flexibility so that we do not lose any data

2. Analytic use case

  • Looking Parallelizing queries --> execution time
  • Maximize amount of CPU + I/O
  • (Greenplum, Aster)
  • 100s of nodes
  • No transactions
  • in last 3 years, 11 data warehousing startups (7 using postgres)

3. Online

  • No products exist to address this
  • Web -> mobile services (android, iphone, symbian/Qt)
  • Scale from 100k -> 1 million users -> 1 billion users
  • Looking for Scalability, read and write
    • Read scalability through caching (?) .. but not everything can be put here
  • Rapid Deployment
  • Loose xtns -> needs them for SOME things, but MOST of online services, txn is not important
    • some amount of data loss is acceptable :)
  • user-centered providing of data
    • eventually consistent

JAN:

  • Geographic distribution
  • may be online use case

See The Three Database Clustering Users for a longer version of the above