Case Study: Scaling iParadigms with Postgres
Since 1996, iParadigms has grown tremendously from a startup to become a global web service that is not only the leader of plagiarism prevention services for the education industry, but also a provider of integrity assurance to media outlets, publishers, and journals. To meet the needs of over 8 million users, iParadigms uses Postgres to deliver user and account data, serving over 3000 queries per second for an aggregate of 1100 transactions per second, handling nearly 125GB of grades, paper metadata, instructor and classmate feedback, plagiarism detection statistics, and much more. The current state of the iParadigms backend is the result of innumerable lessons learned, implementing strategic architecture changes, adopting new technologies, and ensuring recoverability against catastrophic events. At present, there are over 10 database servers delivering requests to users, but these are supported by nearly 20 servers monitoring performance, keeping backups, preventing administrative error, and ensuring fast recovery from any outages. In this presentation, we will cover the different architecture and technology decisions made, some observations and lessons from experience, as well as some current issues being tackled at iParadigms.