Postgres has evolved from its origins as an academic project in the 1980s. It uses indexes like a book index to quickly find data by pointing to specific rows. As more data is added, updated, or deleted, indexes also need updating to accurately reflect the table data. Toward handling big data, Postgres supports parallelism, database partitioning, and sharding to distribute data across multiple machines.