1 of 9

NPR Databases

2 of 9

MySQL / Percona

  • The majority of the NPR DM systems run off of MySQL running in our data center.
  • These databases are years old but still work
  • We use a library mysqlnd_ms for PHP that handles our high availability needs but this is no longer actively supported. Plans to upgrade but no time to do so.
  • Thanks to Oracle’s new pricing structure, we are switching to using Percona as our database backend which is MySQL compatible. https://www.percona.com/software/mysql-database/percona-server

3 of 9

MySQL

4 of 9

Larger Scale / Higher Availability

  • NPR One / NPR News App
  • 500 million plus records
  • MySQL can handle these big databases but it’s slower and harder to do anything (backups took 9 hours to restore).
  • Changes in production were fraught with issues.
  • Limited system administrators availability

  • Project for replacement focused on infinite scalability and high availability

5 of 9

Choosing Next Technology

From Jan 2017

6 of 9

Dynamo DB

Actual costs: $1,489 a month for a two region configuration plus Dynamo streams/Lambda

7 of 9

What about Analytics?

There is a very big difference between the requirements for our public APIs

  • must be very fast,
  • highly available
  • strong disaster recovery

And our analytics requirements

  • need to allow occasional huge queries
  • some downtime acceptable
  • many adhoc queries

Both need to be scalable!

8 of 9

BigQuery

  • The analytics tools used at NPR already integrate with BigQuery.
  • NPR already uses BigQuery for Firebase statistics coming from our NPR One apps.
  • We can access Google Analytics data via BigQuery, giving us richer views of our users.
  • Salesforce just announced it will be prioritizing integrating with Google Cloud Platform
  • The pricing for BigQuery is ridiculously cheap for a system our size
  • Scalability is not a problem. GCP charges by the terabyte of data; we still measure our systems in gigabytes. �

9 of 9