Monday, July 25, 2016

Databases - Advanced Level Lesson 3

Today we will look at the final aspect of Databases. Upgrading your database when there is a need to adapt to unknown aspects. You probably know about this when you think of websites that offer new payment opportunities.

You may already have a database running your auction site. Suddenly, like when PayPal appeared on the scene, you might see a new payment opportunities that your customers may be using, but which you didn't know about when you designed your original site.

How do you proceed?

Let's think in simple terms with an auction site with the following fields in your database:


Now you suddenly notice something like MobilePay which is a mobile phone-based payment system in Denmark.

What you want is for your database to contain the following fields:


I have illustrated the added field in red.

You want to convert your database, so that you can adapt your website. What you do is that you setup a program that reads every file in the OLD format, and writes it to another file in the NEW format.

But you also want to plan your change in a way that won't be disturbed by customers creating new items during the time it takes to update your site. That requires good planning. You announce that on wednesday, you won't be able to create new auctions between 2:00AM and 2:30AM. During those hours, people should be sleeping, and therefore this should only annoy very few people.

In planning, you also ensure that people can't create auctions that FINISH between these two times. They are simply automatically prolonged with half an hour when people try to create an auction that finishes while you are maintaining your website.

Once your converted file is ready, you can upload your new files at 2:01AM, and copy your database file into the name your system needs to be up and running - and you will be ready to run auctions long before your site is active again. With a bit of luck, you are ready long before 2:30, and you can then be happy your customers will be satisfied with your planning skills.

If you want to know more about databases, you are welcome to comment.

No comments: