WordPress as a data intensive web app

Its more than possible to create a data-intensive, even real-time web application, using the WordPress platform as a base framework.

The WordPress database architecture is as such that is suits websites that are either blogs or content management systems of some kind.

What is defined as being a CMS-like-site can be wide and varied in opinion, but neither of the aforementioned are really related to data intense web applications such as you mention, Remember The Milk or Twiiter.

Because of this, its not going to be without a deal of effort on your part to understand your options and equally know how to execute them in the form of a strategy that compliments your application now and in the future by being able to scale upward with any growth you experience.

With that in mind, the existing database table structure might not be suitable for what you want to achieve outright, however one of the great abilities we have when working with PHP and in this case WordPress, is that we can define database-tables that have an alternative structure/schema that more closely fits our needs.

In fact, not only can you define your own tables within the default WordPress database of your installation, but you can also go well beyond that and..

  • access external, secondary, third or fourth databases
  • access NoSQL alternatives such as MongoDB, CouchDB or key/val stores like Redis

I must mention though that any data contained with external databases especially of different varieties (NoSQL, Key/Val) won’t be accessible through your usual WordPress API functions directly but I’d assume if you’re going to such lengths you’d know how to query your data sets in-conjunction with using template/theme functions for presentation.

Another important aspect to consider is,

  • web hosting (Cloud? Dedicated? PaaS?)

Your hosting platform will play an equally important role in performance so making the right investment to back your project is essential.

The biggest drawback to all of this is rather simple and that’s if any of the above sounds confusing and or complex then building a web application of high quality might not be the best choice, with WordPress.

Instead, you might be better off using a PHP framework and building your application from scratch, where you can have fine grained control over the intricacies of each layer and component. You will be faced with similar challenges however, in that database choice, architecture/structure and so on will play an important role in the performance of your application.