A Better Database Engine

  • Comments posted to this topic are about the item A Better Database Engine

  • Oops, I must be on a really boring project at the moment 😉

    I use Myspace and MySQL extensively, and I have to say MySQL is WAY behind on features, I think the latest version may allow Stored Procedures and nested Selects, and I'm only about a year behind the curve, to give you some idea of just how neolithic working with it really is.

    As to MySpace, what a pathetic collection of half baked hacks that is, I wouldn't read anything into this at all, different parts of the site have completely different interpreters, meaning code in one bit won't work whilst it does in another. They try and pretend these are "security features", but it's hard to differentiate between security through obscurity and third rate hacks most of the time.

    Me, I'm rebuilding the site from scratch so I can get some consistent functionality, any announcement of "advanced functionality" from MySpace really needs to be taken with a big pinch of salt, they haven't even got the basics right.

  • Once again, we're reminded of the 3 'M's. Marketing, Marketing, Marketing.

    This is why Microsoft beat a lot of competitors. In the 80's I heard constant moans about how the Macintosh was a better computer and the motorola 68000 was a better processor, etc. Unfortunately, Apple was run by engineers who didn't understand marketing, and the PC with Windows eventually ate up the bulk of market share.

    Unfortunately, a lot of the people who have the cash don't understand the people who have the transistors. What's happening at MySpace is someone selling a solution to people who don't understand what's happening under the covers. Steve, you have it right - you get the box that makes the most sense for your application based on your strengths. Whatever app you build can be optimized for your box.

    This is why we need to market ourselves. There are lots of hungry salespeople waiting to sell a new box to our managers. This was a very helpful editorial in that it reminds us that we need to be proactive in reminding our managers about the strengths of our toolset vs competitors.

    ___________________________________________________
    “Politicians are like diapers. They both need changing regularly and for the same reason.”

  • Ya know, I fought for 3 years at a company to prove that SQL Server could compete with Oracle (actually not only did I prove it but proved it could outperfom in our one situation) only to still have management looking at Oracle / Java when 90% of the staff were highly skilled .NET / SQL Server people. Guess what they went for in the end.... You got it, Oracle / Java. Now to be fair the major reason behind that was the fact that they were going to outsource the application development and were rolling most backend support up to a higher corporate IT group but the choice still seemed pretty tainted to me.

    So, with that being said, I believe MS and the DBA's on this site and elsewhere have a job to do to prove that this DBMS is just as viable in the big solutions as any other platform. I am very thankful that I am working with a group of people that are great developers and technologists that love this platform (and the .NET stuff as well) which makes my job a whole lot easier. I don't miss the "proving ground" wars at all.

    David

    @SQLTentmaker

    “He is no fool who gives what he cannot keep to gain that which he cannot lose” - Jim Elliot

  • Probably the one advantage that MySQL does have is its modular database engine, so that if all you are using it for is a quick read only database for reporting or websites then you can use an engine optimized for that, If you do need more robust things like transactions, stored procedures, etc then you can use a different engine. (although the most popular transactional engine InnoDB was made by a company bought out by Oracle)

  • David,

    It's as likely that they chose Oracle because of a few golf games as they like it. That is frustrating and good luck working through it.

    MySpace is a mess, and I think MySQL is behind on features, but its performance is fine. From what little I've played with it and what I read about it, it can handle loads and perform fine, you just have to work with it and build a schema that matches its strengths.

  • Steve,

    I love your stuff, but I don't get this comment: "lack of as wide a platform as SQL Server". SQL Server only runs on Windows. How is that a wide platform?

    Tobar

    <><
    Livin' down on the cube farm. Left, left, then a right.

  • I know I am probably prejudiced, but a properly designed database in MS SQL Server will likely perform as well as any other database engine. Based on the way I understood the article, and I could misunderstand it totally, it doesn't appear that they will be replacing teh MySpace backend, but creating a new datawarehouse system based on existing MySpace data to get better analysis. Maybe in this case the Java/MySql solution is a better one.

    As has been said, you need to use the technology that fits the skills of your employees. I think this should include outsourced projects as well because your employees are the ones who will end up supporting it.

    As an aside, the only place I was involved in a Java project the software was very bloated and inefficient. Not that this doesn't happen in the .NET world, but I have not seen as poorly designed software in .NET.

  • Tobar,

    Wide as in Agent, Mail, SSIS, SSAS, Service Broker, etc. MySQL doesn't have as much in the box, nor for that matter, do Oracle, DB2, or others. You can purchase add-ons, but that's more $$ and time.

    Jack,

    Don't think they're replacing the back end either, just one part of the system. The article leads you to believe they're doing more, which is what many executives would get out of it.

  • Steve Jones - Editor (10/7/2008)


    It's as likely that they chose Oracle because of a few golf games as they like it.

    It's been my experience that most "strategic" decisions are made by executives at the 19th hole.

    There is no "i" in team, but idiot has two.
  • Dave (10/7/2008)


    Steve Jones - Editor (10/7/2008)


    It's as likely that they chose Oracle because of a few golf games as they like it.

    It's been my experience that most "strategic" decisions are made by executives at the 19th hole.

    My experience as well. Decision maker is friends with a big-wig in another company so you get stuck with an inferior product and many times, a failed project.

  • As one who has used MySQL since about 1998, MS Access since 1993, MS SQL Server since 2000, and have had to play with reporting from an Oracle database or two, trifled with Fox, DBase predecessors, and others. I feel I have a point of view few have had the time to experience. Consulting does that to you.

    I am limiting my comments to MySQL streams, MS SQL Server, and Oracle. (And if you wonder what I mean by "streams", pay particular and close attention to the "Page Four" paragraph.

    Page One: There was an interview given to the president of Oracle, in which he was asked about MySQL, the interviewee compared Oracle to something like a 747 Jet, and to MySQL as a small Toyota pickup... for speed, capacity, and functionality . Granted this is back in the days before MySQL even supported subqueries... circa pre-2005... as MySQL came out with a general release for subqueries in 2004... in version 4.1... well behind ALL of the products mentioned above. When the MySQL president was asked about this metaphor used by Oracle, he said something like, "Toyota is a profitable company." See: http://www.cbronline.com/news/mysql_wants_to_be_ikea_of_the_database_market . At this point in time, there were so many things missing from MySQL to be an enterprise solution, it isn't even worth talking about. This sentiment is conveyed in the likes of this article: http://phplens.com/phpeverywhere/node/view/23 .

    Page Two: MySQL begins to bite into Oracle base... Oracle buys out INNO OY out of Finland which then owned INNODB, the only ACID compliant database engine that MySQL had... after that, for the next two years only minor bug fixes were progressed on that engine.

    Page Three: Oracle attempts to buy MySQL... (see http://news.cnet.com/Oracle-tried-to-buy-open-source-MySQL/2100-7344_3-6040197.html ). It fails, as MySQL turned down the offer, but Oracle still picks up several other companies and minor competitors. The article again demonstrates the same type of perception that paragraph "Page One" above conveys.

    Page Four: MySQL splits it's development stream into to version channels near version 5.3x, into commercial and public support streams... MySQL works fiercely to try to develop some platform tools... and to build another ACID compliant engine. Unless you had been carefully following the development of MySQL you would have had no clue as to why some strange bugs appeared when you upgraded from version 5.27 to 5.36... accross development streams that did not used to be there... odd sub-iterations were for the public stream, even-numbered sub-iterations for the commercial stream. (Yes, this really happened.) Stored Procedures did not happen until around version 5.x, deep into 2005.

    (NOTE: when push comes to shove, only ACID compliant database engines matter...)

    Page Five: Sun gets MySQL. MySQL finally breaks away from the commitment to remain free of outside big-company ownership. Money talks. Approximately $1 billion in total consideration. See:

    http://www.mysql.com/news-and-events/sun-to-acquire-mysql.html

    http://celikalper.wordpress.com/2008/03/27/sun-and-mysql-few-acquisitions-make-this-much-sense/

    Okay... I think the point has been drawn out here. My own opinion and experience, in summary:

    Oracle took years to get some tool sets. Oracle is proven robust and powerful, but costs historically twice as much as SQL Server, and does not come with many of the native toolsets that MS SQL Server has, and has had for 10+ years. However, I am not at all arguing the better between Oracle and MS SQL Server... to me, either is a great enterprise data platform. MS SQL Server is far better positioned with supporting software and graphical toolsets, but particulary played better in the small to large markets than Oracle has due to cost and deployability. Oracle lacked almost entirely any support for small markets, and it began to hurt that market. Oracle did 2 things: buy INNODB, and when the bid for MySQL failed, diversify into deeply rooted data-oriented markets, being seen more as a "G.E.-style application vendor" than a database company... divi' those "eggs" into multiple baskets. They own more business software system brands than most people realize.

    MySQL on the other hand, does not even compare in the same level. They are struggling to get to mid-level, and have not begun to touch the big level. Over time that may change. But it is certainly well recognized by those who actually have experience playing with, developing, and deploying all three at an enterprise level... not just your casual snoop.

    In my view the main reason MySQL has remained a player at all is that there are other companies writing stuff to help them integrate... such as the Eclipse development platform... the PHP MySQL packs... and the sheer price-point that poor management *thinks* they are saving when they invest in it (but never seem to weigh in the massive costs of the workarounds and lost time that plague a company for years after choosing that solution). In a nut shell, the web happened, and the most of the big database vendors missed the boat. The only one to really hang on is MS, and they have put major strides out to get that "other leg" into the boat. ASP was losing massive ground to PHP. It wasn't until .NET pulled it up by the boot-straps, that it really was nice to use. Even the past MySQL CEO stated that the "LAMP" thing happened purely without direction on the convergence of the four open-source technologies by those who just did not want to use MS tools... . Many open-source developers still prefer old development environments such as VII and (I kid you not) Notepad, UltraEdit32, and a few other raw-codeline tools. No wonder version control and Dev/QA/Live separation had a big-bang in the open-source space... necessity was the mother of... anyway, I digress. It wasn't until IBM and a couple other big names jumped into the Eclipse development that a more "MS-like" environment started being looked at. And all of this tied back to making the choice of database.

    MySQL was and is good at a very specific space: cheap database for web sites, where with the help of Java and PHP plugins, it was made popular first with the home web-builder crowd, then schools and web business. It has yet to really be capable of crossing into the space of the back office, in the highly mission critical OLTP marketplace.

    With MS SQL Server, there are few if any products that even come close to comparing with the SSIS/SSAS/SSRS trio, and the graphical snap-in environment provided for building-block ease and deployment.

    In my opinion, MySQL has a long way to go still. Much progress has been made in the last four years, but lack of control and INNOvation on INNODB will continue to set them back, all publicity and evangelism aside. I don't think Oracle had much of a choice... it was biting huge chunks out of their database market space as the primary MS super-competitor...

    The reality is however, management somehow cannot get past the dangling carrot: the 0$ cost myth. And by the time it bites a company in the pocketbook in downtime, workarounds, extremely extended deployment times, and many other caveats, those managers have moved on... so no lessons learned. The biggest caveat is that once started scrimping, every aspect of the system is scrimped and pinched to be barely functional. And then some businesses try to off-shore that confusion to save even more... but end up very often with not much more than when they started. The last two I have worked for attempted off-shore open-source development. Even the off-shore company told them they'd prefer to do it with MS tools.

    Can one make it all work? You bet! Do you want your changes in weeks, or months? How much will that cost you in lost opportunity? Do you like your replication via log-shipping that fails when Stored Procedure parameters don't port to the secondary, or do you like being able to cluster your data farm? Would you like realtime OLAP developed in days and weeks or would you rather spend months and years (and still not get it done) to get next day or slim-pickins analysis. Do you want re-usable, plugable, inheritable code, so that each next new thing becomes faster to implement? These are what it (the $$$) really comes down to.

    It may be in the future that differences between RDBMS platforms and systems becomes nominal... but that day is not today... and I daresay not tomorrow either... or even next year.

  • Interesting comments and good to hear from someone that uses it. I definitely don't think there's a 0 cost to the product, but if you have the skills, I think it works. If you don't, then I'm not sure it's worth switching, which is what you appear to be saying.

  • Steve,

    Thanks for the clarification. I think of that as a "Feature Rich" platform, and more appropraitely a feature rich paltform for a single price as you pointed out. 🙂

    Tobar

    <><
    Livin' down on the cube farm. Left, left, then a right.

Viewing 14 posts - 1 through 13 (of 13 total)

You must be logged in to reply to this topic. Login to reply