The purpose of this patch is to provide for a database abstraction structure within WordPress while causing minimal disruption to the WordPress core and without losing core WP features. To accomplish this we have provided for SQL dialect translations, which is not the best way to achieve database abstraction, but what we feel is best given the WordPress environment. It should be noted that WordPress plans on moving to PHP 5 only, and because of this we are also providing for a couple of PDO drivers. There are translations currently for SQL Server and Sql Azure databases, however the patch is structured so that other database translations could be provided for, such as PostgreSQL or SQLite.
Another reason for our decision to provide database abstraction with a dialect translation layer is that we do not want to disturb the optimizations done for MySQL queries. You can use this patched version of WordPress with MySQL and it will run just like it does for normal WordPress. This seems to be a big issue with the WordPress community, as they don’t want to lose optimized queries for MySQL in exchange for more generic queries that are usually associated with database abstraction.
Of course, database abstraction could be provided for while keeping optimized queries for the respective database, but this would require a large overhaul to the WP code base. To do this, WordPress would need adopt a proper Model layer, in which there would be functions mapping to the data manipulation/retrieval needed. For example, instead of having calls to $wpdb->insert(‘SQL’) throughout the code base,those calls would be replaced by calls to specific Model functions such as $wpdb->newPost($new_post_info). This DB_MySQL::newPost() function could be optimized for MySQL whereas DB_SqlSrv::newPost() could be optimized for SQL Server. Both DB_MySQL and DB_SqlSrv would extends a base DB class and the instance you would be working with would be determined by the database you are connecting to. Using this Adapter pattern with PDO is something we feel would be ideal. While it would mean a lot of work,Wordpress would be able to appeal to many more potential users with different environments.
Many ask why this wasn’t done as a WordPress plugin. There are several reasons. One reason is that to achieve proper database abstraction as a plugin makes for some difficulty and quirks. We also feel that database abstraction as a plugin would cause more headache and difficulties long term and that database abstraction should be a part of WordPress core.
While we are discussing plugins, it should be noted that these translations were done for core WP functionality, which means that there may be plenty of plugins out there making MySQL specific queries that we may not be translating correctly. This would result in the plugin not working properly, or at all. If WP did implement database abstraction, this of course would be something that would need good answers. For example, perhaps we could mark all existing plugins as MySQL compatible and then encourage the plugin developers to update their plugins for compatibility with other other DBs, if it isn’t already, and be able to mark it as such. WordPress installations connecting to a non-MySQL database would be able to sort/search by those that are compatible with their DB, or which are untested. Many of the popular plugins we tested worked with our translations without any need for changes.
[...] MySQL statements and converting them to be TSQL compatible with SQL Server/SQL Azure. You can read this article for more architecture details if you’re interested. OmniTI does a great job making sure this works for the core WordPress [...]
[...] doing this? You might also ask how is Microsoft doing this? The answer to that question is here: WordPress on SQL Server: Architecture and Design. Finally, you might ask how do I do this? Again, the answer is here: Installing WordPress on SQL [...]
it””s very usefull for me thanks
[...] http://wordpress.visitmix.com/development/wordpress-sql-server-architecture-design [...]
Hey how are you currently doing? I just wanted to stop by and say that it is been a pleasure studying your weblog. I””ve bookmarked your website so that I can come back & read much more within the future as well. plz do keep up the high quality writing.
Insightful article. I will take a decent amount of time to entertain your content..
I””m not sure why but this weblog is loading incredibly slow for me. Is anyone else having this issue or is it a issue on my end? I””ll check back later on and see if the problem still exists.
Thanks a ton for your help. It really helped migrating to SQL server.
We””re a group of volunteers and starting a new scheme in our community. Your website offered us with valuable information to work on. You have done a formidable job and our whole community will be thankful to you.
I””ve been browsing online more than three hours today, yet I never found any interesting article like yours. It’s pretty worth enough for me. In my view, if all website owners and bloggers made good content as you did, the net will be a lot more useful than ever before.
Great post. I was checking continuously this blog and I”m impressed! Very useful information specifically the last part
I care for such info a lot. I was looking for this particular information for a very long time. Thank you and good luck.
Thanks for the informational post. I have a client that”s interested in breaking off their blog from sharepoint into wordpress. This is great information to help them migrate.
Any updates on 3.2.1
I am so glad I identified this blog. Thank you for the data. You make a great deal of excellent points in your article. Rated five stars!
Very usefull for me as well! Thanks for the post.
I never found any interesting article like yours. It’s pretty worth enough for me. In my view, if all website owners and bloggers made good content as you did, the net will be a lot more useful than ever before.
Many thanks for explaining the difficulties about WordPress plugins. Lot of information, thanks.
Thanks a lot for giving everyone an extremely nice possiblity to check tips from this website. It”s usually so great plus packed with a good time for me personally and my office co-workers to visit your blog on the least three times weekly to learn the fresh secrets you have got. Not to mention, I”m usually contented concerning the great techniques you give. Some two areas in this posting are in fact the most suitable we”ve had.http://www.getofficemac2011productkey.com/
hello to all the communityAre we allowed to email this to our list
It is perfect time to make some plans for the longer term and it”s time to be happy. I have learn this post and if I may just I want to suggest you some fascinating things or suggestions. Perhaps you could write subsequent articles relating to this article. I desire to learn even more things approximately it!
Fine way of explaining, and good article
to get data about my presentation focus, which i am going to
convey in school.