Home Accessibility Courses Twitter The Mouth Facebook Resources Site Map About Us Contact
Retiring, March 2020 - sorry, you have missed our final public course.
The Coronavirus situation has lead us to suspend public training - which was on the cards anyway, with no plans to resume

Please ask about private 'maintenance' training for Python, Tcl, Perl, PHP, Lua, etc
Happily continuing private consultancy / programming work
The future of MySQL

MySQL has grown from a very neat little open source database 10 years ago into a very powerful and widespread database that's not always fully open source any longer today. The MySQL company was bought out by Sun a couple of years back (January 2008), and in turn Oracle are now buying Sun. This deal has taken a while to go through, and the delaying issues are said to be related to MySQL. If Oracle end up owning both their own database and MySQL, they will have something approaching a monopoly on databases, and that's probably bad news. See the blog of Monty Widenius, the father of MySQL where he points a gloomy picture of what would happen if the deal went through without checks and balances being applied. Monty foresees the open source branch being encouraged to wither and die, with users being offered an alternative / upgrade into Oracle's commercial products.

Quite apart from the MySQL training we provide, we make a lot of use ourselves of open source MySQL databases - in this web site and elsewhere - and like hundreds and thousands of small companies, the future of MySQL, the code that uses it and (especially) the data we've invested so heavily into storing under MySQL must be a serious concern for the future. Do we want to go commercial and buy licenses from Oracle? Or do we want to look for some other route?

Monty is encouraging users (via his blog) to contact the EU and let them know their views - I'll let you follow the link rather than reproduce all the details here. Please do follow up on this, folks; I am filled with profound misgivings about any one company ending up with a near monopoly on database storage ... it goes further that just a monoply on programs - your investment in data is probably worth far more than your code, and you don't want to have to pay Oracle (or any other single-source supplier) in the future to access / update it.

So ... where will MySQL be in 10 more years time? I don't know. But I do know that I'll want to access and update information that I have stored in my MySQL tables today, and data that I continue to enter every time I write a blog, every time a course is booked, every time I upload an image to my website. What steps should I take to ensure an easy and low cost path forward with this data, irrespective of where MySQL goes?

Here are my thoughts ...

1. Keep the database structures clean, normalised and vanilla.
2. Write code that uses as standard a subset of SQL as is possible.
3. Keep that code that calls the MySQL libraries within a database independent wrapper.

At this stage, those three elements are "hedging bets" rather than actively moving away from MySQL - they're just like investing in an insurance policy in case you need to cash in.

Monty's blog looks at alternatives such as a MySQL fork and PostgreSQL, but he doesn't see either as being a longer term solution. I'm going to offer you a further thought ...

I've been impressed in the last year or two by the growth of Lua. It's a great programming language which is perhaps just a twentieth of the size of Perl or Python .. yet for 80% of the uses of Perl or Python, it'll do pretty well. And so I look at the grown MySQL - release 5.x - and I think "MySQL 3.23.58 could have done almost that". For the small and medium size applications, there is a strong case for a back to basics database engine, and I would not be surprised to find something coming along.

Have you seen SQLite? It's in the public domain and already used heavily - VERY heavily - in lots of places. However, its model is serverless which could/should/would be expected to lead to data sharing and concurrency issues. But I note on the SQLite web page ... "Most SQL database engines are client/server based. Of those that are serverless, SQLite is the only one known to this author that allows multiple applications to access the same database at the same time.".

SQLite isn't necessarily the answer for the future ... but it may be pointing an interesting way forward - it may be a pathfinder for us. And (making myself thoroughly unpopular with the SQlite folks, perhaps), I see no reason why a server layer couldn't be written on top to allow it to be addressed via a TCP/IP port ...

(written 2010-01-03)

Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
H113 - Using MySQL Databases in PHP Pages
  [4483] Moving from mysql to mysqli - simple worked example - (2015-05-03)
  [4378] What FGW passengers want to talk about / and PHP programming to find out - (2015-01-01)
  [3455] MySQL, MySQLi, PDO or something else - how best to talk to databases from PHP - (2011-09-24)
  [3035] How to display information from a database within a web page - (2010-11-07)
  [2628] An example of an injection attack using Javascript - (2010-02-08)
  [2447] MySQL stored procedures / their use on the web from PHP - (2009-10-10)
  [2432] Using print_r in PHP to explore mysql database requests - (2009-10-01)
  [2320] Helping new arrivals find out about source code examples - (2009-08-03)
  [2259] Grouping rows for a summary report - MySQL and PHP - (2009-06-27)
  [2071] Setting up a MySQL database from PHP - (2009-03-08)
  [1983] Keeping PHP code in database and running it - (2009-01-09)
  [1561] Uploading to a MySQL database through PHP - examples and common questions - (2008-03-02)
  [1010] Dates, times, clickable diarys in PHP - (2006-12-28)
  [947] What is an SQL injection attack? - (2006-11-27)
  [937] Display an image from a MySQL database in a web page via PHP - (2006-11-22)
  [915] Paging through hundreds of entries - (2006-11-05)
  [723] Viewing images held in a MySQL database via PHP - (2006-05-17)
  [666] Database design - get it right from first principles - (2006-04-02)
  [647] Checking for MySQL errors - (2006-03-15)
  [581] Saving a MySQL query results to your local disc for Excel - (2006-01-29)
  [572] Giving the researcher power over database analysis - (2006-01-22)
  [515] MySQL - an FAQ - (2005-12-03)
  [104] mysql_connect or mysql_pconnect in PHP? - (2004-10-30)

