[Interview] Database design case

Introduction

This is one of many examples of technical tasks that can be used in interviews with developers and technical managers. This assignment covers working with databases, large volumes of data, naunces of different data types and the subtleties of working with table structure.

Given

We have a table which

  • Critical for business operations
  • Actively used in application
  • Has 3 columns
    NameTypeAttributes
    idintsequential
    nametext
    datatext
  • Current amount of rows is 2 billion
  • Each day we add about 10m rows to the table

Questions

  • What potential outcome you see if done nothing?
  • What will be the strategy to solve this issue?
  • What measures should be taken to minimise system’s downtime?

Links and references