Database Administration

What is Database Administration?

Databases store information.  If your database is not designed properly, it can result in noticeable slowness and drastically affect your user’s experiences.

There are different types of databases.  NoSQL and SQL are two very different examples of how to store information.  The Database Administrator is responsible for selecting the proper technological foundation for your application’s needs and design the database schema to be intuitive, scalable and most importantly fast.

Who needs a Database Administrator?

It is imperative to get a competent Database Administrator in the beginning.  They lay the foundation for your application.  If the foundation is a disaster, it will need to be redone and instead of costing you $x to build, it costs you $x build, $x to rebuild, and $x to build a bridge to migrate the data from the old system to the new system.

Database Administrators also focus on load balancing your data as your operations scale up.  They may do this by creating read-only and write-only database servers.  Or they may get into more advance sharding techniques to distribute information across multiple servers.

Database Administrators are also responsible for determining the hardware necessary to ensure room for scalability while keeping costs down as much as possible.

What database is right for you?

For most small businesses, a shared environment is sufficient.  Your database would be isolated, the security would be locked down, but since your database load is likely very low, you benefit from sharing the CPU and HD space and other computing resources with other small businesses.

If you use a content management system the database will already be designed and require minimal (if any) installation and adjustment.  The rule of thumb here is the happier you are with the functionality you can get for under $100, the lower costs will be for you.

For start-ups that are ambitious, it is likely better to get a server or virtual server with your own dedicated resources.  You may start out with a single server which is capable of hosting your website as well.  As your user-base grows, you may want to ensure you have nightly backups of your database or possibly a real-time backup through replication.

If your database is starting to outgrow your current resources, you may look at replication as a way to divide up your read and write database operations, or take advantage of partitioning features or other database engines like Spider which could shard your data across multiple servers.

If you are looking for a mobile app, I would recommend a completely different solution than I would for a website.  Firebase, for example, has incredible speed when it comes to pushing notifications to users or the app interface when database changes arise.

Every business is different and the database solution should be catered to your business goals.

Areas of Expertise:

MySQL Administration