P308 - Using SQL Databases from Perl
  [3099] Perl - database access - DBD, DBI and DBIx modules - (2010-12-22)
  [2381] Checking the database connection manually - (2009-08-28)
  [1904] Ruby, Perl, Linux, MySQL - some training notes - (2008-11-23)
  [1885] Hiding a MySQL database behind a web page - (2008-11-15)
  [1224] Object Relation Mapping (ORM) - (2007-06-09)
  [975] Answering ALL the delegate's Perl questions - (2006-12-09)
  [644] Using a MySQL database from Perl - (2006-03-13)

S050 - MySQL - General
  [3361] Blowing our own trumpet - MySQL resources - (2011-07-18)
  [2861] MySQL and Java - connectivity past, present, and future thoughts - (2010-07-09)
  [2567] Extra MySQL course dates (2 day course, UK) - (2010-01-08)
  [2559] Moving the product forward - ours, and MySQL, Perl, PHP and Python too - (2010-01-01)
  [2426] Which version of MySQL am I running? - (2009-09-26)
  [2240] How do I query a database (MySQL)? - (2009-06-15)
  [2134] Oracle take over Sun who had taken over MySQL - (2009-04-21)
  [2085] MySQL - licensing issues, even with using the name - (2009-03-16)
  [2053] What a difference a MySQL Index made - (2009-02-25)

S151 - Introduction to SQL and MySQL
  [3928] Storing your intermediate data - what format should you you choose? - (2012-11-20)
  [3269] Files or Databases? MySQL, SQLite, or Oracle? - (2011-04-28)
  [2786] Factory methods and SqLite in use in a Python teaching example - (2010-05-29)
  [924] The LAMP Cookbook - Linux, Apache, MySQL, PHP / Perl - (2006-11-13)
  [918] Databases needn't be frightening, hard or expensive - (2006-11-08)
  [691] Testing you Perl / PHP / MySQL / Tcl knowledge - (2006-04-19)
  [591] Key facts - SQL and MySQL - (2006-02-04)
  [444] Database or Progamming - which to learn first? - (2005-09-13)
  [382] Central London Courses - Perl, PHP, Python, Tcl, MySQL - (2005-07-18)
  [175] Worthwhile - (2005-01-11)
  [85] Present and future MySQL - (2004-10-12)
  [84] MySQL - nuggets - (2004-10-11)

S200 - MySQL - SQLite
  [4024] SQL databases from Python - an SQLite example - (2013-03-02)
  [4007] Which database should I use? MySQL v SQLite - (2013-02-16)
  [4006] Ruby / SQLite3 example program, showing JOIN v LEFT JOIN - (2013-02-16)
  [3139] Steering our Python courses towards wxPython, SQLite and Django - (2011-01-19)
  [2746] Model - View - Controller demo, Sqlite - Python 3 - Qt4 - (2010-04-29)
  [2745] Connecting Python to sqlite and MySQL databases - (2010-04-28)
  [2744] PyQt (Python and Qt) and wxPython - GUI comparison - (2010-04-28)

Back to
Training comparison to QA Training, Learning Tree, GB Direct.
Previous and next
Horse's mouth home
Forward to
Tuning the web site for sailing on through this year
Some other Articles
Bright day, snowy day
Microblogging services - Plurk, Twitter, Jaiku and more
Efficient debugging of regular expressions
Tuning the web site for sailing on through this year
The future of MySQL
Training comparison to QA Training, Learning Tree, GB Direct.
Happy new decade - and course and hotel prices for 2010
Rail Campaign - response to core consultation
Railway Station Survey - please complete today or tomorrow
4759 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96 at 50 posts per page

This is a page archived from The Horse's Mouth at http://www.wellho.net/horse/ - the diary and writings of Graham Ellis. Every attempt was made to provide current information at the time the page was written, but things do move forward in our business - new software releases, price changes, new techniques. Please check back via our main site for current courses, prices, versions, etc - any mention of a price in "The Horse's Mouth" cannot be taken as an offer to supply at that price.

Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).

1 unpublished comment pending on this page

edit your own (not yet published) comments

© WELL HOUSE CONSULTANTS LTD., 2020: 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01225 708225 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho

PAGE: http://www.wellho.net/mouth/2561_The ... MySQL.html • PAGE BUILT: Sat May 27 16:49:10 2017 • BUILD SYSTEM: WomanWithCat