(From the lecture on Database by the Master of Information Science)

  • Two Approaches
    • Scale Up (Vertical Scaling)
      • Enhancing the performance of a single computer to scale
      • Benefits: Suitable when strong consistency is required and when easy deployment is desired
      • Drawbacks:
        • Performance has inherent limitations (Moore’s Law also has its limits)
        • Costly
        • Requires pre-planning (can’t suddenly increase by 10 times)
    • Scale Out (Horizontal Scaling)
      • Distributed system
      • Example: NoSQL Database
      • Benefits:
        • No need for pre-planning, can handle sudden increases
        • Strong fault tolerance
      • Drawbacks:
        • Conditions like “network reliability,” “no communication delays,” and “network structure remains unchanged” are not guaranteed
        • Programming is challenging.