Slashdot Mirror


MySQL to Adopt Solid Storage Engine

hmart writes "As seen on ZDNet's Open Source Blog MySQL is taking another step to defend from Oracle's recent acquisitions of InnoBase and Sleepycat. From the article: 'MySQL responds by getting Solid Information Technology, a proprietary database vendor, to take its solidDB Storage Engine for MySQL open source, under the GPL, starting in June.'"

267 comments

  1. This is good news by IntelliAdmin · · Score: 4, Interesting

    It seems that Oracle is not taking the threat from MySQL lightly. The purchases they have made have been quite public, but they also have been quietly hiring developers from many different open source projects. It is scary how many of them have dropped off the radar. On a side note: I was always under the impression that MySQL was a 'amateur' database. I was very surprised when I was forced to switch from Microsoft SQL 2000 - MySQL had a much smaller memory footprint, and the performance just blew me away. To this day I still cannot believe the performance difference. It really speaks to the power of Open Source.

    1. Re:This is good news by ScrewMaster · · Score: 4, Insightful

      Well, it's one thing to acquire a company in order to deny your customers and potential customers access to a competitive product. It's quite another to hire away a bunch of developers and keep them. That's difficult, especially if they happen to be the cream of the crop for a particular industry. As soon as you don't give them what they want (and money is only part of the picture) they'll drop you like a hot potato and look for greener pastures. I'm not slamming Oracle in particular since I don't know what the place is like for the development staff: it might be a great place to work. But job satisfaction is an important aspect to any position for a good programmer, and if you're good (and that is presumably why Ellison is hiring these guys) you have a lot of options. My bet is that a few years down the road you see some of those missing coders back on the radar.

      --
      The higher the technology, the sharper that two-edged sword.
    2. Re:This is good news by Anonymous Coward · · Score: 1, Funny

      Well, with a powerful argument like that, I'm convinced. The grandparent must obviously have been lying.

    3. Re:This is good news by NitsujTPU · · Score: 4, Insightful

      That's kind of the thing.

      I don't want to offend MySQL devs, but, eh, here goes.

      MyISAM isn't so hot. It doesn't support transactions... it won't enforce your referential integrity constraints... it doesn't work like, probably, it should. It indexes things so you can look them up quickly with SQL queries.

      InnoDB on the other hand, sticks all of the features into MySQL that it needs in order to be considered a serious database engine.

      When Oracle bought InnoDB, they bought all of the stuff that makes MySQL actually useful. In order to stay competitive, MySQL will need a new storage engine... or perhaps keep updating the GPL'd version of InnoDB. The response has been to get a new commerical engine that works out of the box open sourced, so they can keep the edge that they need in order to stay in the game.

    4. Re:This is good news by Anonymous Coward · · Score: 0

      What I don't get is why MySQL was suddenly considered a serious database engine. Does anyone actually think the same team who wrote MyISAM in the first place (and are on record as thinking that living without transactions is a fine idea) are that much smarter now?

    5. Re:This is good news by Antony+T+Curtis · · Score: 5, Informative


      Oh, I doubt that there is a single MySQL developer who would be offended. We are not so aloof that we cannot take criticism - actually we welcome constructive criticism, it lets us know what needs to be improved.

      Perhaps we have been a bit lazy: Assuming that the partnership with Innobase would continue forever and that MySQL would eventually acquire Innobase.

      MySQL has a few advantages - it is a small company which can react quickly to unexpected changes. We learn. Jim Starkey has joined us - he is a veteran of relational database designs and a delight to work with - and we do plan to have our own storage engines with transactional goodness, we already have Cluster but we need something more lightweight usuable by everyone.

      In the meanwhile, it is good to take advantage of the MySQL architecture and make partnerships which can make use of one of our strengths. Having 3rd party storage engines is something which has been quietly encouraged for many years and is now something I think will see more publicity.

      (disclaimer: opinions are my own and not of my employer nor anyone else)

      --
      No sig. Move along - nothing to see here.
    6. Re:This is good news by NitsujTPU · · Score: 1

      Well, I wouldn't go as far into insulting the team as you did, but, I'll have a pop at it, because it really bothers me.

      It's 99.95% fanboyism.

      Simply put, MySQL is a well-known FOSS database, and, so, it picked up a lot of fanboys. It was the only thing that they learned to use, and they didn't know much about databases in general, so, they touted its glories at the top of their lungs (not realizing how stupid they sounded).

      It happens a lot. It probably really hurts the open source community too.

      Think about it. Will 99.95% of the user community switch to open source products because they think that software developers don't deserve to get paid for writing software but, rather, should be paid for providing services? Do most of them hate Microsoft? Does Windows XP really crash very much? Is the version of Linux that they are likely to run all that fast, or up-to-date? Is OpenOffice.org really better than MS Office in any way that someone who doesn't hold these ideals likely to identify with?

      For bonus points, do most of the people who proclaim this most vehemently mean it, or are they just barking it out because they think it will make them cool?

      At the end of the day, I see in MySQL fanboyism a lot of what's wrong with the sort of "barking out whatever sounds cool," contingent of the community. Is Abiword better than OpenOffice's writer application? Probably, though, I use LaTeX (which most grad students couldn't live without). Is gnumeric better than the spreadsheet app?

      If you ask people to just pick whatever application is popular, because of some mob-rule sentiment, you're likely to have more things blow up in people's faces than you are likely to win converts. Just wait until thousands of offices and schools with super-out-dated computers figure out that OpenOffice runs slower than MS word, and have to upgrade hardware. I got a lousy taste in my mouth when I tried to directly convert a database from Oracle to MySQL, and suddenly had bad records inserted, because the database counted on getting errors back from referential integrity constraints.

    7. Re:This is good news by grasshoppa · · Score: 5, Insightful

      The problem being once these important OSS coders see oracle source, they are tainted. Any further OSS contributions will have to be heavily scrutinized for IP violations.

      So oracle does not need to keep them. They just need to expose them to even bits of their db source, and they have tainted the coder.

      Devious, if you ask me. I am impressed. Or I would be if it didn't damage my own interests.

      --
      Mod me down with all of your hatred and your journey towards the dark side will be complete!
    8. Re:This is good news by clifyt · · Score: 1

      "and are on record as thinking that living without transactions is a fine idea"

      There are a lot of applications where transactions just aren't needed.

      If you are doing web applications that don't involve financial trails or need any integrity past having a quick way to access the record (and can live with having to rebuild every so often) -- speed may be FAR more important to your application than anything else.

      Sometimes raw speed is the difference between serious and not serious in some areas.

      For instance, I know several applications that rely on pure memory based database type queries...the data is only written back to / read from the database sporadically. If the server goes down between writes -- these are lost. But the nature of the application is such that this is a tradeoff that is willing to be done.

      Not everything needs to be everything for everyone -- heck, even in my life as a university wonk, I rarely need transactions for the intense data manipulations I have to do. If something doesn't go through, the integrity is such that it knows the data is out of date and will get re-munged the next time I run the query (or when someone tries to access that data, it will take 10x as long and do it then...which I try to minimize).

    9. Re:This is good news by Tablizer · · Score: 2, Interesting

      It seems that Oracle is not taking the threat from MySQL lightly. The purchases they have made have been quite public, but they also have been quietly hiring developers from many different open source projects. It is scary how...

      Seems to me that Postgresql would be a bigger threat because its SQL convensions are closer to Oracle's. Postgre would be easier for Oracle shops to convert or transition to.

    10. Re:This is good news by Anonymous Coward · · Score: 1, Informative

      I was very surprised when I was forced to switch from Microsoft SQL 2000 - MySQL had a much smaller memory footprint, and the performance just blew me away. To this day I still cannot believe the performance difference. It really speaks to the power of Open Source.

      No, it speaks to the power of ACID database integrity. If you don't worry about real database stability, then you can get away with a lot of performance enhancements. ACID compliance is achieved by writing extensive logs before, during and after database operations. MySql has far less overhead, that's why it's faster, not because it's open source.

      That said, there are some applications where the lack of stability isn't an issue...

    11. Re:This is good news by NitsujTPU · · Score: 1

      Wow. I appreciate the reply. I always kind of worry about offending people, unless I'm in some sort of serious discussion, then I bare my teeth. It comes from being an AI guy... get me around Systems folks too long, and I play just as rough as they do, haha!

      Anyway, on a lighter note, this new engine looks pretty hot, and like it could take MySQL in a lot of directions that I never really foresaw it going.

      I hope that it goes well, and you don't mind my gentle prodding at MySQL fanboyism, which I lump together with OpenOffice and Linux fanboyism. I've used all three (I'm typing from a Linux box, and used MySQL with InnoDB plenty (though, still dislike MyISAM), and used to use OpenOffice.org (a long time ago, before discovering what I consider to be superior alternatives for my needs).

    12. Re:This is good news by spiritraveller · · Score: 4, Insightful

      In order to stay competitive, MySQL will need a new storage engine... or perhaps keep updating the GPL'd version of InnoDB.

      I don't think that is not an option. MySQL AB has a dual-licensing scheme for MySQL. They need another company (like Solid) from whom they can dual license an engine for use with MySQL.

      Now... if they wanted to go completely GPL and quit selling MySQL for use in proprietary applications, they could keep updating the GPL version of InnoDB and keep distributing it. But then they would lose the revenue that comes from the proprietary-licensed versions of their product... and there goes their business model.

    13. Re:This is good news by ScrewMaster · · Score: 1

      I hadn't thought of that. Of course, that only applies to countries where such laws exists, but that's getting to be more and more of them thanks to "harmonization".

      --
      The higher the technology, the sharper that two-edged sword.
    14. Re:This is good news by Anonymous Coward · · Score: 0

      Does mysql.com still claim that the MySQL protocol, not the implementation, is under the GPL?

      If so why?

    15. Re:This is good news by Antony+T+Curtis · · Score: 5, Interesting
      Anyway, on a lighter note, this new engine looks pretty hot, and like it could take MySQL in a lot of directions that I never really foresaw it going.


      I think it would be fun to make MySQL as versatile as possible with a huge choice of plug-ins available. Sort of like what Linux is for operating systems but for databases instead. MySQL is platform agnostic and want it to perform well everywhere, including Microsoft Windows and even... SCO (hey, its not their customer's fault).

      If there is anyone out there which has some kind of data storage/retreval system, I am sure that MySQL would be happy to assist and encourage them to make it into a storage engine for MySQL. If they want to GPL their code and join the open-source party, I am sure MySQL would be happy to help in that too.
      --
      No sig. Move along - nothing to see here.
    16. Re:This is good news by NitsujTPU · · Score: 4, Funny

      SCO has customers?

    17. Re:This is good news by Anonymous Coward · · Score: 2, Insightful

      I'm not sure what you're talking about. Transactions have nothing to do with backups, auditing, or finance. In a nutshell: the way MySQL is implemented, if you're doing an update that affects more than one table, using a transaction (or LOCK TABLES, which is just rolling your own transaction engine via brute force) is the only way to prevent anyone from seeing the update while it's half-finished, i.e., the data is invalid (changed in one table but not in another). There's nothing disk-centric about the idea, except that in MySQL all database engines except InnoDB (which is disk-based) silently fail to enforce transaction semantics.

    18. Re:This is good news by Achromatic1978 · · Score: 1
      I use LaTeX (which most grad students couldn't live without)

      Isn't this fanboyism in another light? And much more accurately, "quite a few grad students in a couple of very limited disciplines, ie CompSci, and perhaps EE, couldn't live without". A pop survey of eight postgrads in a variety of disciplines in my vicinity yielded two who had heard of it, and one who had used it once.

    19. Re:This is good news by Antony+T+Curtis · · Score: 2, Insightful

      You know, it may seem "obvious" that Oracle acquired Innobase and Sleepycat to hurt MySQL AB but I am not sure if MySQL really competes in the same application space as Oracle. They are two very different products.

      Have you concidered that Oracle has started to acquire opensource companies because they have suddenly discovered that companies like IBM, Novell and Sun may have something profitable in their open-source strategies and wants to get a piece of that pie?

      Who knows what Oracle's reasons are. Only they do. Why must people assume the most malicious reason all the time?

      (disclaimer: opinions are my own and not of my employer nor anyone else)

      --
      No sig. Move along - nothing to see here.
    20. Re:This is good news by mccoma · · Score: 1, Troll
      Your right, dual-licensing requires ownership or agreement. It does make me wonder what happens if Oracle buys Solid.

      New Business Plan:
      1. Build transaction database engine
      2. let MySQL license it in their dual licensing scheme
      3. Get bought by Oracle

      MySQL might want to build their own engine or branch a BSD / Public Domain (e.g. SQLite) engine. It would sure keep this stuff from continuing.

      Once again "If you go the dual-licensing route - you need to own the code"

    21. Re:This is good news by jusdisgi · · Score: 4, Funny

      SCO has customers?

      No...didn't you see, he said "it's not their customer's fault."

      customer's

      ...is a singular-possessive.

      customers'

      ...is the plural form.

      SCO doesn't have customers. They have a customer.

      --
      Given a choice between free speech and free beer, most people will take the beer.
    22. Re:This is good news by NitsujTPU · · Score: 3, Funny

      We all know that China is going to be the first to line up and protect American corporate interests.

      Hold on a second, I'm getting a message on my RedBerry.

    23. Re:This is good news by drDugan · · Score: 4, Interesting

      PostgreSQL is a much bigger long term threat to Oracle than MySQL. The one place where Oracle still has an advantage over FOS projects is in big iron and big databases. PostreSQL has closed that gap significantly where (I believe) MySQL never will. It simply will not serve the market need that Oracle meets now.

    24. Re:This is good news by ocelotbob · · Score: 3, Informative

      SCO's still somewhat big in the medical profession. Being one of the first "cheap" unixes, a lot of small medical offices went to SCO in the early 90s during the first big rush to digitize patient charts, etc. I've got a buddy who deals with a lot of SCO installs on a daily basis. It's still used because though SCO is a pain in the ass, migrating away from these recordkeeping apps would be even more painful.

      --

      Marxism is the opiate of dumbasses

    25. Re:This is good news by Anonymous Coward · · Score: 0

      SCO doesn't have customers. They have a customer.

      Microsoft? I mean, M$ keeps pushing all that bribe money to SCO to finance its farce, so they can be considered a customer, right?

    26. Re:This is good news by Reality+Master+201 · · Score: 1

      FWIW, I couldn't do without LaTeX either.

      I'm a grad student in linguistics, and LaTeX makes the things I have to do (using IPA, doing glosses, careful alignments of graphs and figures, nice looking citations of computer code, hell, even drawing syntactic and semantic trees) easier. I've tried Word, OpenOffice, and Abiword - they all suck for what I need in their own particular ways.

      LaTeX definitely has a sharp learning curve, but it's worth it. I have a plugin for gVim which helps to automate a lot of rote things (like inserting lists and items, or adding diacriticals to characters).

      But I'm a fan of the right tool for the job, too. If something came along that gave me significant advantages I'd probably give it a shot.

    27. Re:This is good news by koonat · · Score: 0

      Brilliant.

      --
      Double-Click here for instant highlight.
    28. Re:This is good news by dbIII · · Score: 0, Troll
      I was always under the impression that MySQL was a 'amateur' database. I was very surprised when I was forced to switch from Microsoft SQL 2000 - MySQL
      Well, from one 'amateur' database to another. Microsoft have been changing for hobby software for years but it has been the cheapest option and just good enough for many years.
    29. Re:This is good news by mnmn · · Score: 1

      I may be wrong, but to me mysql is a different class of database than sql2000. They cannot be compared. Similarly certain queries from sqlite will be faster than from mysql. It doesnt necessarily mean sqlite is superior or dbase5 is superior. We've run ERP systems on oracle and sql2000, and I've played with the idea of trying to copy all the schemas to a mysql database and attempt to use mysql as the database (DB size 7GB, hundereds of tables and ~30 simultaneous connections). Not sure it will practically work at all since so many users updating will require quite a fine level of row locking and transaction control. Not to mention the depth of views, stored proc, triggers etc thats required... may not be usable on postgres either.

      I think access will be closer in scale to mysql, although its a different beast entirely.

      --
      "Give orange me give eat orange me eat orange give me eat orange give me you." -Nim Chimpsky
    30. Re:This is good news by mnmn · · Score: 1

      I sure hope the current level of performance and reliability will be maintained. Youre scaring me there.

      --
      "Give orange me give eat orange me eat orange give me eat orange give me you." -Nim Chimpsky
    31. Re:This is good news by Anonymous Coward · · Score: 0
      SCO has customers?


      Yes, indeed, they are called "defendants".
    32. Re:This is good news by Myen · · Score: 2, Interesting

      On the other hand, your important OSS people have also see OSS code before being hired by Oracle...

      I am starting to think they whole "tainting" jig is getting stupid.

    33. Re:This is good news by jizmonkey · · Score: 2, Insightful
      The problem being once these important OSS coders see oracle source, they are tainted.

      That's not true, any more than someone can be "tainted" by working at one company and then getting a job at another. There's something to being cautious but it's simply not possible, especially in california which disallows non-compete agreements in almost all cases, to take away someone's open source livelihood by "tainting" him. There's nothing special about open source software.

      --
      With great power comes great fan noise.
    34. Re:This is good news by swillden · · Score: 5, Informative

      The problem being once these important OSS coders see oracle source, they are tainted. Any further OSS contributions will have to be heavily scrutinized for IP violations.

      Yes and no.

      Strictly speaking, there is no such thing as a "tainted" developer. There are three different forms of IP law that Oracle might try to use to control what the programmers do after they leave the company:

      1. Copyrights. Copyright only covers the specific code, not the ideas. A developer could learn how to do something while working at Oracle, and could then leave the company and implement the same thing and it wouldn't constitute copyright infringement as long as the second implementation was done from scratch. Technically. In practice, if the resulting code was extremely similar, the developer might have a hard time *proving* that he didn't take a copy of Oracle's code with him when he left.
      2. Trade Secrets. Oracle could tell the developers that things they're working on are trade secrets, and make them agree not to disclose them. That only applies to the specific ideas and techniques that are designated as trade secrets, though, and only applies as long as they're secrets that haven't been revealed elsewhere.
      3. Contract. Oracle could make the developers sign non-compete agreements. Those can't last very long, though, and tend to be hard to enforce.

      So, if the developer has access to a good lawyer, it seems like Oracle really can't do much to prevent future work. But, of course, a wealthy corporation can afford legal battles much better than an indiviudal can, and any or all of the above would lend enough credibility to a lawsuit by Oracle that the coder might end up having to fight it in court... which can be really expensive even if you win. Then again, this is exactly the sort of case where the EFF and others would probably be willing to step in and help out.

      Finally, if Oracle failed to terrorize the devs into meekly going along, Oracle probably wouldn't want to go to court very much. Not only is it bad PR, but it does cost a lot of money, even if you're a corporation with deep pockets. There has to be a reasonable expectation that the cost is worth the result, which seems pretty unlikely. Threatening a lawsuit you probably can't win doesn't cost much, but actually pursuing one does.

      So oracle does not need to keep them. They just need to expose them to even bits of their db source, and they have tainted the coder.

      No, I really don't think that's enough. What they really need to do is to terrify the coder with weighty, frightening non-disclosure agreements and non-compete agreements. If they do too much of that, though, they won't get the hire in the first place.

      Of course, IANAL. But I have read the relevant law, and have some familiarity with the applicable precedents, thanks to other cases.

      I really hope that the open source developers who've gone to work for Oracle have run their employments contracts past attorneys of their own.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    35. Re:This is good news by Nutria · · Score: 1

      OpenOffice.org (a long time ago, before discovering what I consider to be superior alternatives for my needs).

      Out of curiosity, what apps do you find superior to OOo2 for general purpose use?

      --
      "I don't know, therefore Aliens" Wafflebox1
    36. Re:This is good news by NitsujTPU · · Score: 1

      I use LaTeX for documents that I want to look nice, or KWord if I want to open a Word document.

      I use gnumeric as a spreadsheet.

      I find OpenOffice to be kind of sluggish by relation, which is my biggest criticism of it. I'm sure it's a nice product and all, but I just think that it doesn't quite live up to the hype.

      I think that everyone's like "ok, we kind of win the web browser wars... lets move to Office," the difference is, firefox really is better than IE. Can you really say that OpenOffice is better than MS Office?

    37. Re:This is good news by Anonymous Coward · · Score: 0

      vi ?

    38. Re:This is good news by Nutria · · Score: 2, Interesting

      I think that everyone's like "ok, we kind of win the web browser wars... lets move to Office," the difference is, firefox really is better than IE. Can you really say that OpenOffice is better than MS Office?

      Ah, ok. I was just curious as to your thought process.

      As to whether I think that OOo2 is better than MSO 97 (that's all I have), well, it's hard to say. Word 97 & Excel 97 are very snappy on my Win2k 933MHz/256MB RAM laptop, and OOo2 is really snappy on my Sempron-754 2800+/1GB RAM PC and does everything I and my wife want.

      Why don't I use OOo2 on my laptop? MSO 97 is already there, is snappy, and I have to use Outlook anyway at work.

      --
      "I don't know, therefore Aliens" Wafflebox1
    39. Re:This is good news by Anonymous Coward · · Score: 0

      well there are levels .. crap < amateur < professional.

    40. Re:This is good news by drgonzo59 · · Score: 1
      Interesting. That is exactly what my friend, who is a salesman for Oracle told me. They have got the large contracts with the big industries and that's all they need. Like it or not MySQL is still viewed as a "cute" and "cool" little open source experiment. It might not be true but the perception is still there. We as developers and /.-er think "Wow, open source, kewl!" People who choose database vendors and make other such big IT decisions for companies like GM, Boeing, Wal-Mart and such, think "Open source = toy for the geeks".

      Besides, companies don't want to buy just the software application (install, and go). They want to buy a relationship. They want top notch support, perhaps even an Oracle team to be on-site for a couple of months during deployment, they want someone to blame and to complain to when things don't work right. MySQL provides support but it is just not going to be the same quality.

      I personally love MySQL. It is fast, I just don't think that Oracle feels threatened by it too much.

    41. Re:This is good news by Zwets · · Score: 2, Funny
      I don't think that is not an option
      You shouldn't not use double negatives, you might not say something that you don't mean.
      --
      One of the lessons of history is that nothing is often a good thing to do and always a clever thing to say. - Will Duran
    42. Re:This is good news by KiloByte · · Score: 1

      I've seen a live SCO OpenServer recently. A friend was getting rid of it so he gave shell accounts to buddies just for a quick play; if you don't care about being legal, you can even grab it off P2P.

      It is absolutely abysmal. Hell, it is far worse than Ultrix I have seen in '97. It is as if all Unix innovation from 90s and 00s haven't happened at all.

      These days, an Unix distribution is considered all musty if it has remnants of non-UTF8ness or has issues with IPv6. But for SCO, do you know what they are lacking? Command-line editing in all shipped shells! A brief glance at google says they don't have support for >2GB files and the like!

      Oh, and by the way. Please plop the following into your autoconfage:
      AC_DEFUN([AC_SCO], [
      AC_MSG_CHECKING([for SCO's intellectual property])
      case `uname -s`X in
          SCO_*) AC_MSG_RESULT([nope, it belongs to Novell]) ;;
          *) AC_MSG_RESULT([not found])
      esac
      ])

      --
      The creatures outside looked from Alt-Right to Antifa; but already it was impossible to say which was which.
    43. Re:This is good news by teknomage1 · · Score: 1

      SCO has customers?

      You might know them better as Defendants

      --
      Stop intellectual property from infringing on me
    44. Re:This is good news by ultranova · · Score: 1

      Why must people assume the most malicious reason all the time?

      Because such assumptions are usually correct.

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    45. Re:This is good news by moro_666 · · Score: 2, Insightful

      i agree, even for simple applications transactions are heavily needed.

      you could always do

      insert into A(...., complete) values (.... ,0);
      insert into B..
      insert into C..
      #if smth went wrong, just delete the stuff
      #if it went right, make A valid ...
      update A set complete=1;

        and always query for A's where complete is 1 ... but this still scks :p and there's still invalid data in b's and c's :p locking is a `weird` approach in terms of performance, infact you're getting rid of the performance in most cases :D

        transactions makes your life easier and if you know what you're doing, it certainly also shortens the development time.

        after oracle got innodb, i'm not so fond of mysql anymore at all, that was indeed one of the very few useful things in mysql. i haven't checked the 5.1 branches of mysql yet, but 5.0 was still below my expectations.

      i will stay postgresql fanboy for a while. it's cheaper to buy 1 extra machine into the cluster to handle the performance than to spend more and more time on weird code that achieves the same result in mysql.

      --

      I'd tell you the chances of this story being a dupe, but you wouldn't like it.
    46. Re:This is good news by Bacon+Bits · · Score: 1
      SCO has customers?
      Sure! Microsoft!
      --
      The road to tyranny has always been paved with claims of necessity.
    47. Re:This is good news by mustafap · · Score: 1

      >it might be a great place to work.

      From the look of the user interface on several of their products, I'd day the designers hate working there.

      --
      Open Source Drum Kit, LPLC deve board - mjhdesigns.com
    48. Re:This is good news by killjoe · · Score: 1

      Look I love postgres, I really really do but there is a reason why mysql has a bigger share of the database market. Actuall there are several reasons. I won't go into all of them but the fact that you can set up mysql servers that replicate to each other in about 15 minutes is a pretty big one. It doesn't hurt that the replication also includes schema changes either.

      Slony is OK, but it can't be used over links that may be interrupted. This rules out any sort of relication over WANs or the internet. It also takes a long time to set up and requires quite a bit of study and effort.

      Is is slony more robust? Maybe, it sure seems to have a better understanding of transactions but it's not as easy to use as the mysql replication and does not do as much.

      Replication is important to oracle users and that's one area where mysql is a bigger threat then postgres. Clustering is another by the way.

      --
      evil is as evil does
    49. Re:This is good news by Anonymous Coward · · Score: 0

      His surname is "Hasselhoff".

    50. Re:This is good news by killjoe · · Score: 5, Insightful

      "People who choose database vendors and make other such big IT decisions for companies like GM, Boeing, Wal-Mart and such, think "Open source = toy for the geeks"."

      Yes that's why no large corporation in the world uses mysql. Hey wait a minute that's a complete lie isn't it? There are lots of fortune 500 corporations using mysql aren't there. Never mind.

      "They want top notch support, perhaps even an Oracle team to be on-site for a couple of months during deployment, they want someone to blame and to complain to when things don't work right. MySQL provides support but it is just not going to be the same quality."

      Spoken like somebody who has never bought support from oracle or mysql. If you pay mysql half of what you pay oracle for support they will give you the phone number of a developer. How is that for support?

      Mysql offers some of the best support of any database vendor. Go ask any of their big costomers. Then compare what they say to the customers of oracle.

      I don't mean to be a cheerleader for mysql but I really really get tired of the same old "you can't get support or blame somebody" FUD about open source.

      It's over, strike that item from your big book of FUD and find something else to complain about mkay?

      --
      evil is as evil does
    51. Re:This is good news by rasjani · · Score: 1

      I used to work in company that produced software for pharmacies. One of the last assignments in the job, we migrated the whole damn thing from SCO+Ingres 6.4 to Linux running Ingres II. The transition was really smooth - i'd say that the most work was caused by the fact that we had to rewrite some ksh scripts to bash . Also, i'd like to point that even thou im really really not a fanboy of sco software, the administration of then sco openserver machines was really easy.

      --
      yush
    52. Re:This is good news by ScrewMaster · · Score: 1

      Or maybe I'm just wrong ... and they aren't that good.

      --
      The higher the technology, the sharper that two-edged sword.
    53. Re:This is good news by grasshoppa · · Score: 1

      You must be german.

      --
      Mod me down with all of your hatred and your journey towards the dark side will be complete!
    54. Re:This is good news by grasshoppa · · Score: 1

      There's nothing special about open source software.

      Sure there is. It's unique in the fact that most OSS projects haven't got the cash to fight a prolonged legal battle. Given a OSS project that does something better than a closed source version, and you have a situation ripe for legal abuse.

      It doesn't necessarily have to be *right*, it just has to give a company an "in" to sue the bejebus out of someone else until their project dies.

      --
      Mod me down with all of your hatred and your journey towards the dark side will be complete!
    55. Re:This is good news by hobbit · · Score: 1

      How do you sue an OSS project? Surely you have to sue a particular author.

      --
      "Wise men talk because they have something to say; fools, because they have to say something" - Plato
    56. Re:This is good news by kpharmer · · Score: 4, Insightful

      > Replication is important to oracle users and that's one area where mysql is a bigger threat then
      > postgres. Clustering is another by the way.

      No, replication isn't that big of a deal to most enterprise databases. About the only people who really think it's important seem to be MySQL content-management users that want failover. That's fine, but enterprise data management is more likely to focus on hot or cold standby solutions for failover, or ETL for copying to a reporting database.

      As a side-note, I'm currently yanking a bunch of replication out of a db2 architecture that some fool put in. It makes life much more complicated when you've got multiple replication interfaces all over the place. It'll be replaced by Federation - which simply redirects queries against original database, instead of copies data.

      And clustering? Although a very small number of Oracle users are using their product for clustering at least there they can handle more than a few gbytes of data. The solution that MySQL purchased a few years ago is limited to the amount of data that will fit into memory. This is pretty much a useless feature for most enterprise projects. Obviously any that have tens of gbytes of data or any that get frequent writes.

      The one thing that MySQL has over Postgresql is third-party support: due to its huge lead over postgresql 4+ years ago most developers based their apps on it. So, now it's ubiquitous. That's a genuine advantage. No real technical advantages that I can imagine however.

    57. Re:This is good news by ErikZ · · Score: 2, Insightful

      IBM, Novell and Sun are actually contributing to open source.

      I haven't heard of Oracle doing anything like that. What have they contributed to? Have they changed the licence of anything they own to GPL?

      If not, it doesn't sound good to me.

      --
      Democrats or Republicans. They are both taking us to the same place and they are not afraid of us anymore.
    58. Re:This is good news by Anonymous Coward · · Score: 0

      This is exactly why MYSQL has so much mind share...percieved performance. In reality, MySQL, for a single user, is very fast...for many users operating outside of a read-only (select-only) environment, MySQL's performance drops to dead-last. MySQL's multi-user performance in non-read-only environments is just about the worst of any SQL engine or RDBMS system.

      This is a concept which most MySQL users just can't grasp. There is a huge difference between performance and scalability. MySQL performance very fast for single users or many users when operating in a read-only environment. On the other hand, it scales about as worse as worst can get, compared to just about every other commercial SQL RDBMS system available on the market today. In fact, it's not uncommon for MySQL to simply be unable to complete benchmark comparisons. Worse, because MySQL is missing many defacto, common features, the benchmarks often wind up being implemented to meet a minimum common feature set, which MySQL drives. This means all of real RDBMs wind up having to compete is a far from optimal benchmark whereby MySQL can suddenly compete. In reality, as reflected in several benchmarks, when used in a multiuser environment (where concurrency matters), MySQL is one of the slowest, least feature rich, least compatible, most non-standard SQL engines you can obtain.

      In a nut shell, if you feel in love with MySQL, it's a glowing endorcement that you really have no clue about RDBMSs and perhaps you should take a look around to discover what you can do with a real system.

      Look, don't get angry and me for telling you the truth. This is like the small child on the block running around with fresh dog-pooh in his hand claiming he has discovered his own brand of Play-doh; and he's just so proud. I hate to tell you, but you've got stink on your hand and bragging about it only makes it worse. So, take some pride in your self, admit you don't know what you're talking about when it comes to RDBMSs, wash your hands, and learn what a real system can do for you! Drop the dog-pooh known as MySQL. Now has never been a better time!

    59. Re:This is good news by LurkerXXX · · Score: 1

      The grandparent is right. Your experience if LaTex being indespensible is a result of the disipline you are in. As a biology Ph.D., I never touched, or had any remote desire to touch LaTex. I knew plenty of grad students in CS/Physics/Mathmatics that need it and love it, but if your work doesn't involve lots of equations, using Word with Endnote (for citations) is just a much easier default software load. There are plenty of graduate students in fields that don't rely on lots of equations in their papers.

    60. Re:This is good news by prell · · Score: 1

      You'll notice he said "customer's fault", not "customers' fault". Singular, not plural :-) Though suspiciously, the customer's name is Marl DcDribe.

    61. Re:This is good news by Zontar+The+Mindless · · Score: 1
      ...in MySQL all database engines except InnoDB (which is disk-based) silently fail to enforce transaction semantics.


      You forgot NDB Cluster and BerkeleyDB.
      --
      Il n'y a pas de Planet B.
    62. Re:This is good news by Anonymous Coward · · Score: 0

      The problem being once these important OSS coders see oracle source, they are tainted

      A) No they're not. Others have said this enough.

      B) See the Oracle source? Good luck. You can't just access it once you're an Oracle employee -- if you're not in the Systems group, forget it. And even then I suspect you can't access it unless your job requires access.

      C) Why does everyone seem to assume that Oracle bought these backends in order to kill MySQL? First off, that's simply not possible -- the code is available via GPL. If Oracle tried, someone could simply branch it. You'd have to go to Oracle for a proprietary implementation, but since Oracle wants a lightweight DB for embedded uses that's unlikely to change things much.

      Really it's (C) that I keep shaking my head at. Oracle really does need a lightweight DB for embedded and other uses, and buying the MySQL backends was a lot cheaper than developing it in house. Although, to be perfectly honest, I don't think that's the only reason. There's a major Oracle competitor that relies on MySQL for a rather large number of their products. I have absolutely no idea what the licensing agreement is that they have, but presumably it will expire sometime in the next few years... and at that time they may find it a bit difficult to relicense MaxDB.

      I don't know that for sure, it's speculation on my part, but it makes a helluva lot more sense than the other various conspiracy theories floating around.

      Posted anon from a non-work system because I like my paycheck.

    63. Re:This is good news by metallic · · Score: 1

      Oracle has been giving back to Linux in order to make it a better platform to run their database software. There was even a /. article on it recently. As for whether Oracle contributes in any other areas, I don't know.

      --
      Karma: Positive. Mostly effected by cowbell.
    64. Re:This is good news by mustafap · · Score: 1

      Although I hate their ui design, I've just been on an Oracle admin course ( learning tree, very good ) and I have to say the internal functionality is *rather* good. I've been writing software for 25 years yet I was still left thinking 'wow'.

      --
      Open Source Drum Kit, LPLC deve board - mjhdesigns.com
    65. Re:This is good news by IAmTheDave · · Score: 1
      Perhaps we have been a bit lazy: Assuming that the partnership with Innobase would continue forever and that MySQL would eventually acquire Innobase.

      Considering that the Innobase partnership is over, why partner with yet another 3rd party, assuming that this partnership will not fare the way Innobase did?

      I guess what I'm asking is why MySQL doesn't just step up and develop it's own GOOD storage db solution, with transactions and all the nice stuff that InnoDB provided and solidDB will provide?

      --
      Excuse my speling.
      Making The Bar Project
    66. Re:This is good news by Antony+T+Curtis · · Score: 1
      I guess what I'm asking is why MySQL doesn't just step up and develop it's own GOOD storage db solution, with transactions and all the nice stuff that InnoDB provided and solidDB will provide?


      Creating a GOOD storage engine is not easy ... if it was, everyone would have one already and there would be thousands of them out there. Meanwhile, I think partnering with people who already have a proven solution is a good way to deliver choices to the end users quickly. The MySQL Users Conference is only a week away, there will be lots of exciting announcements and presentations.

      (opinions are my own, not of my employer nor anyone else)
      --
      No sig. Move along - nothing to see here.
    67. Re:This is good news by Saanvik · · Score: 1
      In my experience, support provided by developers is usually not very good. Think how foolish your comment would sound if you wrote, "MySQL's marketing material is much better than Oracle's because it's written by the developers" (I doubt it is, I'm just making an analogy).

      Developers are good at developing software. They usually aren't the best people to handle support (or write marketing material). The developer should only get involved if there is code-level support needed by the end-user.

      I'm not saying that MySQL support is bad. I don't know, having never used it. But if it is support provided by the MySQL developers, than it probably isn't as good as Oracle's support. Besides, I'd prefer the developers were working on the software, rather than helping someone with their support needs.

    68. Re:This is good news by Glooty-Us-Maximus · · Score: 1

      The hotness of MyISAM all depends on your requirements. Sure, MyISAM has no foreign key or transaction support, but it's FAST for read-heavy workloads due to no foreign key or transaction support! I'm betting a large majority of applications that use MySQL don't need the transactions or foreign keys (though chances are the majority of these people can switch to an embeddable databases such as SQLite and BerkleyDB which are even faster but minimalist in features)

    69. Re:This is good news by Saanvik · · Score: 2, Informative
      You mean projects like these (see Oracle's development tools page))
      • Apache ADF Faces
      • Eclipse EJB3 Tooling Project
      • Elipse JavaServer Faces Tooling Project
      • Eclipse BPEL Designer Editor Project

      Take a look at Oracle's OSS page for more projects. One of the biggest is OCFS, Oracle's clustering file system which they released with a GPL license.

      Sure most of it is to make it easier for them to sell software for Linux users, but it's out there, with various OSS licenses.

    70. Re:This is good news by Anonymous Coward · · Score: 0
      ...using Word with Endnote (for citations) is just a much easier default software load.
      And the results show that. I'm always a bit surprised when I see a paper from a biologist that looks like something that was written for a high school class.
    71. Re:This is good news by ErikZ · · Score: 1


      Thanks for the link, if I hadn't posted in this thread, I would have modded you up.

      --
      Democrats or Republicans. They are both taking us to the same place and they are not afraid of us anymore.
    72. Re:This is good news by killjoe · · Score: 1

      "In my experience, support provided by developers is usually not very good. "

      In my experience it's the exact opposite. Support from the big guys like MS, oracle, veritas, IBM etc really really sucks. It takes forever to even get them to admit there is a problem. Support from smaller organizations is always top notch because they don't want to lose you as a customer meanwhile oracle would not even notice if you dropped them.

      "I don't know, having never used it. "

      Bingo. If support is important to you then you should go ask customers who have bought support from mysql or oracle or both. I think you will find that as a rule mysql customers are much happier then oracle customers. I know my company was for sure. Oracle treated us like cattle to be milked while mysql treated us like customers whose problems were important enough to be paid attention to.

      --
      evil is as evil does
    73. Re:This is good news by Sxooter · · Score: 1

      For dirt simple PostgreSQL synchronous replication, look at pgpool. It has similar behaviour and caveats as MySQL's built in replication.

      And it's VERY easy to setup and use.

      --

      --- It is not the things we do which we regret the most, but the things which we don't do.
    74. Re:This is good news by Fazlazen · · Score: 1

      Yes, or as they call them: The Defendents

    75. Re:This is good news by Anonymous Coward · · Score: 0

      > InnoDB on the other hand, sticks all of the features into MySQL that it needs in order to be considered a serious database engine.

      Except for views, triggers, stored procedures, domains, schemas, custom operators and indexes, and oh yeah, speed.

      MySQL5 in typical fashion has pretty anemic support for all of these.

    76. Re:This is good news by Anonymous Coward · · Score: 0

      Thanks, for some reason I forgot they were adding BDB, though "still considered gamma quality" leaves some room for concern.

      NDB sounds like a cool idea but the implementation is shockingly brittle. "It is better to perform a number of small transactions with a few operations each than to attempt a single large transaction containing a great many operations" misses the point of transactions (if they didn't need to happen atomically, I wouldn't have tried to group them in the first place!). Worse, there's a list of statements which wilfully violate transaction semantics and apparently no way to either make them all lock every table they touch or completely prevent any of them from being used (so my team can safely use NDB without staring at that section of the FAQ every time we hit return). Come on guys, performance optimizations are one thing, but you should never default to silently producing wrong answers!

    77. Re:This is good news by Stu+Charlton · · Score: 1

      As someone who has used Oracle's support, among others (Cisco, Sun, IBM, Microsoft, BEA), I can say that many of the large players have very good support once you get into Tier 2 or backline. These support professionals are dedicated to customer problems, unlike devs in a smaller org who often have engineering commitments. It's a balance.

      I know that Cisco is renowned for their quality supoprt. Oracle has been crappy as of late due to some management and outsourcing mistakes, but had been quite good a few years back in my opinion. BEA's support website won an awared from the support professionals association for one of the "best support websites" last year, if I recall.

      I think there's truth that small companies tend to have less bureaucracy and hence it's easier to find people that know what they're doing , but it doesn't follow that large companies don't have similar quality support professionals, or that their processes can be optimized to reach the appropriate person at the right time.

      A falsehood is to suggest that open source has anything to do with quality of paid support -- it's more BigCo v. SmallCo tradeoffs.

      --
      -Stu
    78. Re:This is good news by Anonymous Coward · · Score: 0

      >> No, replication isn't that big of a deal to most enterprise databases. About the only people who really think it's important seem to be MySQL content-management users that want failover. ... And clustering? Although a very small number of Oracle users are using their product for clustering at least there they can handle more than a few gbytes of data. The solution that MySQL purchased a few years ago is limited to the amount of data that will fit into memory

      That doesn't agree with this article about MySQL 5.0. http://www.sqlsummit.com/Articles/MySQL5.htm. It mentions MySQL at Sabre Holdings, which does reservations for American Airlines and Travelocity. The replication and clustering described in that article are quite different from what you're saying.

    79. Re:This is good news by Zontar+The+Mindless · · Score: 1
      "It is better to perform a number of small transactions with a few operations each than to attempt a single large transaction containing a great many operations" misses the point of transactions...

      I've always thought it was better to be minimalistic in that regard.

      In any case, the reason this advice is emphasised for Cluster in MySQL 4.1/5.0 is that all tables are in-memory. This won't be such an issue in 5.1, which implements Disk Data tables for Cluster.
      --
      Il n'y a pas de Planet B.
  2. Note to self: by Anonymous Coward · · Score: 5, Funny

    buy out Solid Information Technology.

    -Larry Ellison

  3. Here's an idea.. . Develop your own! by absinthminded64 · · Score: 1

    Did they learn from Microsoft? Why can't they put together their own solutions?

  4. Solid Information Technology by Judas-Priest · · Score: 0, Redundant
    Solid Information Technology Ltd http://www.solidtech.com/ Solid Information Technology Ltd is the maker of a unique data management product, SOLID Server. It is designed for robust operation in demanding environments. Its small size and ease-of-use make it ideal for deployment to web sites, various embedded systems, and other environments where databases need to operate unattended.
  5. it's about time by RelliK · · Score: 2, Funny

    So mysql will now have solid storage? Finally! Oh wait, it's " Solid Information Technology". Never mind...

    --
    ___
    If you think big enough, you'll never have to do it.
    1. Re:it's about time by SlowMovingTarget · · Score: 1

      It's actually pronounced "Sholid Information Technology."

  6. and how many.... by scenestar · · Score: 0, Troll

    web apps are going to have to be re-written because of this?

    --
    perpetually dwelling in the -1 pits
    1. Re:and how many.... by jdragon · · Score: 1

      Well, if you're not using a database abstraction api then you might as well re-write your crappy code.

    2. Re:and how many.... by kestasjk · · Score: 2, Informative

      Perhaps if your SQL is trivial and/or you're writing with portability in mind then abstraction is a good idea. If you're doing anything with transactions, locking, indexing, anything which requires the use of SQL which isn't available or identical on all databases then you can't (fully) abstract. If you're not writing with portability in mind abstraction is a waste of cycles and, more importantly, development time.

      --
      // MD_Update(&m,buf,j);
    3. Re:and how many.... by Anonymous Coward · · Score: 0

      It's only possible to use a (simple) abstraction layer on trivial projects. Every SQL server has its own horrible quirks. Even simple things with PostgreSQL result in terrible nonstandard SQL that can not be easily abstracted. For example, to save a string of characters that's too big for a char() field in MySQL you simply create a text field do an INSERT. With PostgreSQL you have to result to inversion objects:

      CREATE TABLE logo (id varchar(8), graphic oid);

      INSERT INTO logo (id, graphic) VALUES ('1234',
      lo_import('/tmp/1234.gif'));

      SELECT lo_export(graphic, '/tmp/1234.out.gif') FROM logo;

      How are you going to easily abstract that away? MySQL requires only a standard insert, but PostreSQL requires the data be written to or from a file. That's just a simple example of saving a string in a single table. When you get into doing joins, subqueries, cursors, and other more advanced features of relational databases, things get even harder.

    4. Re:and how many.... by Anonymous Coward · · Score: 0

      Text fields and bytea fields can store up to 1G of data in postgresql and those you can use with a simple insert. I don't think you need to use the old large object interface very often.

      And by the way, if you want to store binary data like gif images in the database, don't do that in text fields but use something like bytea that is designed for binary data (it's just like text, but it store bytes instead of characters in some defined encoding).

  7. More Info? by logicnazi · · Score: 3, Interesting

    Does anyone know where I can find more info on the sorts of options/features this storage enginge supports?

    For that matter can anyone point me somewhere which describes the deliniation of responsibilities between generic MySQL code and the storage engines? In particular is MySQL just an SQL query parser/optimizer stuck on top of storage engines?

    --

    If you liked this thought maybe you would find my blog nice too:

    1. Re:More Info? by jadavis · · Score: 2, Informative

      can anyone point me somewhere which describes the deliniation of responsibilities between generic MySQL code and the storage engines?

      Interesting question. However, MySQL does not completely abstract the storage engine. Different storage engines have different semantics at the higher levels. For instance, MyISAM does not support transactions, while InnoDB does.

      --
      Social scientists are inspired by theories; scientists are humbled by facts.
    2. Re:More Info? by Antony+T+Curtis · · Score: 2, Insightful

      That is an obvious difference but not the most surprising difference. The non-transactional MyISAM tables can be very useful for referential (read mostly, update rarely) data for which transactions are not useful. There are other non-transactional storage engines such as CSV.

      I think a more startling difference for users between the different storage engines is that of Referential Integrity - foreign keys are currently only supported within InnoDB.

      This is something which I personally hope will change in the near future and become available for all (transactional) storage engines. Alas, it is not easy to do - if it was, everyone would already have multiple storage engines with it.

      (disclaimer: my views are my own and not that of my employer nor anyone else)

      --
      No sig. Move along - nothing to see here.
    3. Re:More Info? by Anonymous Coward · · Score: 0

      Different storage engines have different semantics at the higher levels.

      Mmmmm, don't you like the smell of bad design and wishy-washy semantics. But hey, MySQL is faster*!

      * if you only do x and restrain yourself from using x+y like you would in a real database.

    4. Re:More Info? by Anonymous Coward · · Score: 0

      The company you work for said for years that RI and FK were not needed and could simply be replicated in code. Are you now saying that statement was a lie?

  8. None by mrnobo1024 · · Score: 5, Informative

    No matter which storage engine you use in MySQL, the SQL syntax is still the same. All you have to change is the ENGINE= line in your schema definitions.

    1. Re:None by hypersql · · Score: 1

      Let's see if this is the case when it's available, because complete compatibility is very very hard to implement. Also, let's see what's the performance. Also interesting to see how Solid is integrated into MySQL (will the MySQL engine create SQL statements for Solid?).

      It is a good idea from MySQL to get another storage engine, but I don't think this is the final solution. My guess is MySQL currently works on theirs own (transactional) storage engine, maybe based on Firebird.

      The whole InnoDB/Sleepycat/Solid story probably scared some customers. On the other hand, it made MySQL more visible to those who never thought about using it.

      I don't view MySQL as a 'true open source' database, when it's not free for commercial use. But MySQL is the reason why many big companies are currently thinking about making the application database independent, and that's good. No, just using SQL (the language) does not make your app database independent. 'SQL, isn't a standard but a theme' (this is from a Jim Starkey interview).

      --
      http://www.h2database.com/

    2. Re:None by adnonsense · · Score: 1

      Personally I always use the syntax ENGINE=BLACKHOLE .

    3. Re:None by Lordrashmi · · Score: 1

      Come on, if MySQL is not free for commercial use, neither is Linux! They both are available under the GPL. The difference is companies have MORE choice in using MySQL.

    4. Re:None by hypersql · · Score: 1

      It's not so clear if MySQL is 'free for commercial use' or not:

      "The Commercial License ... for organizations that do not want to release their application source code."
      http://www.mysql.com/company/legal/licensing/comme rcial-license.html

      "Free use for those who never copy, modify or distribute. As long as you never distribute the MySQL Software in any way, you are free to use it for powering your application, irrespective of whether your application is under GPL license or not."
      http://www.mysql.com/company/legal/licensing/opens ource-license.html

      So if you ship your (commercial) application with (the unmodified) MySQL, you need to use the commercial license. I don't think this is so with Linux, because the important libraries (LIBC) are LGPL and not GPL. Also, each part of the system can have a different license in Linux. Not so if you use MySQL (see above). At least this is my understanding, please tell me (with the relevant links) if you think I'm wrong.
      --
      http://www.h2database.com/

  9. Re:Here's an idea.. . Develop your own! by ScottyH · · Score: 1

    I think they have one...aren't they just buying the competition?

  10. Solid has good stuff! by sgifford · · Score: 3, Informative

    We used to use a Solid SQL database a few years back, before I really knew anything about databases or SQL. It was extremely reliable, fast enough for everything we did, and very easy to administer (even for people who didn't know anything about databases or SQL). I haven't used it recently, but if their technology is still top-notch, this will be very good news.

  11. Re:Here's an idea.. . Develop your own! by Flower · · Score: 1

    Here's a different idea. Don't reinvent the wheel.

    --
    I don't want knowledge. I want certainty. - Law, David Bowie
  12. well, not entirely by Reality+Master+201 · · Score: 2, Informative

    You might adopt different strategies in code to deal with storage layers that supported different levels of transactionality or locking atomicity.

    1. Re:well, not entirely by jadavis · · Score: 3, Informative

      There are actually many differences. Full-text indexes (FTI) only work with MyISAM, for example.

      If you change storage engines, you certainly need to examine all non-trivial MySQL code.

      With MySQL, it's often hard to get all the features you want at one time. In the case of full text indexes, you can't also have transactions because only InnoDB has transactions.

      --
      Social scientists are inspired by theories; scientists are humbled by facts.
    2. Re:well, not entirely by Antony+T+Curtis · · Score: 2, Informative

      With MySQL, it's often hard to get all the features you want at one time. In the case of full text indexes, you can't also have transactions because only InnoDB has transactions.


      You know, it really depends.... If you are creative, you can have your cake and eat it too.

      The most straightforward way would be to create a MyISAM table with the same primary key as the InnoDB table. If the commit succeeds to the InnoDB table, you can safely add the row to the MyISAM table and have your fulltext indicies there. Do something similar for deleting rows and for updates if neccessary.

      It is not rocket science.
      --
      No sig. Move along - nothing to see here.
    3. Re:well, not entirely by Anonymous Coward · · Score: 0

      So I have to communicate with the database twice to do an insert. Then when I want to search, I have to throw in an extra join. And you mysql devs wonder why nobody takes your product seriously....

    4. Re:well, not entirely by Reality+Master+201 · · Score: 1

      The fact that you'd have to consider such a kluge should really make you reconsider your choice of databases.

    5. Re:well, not entirely by Antony+T+Curtis · · Score: 1
      Then when I want to search, I have to throw in an extra join.


      Only when you need to do a fulltext search or access a column stored there. Partitioning large rows is quite common anyways as a method to improve performance. Otherwise, why not have all your data in one table and have huge rows?
      --
      No sig. Move along - nothing to see here.
    6. Re:well, not entirely by TCM · · Score: 1

      I can't believe what I just read. Someone shoot me please.

      It's nice to experience first-hand the mindset that MySQL is developed with. Did I say nice? I meant scary.

      --
      Of course it runs NetBSD. BTC: 1NT7QvbetmANwaMzhpVL6
    7. Re:well, not entirely by Antony+T+Curtis · · Score: 1

      Well, you're forgetting that InnoDB is not developed my MySQL. For InnoDB to have fulltext searches, the Innobase guys have to fit it into their storage engine.

      For where you see problems, I try to see a possible solution. The storage engine API supports fulltext indicies, its up to the storage engine implementor to actually implement that functionality.

      Perhaps there will one day be a storage engine which is both transactional and supports fulltext indicies - right now there is no such thing for MySQL. For a feature to be developed either requries it to be on the roadmap or requires someone (or perhaps a group) to sponsor a feature to be developed.

      Are you willing to sponsor such a feature? If yes, phone up the MySQL sales team, they will be happy to arrange business with you. If not and you just want it for free... well, you can code it yourself if you want, it is all open-source!

      --
      No sig. Move along - nothing to see here.
    8. Re:well, not entirely by TCM · · Score: 1

      For where you see problems, I try to see a possible solution.

      It's a solution necessary because the prerequisite is flawed to begin with IMHO. You say that the storage engine providers have to implement feature X. Where did the idea come from that a separated storage and parser is actually a good idea?

      Are you willing to sponsor such a feature?

      To be blunt, why should I help the mediocre player if I could just go with a superior one that has an even more free license? Yes, I mean PostgreSQL.

      No speed advantage could make up for the feeling of kludginess that surrounds MySQL - an advantage that only applies if you ignore crucial features.

      So what else is there except pretended speed? What does MySQL actually do better than other free databases? Granted, it's available on almost any web hoster. But that's akin to saying "Eat shit. Millions of flies can't be wrong!"

      --
      Of course it runs NetBSD. BTC: 1NT7QvbetmANwaMzhpVL6
    9. Re:well, not entirely by Antony+T+Curtis · · Score: 1
      It's a solution necessary because the prerequisite is flawed to begin with IMHO. You say that the storage engine providers have to implement feature X. Where did the idea come from that a separated storage and parser is actually a good idea?


      Just because no one else has done it like that, doesn't mean it is a bad idea. Perhaps you should complain about GCC having separated the code generator from the parser? Or maybe you want to grumble that the whole concept of having seperate drivers from the kernel is equally flawed and that they should always be in one monolithic kernel, hmmm?

      It is good to innovate - don't berate us just because we are different.

      (opinions are my own, not of my employer nor anyone else)
      --
      No sig. Move along - nothing to see here.
    10. Re:well, not entirely by TCM · · Score: 1

      Perhaps you should complain about GCC having separated the code generator from the parser?

      Maybe I should, if one generator supported MMX while another supports SSE and yet another SSE2 and so on, but no single one supported them all.

      Or maybe you want to grumble that the whole concept of having seperate drivers from the kernel is equally flawed and that they should always be in one monolithic kernel, hmmm?

      Again, if there was one disk driver that only supported reading and one that only supported writing, I'd probably complain. But as it is, both providers of the GCC parser and most kernels also provide a _working_ code generator and drivers that are fully functional and don't lack features that are considered vital in their area.

      What do multiple storage engines actually buy you, apart from leaving out features to get some speed? I still think modularisation in this case is somewhat useless.

      --
      Of course it runs NetBSD. BTC: 1NT7QvbetmANwaMzhpVL6
    11. Re:well, not entirely by Antony+T+Curtis · · Score: 1
      Maybe I should, if one generator supported MMX while another supports SSE and yet another SSE2 and so on, but no single one supported them all.


      I am pretty sure that the PPC970 code generator doesn't support those... and the x86_64 code generator doesn't support Altivec... and the ARM code generator supports none of those mentioned already.

      Worse yet, the Java-bytecode generator completely ignores the "register" variable attribute!

      Time for you to start complaining?

      --
      No sig. Move along - nothing to see here.
    12. Re:well, not entirely by nahdude812 · · Score: 1

      Actually, this is pedantic, but I'd buy into disk drivers that only supported reading or only supported writing. A logging filesystem could be write-only so that you can avoid a system compromise from rewriting log files. Especially consider that perhaps it's a network filesystem that's write-only (append-only), and your security significantly increases as you'll be able to see log entries at least up until the point of compromise.

      The same driver might even support expunging data over a certain age. This could be quite useful!

    13. Re:well, not entirely by Overly+Critical+Guy · · Score: 1

      Oh, for the love of...I shouldn't have to craft such "creative" workarounds to MySQL's inherent limitations. I now have to manage two entire tables to keep them in sync on every change in data just to have transactions and full indexing? I guess I shouldn't expect any less from "you don't need transactions" MySQL.

      The "most straightforward way" would be not to use your solution but to just use PostgreSQL, I'm afraid.

      --
      "Sufferin' succotash."
    14. Re:well, not entirely by Anonymous Coward · · Score: 0

      That's not the half of it. Inserting the data in the innodb table and then inserting the data in the full text indexed table won't be in the same transaction. Thus, the case where you have data that isn't indexed can easily arise. Your text-search join queries will then give you wrong results. You might as well have been using only MyISAM tables.

      Partitioning large rows is common only when you have some small columns that are accessed far more often than some large columns in the same table. Your idea forces that partitioning where it might otherwise not be necessary. As if giving wrong results weren't bad enough.

    15. Re:well, not entirely by metallic · · Score: 1

      Why should someone sponsor the change when you are already licensing InnoDB from InnoBase for the commercial version of MySQL? Obviously this is something that MySQL's paying customers are probably asking for.

      --
      Karma: Positive. Mostly effected by cowbell.
    16. Re:well, not entirely by Antony+T+Curtis · · Score: 1
      Why should someone sponsor the change when you are already licensing InnoDB from InnoBase for the commercial version of MySQL? Obviously this is something that MySQL's paying customers are probably asking for.


      How is it obvious that paying customers are asking for this feature? Are you a paying customer?

      It may be that some paying customers are asking for but perhaps Innobase has decided that they do not want to implement it or perhaps the price that have asked for to add the feature is not affordable - to be honest, I do not know! In any case, MySQL is not going to fork InnoDB ... development of InnoDB has always and will continue to be in Innobase's hands.

      You should be trying to convince Innobase to implement the feature instead of blaming MySQL for the lack of it.

      (opinions are my own, not of my employer nor of anyone else)
      --
      No sig. Move along - nothing to see here.
    17. Re:well, not entirely by Lordrashmi · · Score: 1

      MySQL actually has a storage engine like what you want, "Archive".

      http://dev.mysql.com/tech-resources/articles/stora ge-engine.html

      It only supports INSERT and SELECT operations, but you can easily prevent reading from it if you want. However, no one, not even root can change or delete the data from inside of MySQL. You of course could physically delete the database from the command line, but you can do that with prettymuch everything.

      It also stores data in a compressed format.

    18. Re:well, not entirely by metallic · · Score: 1

      You're missing my point entirely. I was pointing out that MySQL AB is one of Innobase's customers. MySQL AB is also their largest customer, which means the company has at least a little bit of input into what direction that InnoDB gets developed into. Why isn't MySQL AB pushing Innobase to add this as a new feature, especially considering that it would probably cost the company nothing to do so? I was implying in no way that MySQL AB should fork the development of InnoDB. Considering that MySQL AB is paying to be able to dual license InnoDB under both the GPL and a commercial license, that doesn't even seem like a possibility to begin with. Further more, odds are that I can't pressure Innobase to do anything. Just check out the licensing page on Innobase's website.

      As for whether or not I'm a paying customer, the answer is not yet :). But I do have a great deal of code deployed with some of my company's clients that uses MySQL as a backend. We can quite easily become worth around $10k a year to MySQL AB if we need help with a problem we just can't solve.

      --
      Karma: Positive. Mostly effected by cowbell.
    19. Re:well, not entirely by Antony+T+Curtis · · Score: 1
      You're missing my point entirely. I was pointing out that MySQL AB is one of Innobase's customers. MySQL AB is also their largest customer, which means the company has at least a little bit of input into what direction that InnoDB gets developed into. Why isn't MySQL AB pushing Innobase to add this as a new feature, especially considering that it would probably cost the company nothing to do so?


      Well it won't cost nothing.

      We may suggest an idea to them and they say that they want to hire X number more employees to do it. Or for some reason, they don't think that implementing the idea is worth their while. For whatever reason (which I do not know), it hasn't happened yet. Sure MySQL invited them to many developer meetings but Innobase has always been an independent operation. It was interesting to find out what stuff they planned to work on and we told them what stuff we thought would be cool...

      However, if someone came to us with an open checkbook saying they will spend so much money on such a feature, we can then go to Innobase and say "Hey, theres a customer who will pay this much... will you do it now?"
      Then it is up to them.

      Of course, this is all hypothetical wishywashy stuff because I am a developer. I am not on the commercial side of the operation so I don't know any of the nitty gritty details.

      (opinions are my own, not of my employer nor anyone else)
      --
      No sig. Move along - nothing to see here.
  13. So...I have no idea what this means by tlynch001 · · Score: 1

    What does this mean to the casual MySQL user? I'd read TFA but there wasn't one.

    1. Re:So...I have no idea what this means by mikesd81 · · Score: 1

      Now I may be wrong....but this link (http://blogs.zdnet.com/open-source/?p=620) in the story above seems to be an article of some sorts....

      I wonder what would happen if you clicked on the link?

      Might it go to an article?

      FTA

      But does it? After all, Solid is in that enterprise market, albeit a niche within it. Solid is not going away, and this is supposed to be a complementary deal.

      So I talked to Paola Lubet, vice president of marketing for Solid, She told me her 14-year old company had been looking for a way into the broader enterprise market for some time, and sees open source as a "go to market" opportunity.

      I take it mean that mySQL is going to become a major player in the sql world and now with backing of a big company even more powerful...and still free.

      --
      That which does not kill me only postpones the inevitable.
    2. Re:So...I have no idea what this means by Anonymous Coward · · Score: 0

      In fairness to the GP, I'm pretty sure the first link wasn't there when the story was first posted.

    3. Re:So...I have no idea what this means by DrSkwid · · Score: 1

      InnoDB was the new default.
      Oracle bought out the people that made it.
      MySQL need new default storage so they are not tied to Oracle's generosity.
      This is the one they have chosen.

      --
      There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
    4. Re:So...I have no idea what this means by tlynch001 · · Score: 1

      Now that is a great answer. Thank you.

  14. Re:Here's an idea.. . Develop your own! by plopez · · Score: 1

    You mean hire Sybase to write a database engine for them (up to version 6.5 SQL Server was a Sybase product) and then head hunt a bunch of Oracle DB experts to build your own version (which is what they did when they cut over to version 7)?

    --
    putting the 'B' in LGBTQ+
  15. Hooray by brennz · · Score: 3, Informative

    As Mysql continues to catch come towards the Mid-tier in the market, Postgresql is charging at Oracle.

    The entire Database market is heading towards OSS.

    1. Re:Hooray by leenks · · Score: 2

      It may be charging, but it's still a long long way from offering everything Oracle can offer. That said, Oracle is still quite lacking in its support for Indic and Arabic language handling, so maybe Postgres can accelerate in this area?

    2. Re:Hooray by itunes+keith · · Score: 2, Insightful

      I'm not sure I would agree 100% that everything will go to oss - even in the long-term. I've been on mainframe/db2 for three years and have inherited a lot of respect for big iron's sw abilities (and hw, of course). But, I guess, you cannot predict the future.

    3. Re:Hooray by Reality+Master+201 · · Score: 1

      Yeah, if you have the need/money/mindset as a company to actually have a mainframe, then you're gonna fork out the money for DB2. Those things are weird and cool, so completely alien to the PC and Unix/Linux world.

      Out of curiosity, which version of DB2 were/are you using?

    4. Re:Hooray by itunes+keith · · Score: 1

      We are using v7.1 enteprise edition in production subsystems.

  16. Re:Here's an idea.. . Develop your own! by absinthminded64 · · Score: 1

    Thought MS bought Sybase at version 6.5. Did they also pay for development before then? I knew that's where MS got SQL server from but didn't know they paid for it's development pre-6.5

  17. Re:Here's an idea.. . Develop your own! by Gothmolly · · Score: 2, Interesting

    And lets all be glad that MSSQL is secretly Sybase under the covers. Because of this we have the beautiful FreeTDS packages for Perl that happily talk to MS SQL server. Those of us stranded in MS shops can actually work this way, imagine the bloodshed if MSSQL was completely proprietary!

    --
    I want to delete my account but Slashdot doesn't allow it.
  18. *SHAKES HEAD* Good lord... by kaiwai · · Score: 1

    MySQL is a company, they can either go out, do a SUN Microsystems and re-invent the wheel (as the case of their continuously promised, improved sound API that hasn't seen the light of day) and find themselves further behind the eighth ball OR they can go out, find something that is around 70-80% of what they need, and spend a few months writing up the last 20% which the software doesn't address.

    Its all about product turn arounds, getting to market, and ensuring that YOU and YOUR company have the best end to end solution money can buy - so compelling that the customer jumps face first into the contract and wants to sign up instantly.

    1. Re:*SHAKES HEAD* Good lord... by absinthminded64 · · Score: 1

      I just ran ouf of beer. Very tragic.

      But it seems that MySQL has recently been burned by using solutions developed by other parties. .

      It seems it would be more beneficial to have control over that solution than subject their customers to the same uncertainty that they're subject to now.

    2. Re:*SHAKES HEAD* Good lord... by AuMatar · · Score: 1

      Or do both (most likely what they are doing). Team 1 fits an existing solution into their db. Team 2 develops their own complete solution. Team 1 gets something out there which can be used immediately, while team 2 is the one counted on for long term solutions in 2-3 years.

      --
      I still have more fans than freaks. WTF is wrong with you people?
  19. Re:Here's an idea.. . Develop your own! by Anonymous Coward · · Score: 0

    Because Microsoft is going with a Liquid Storage Engine.

  20. Something I blindly stumbled over... by Frosty+Piss · · Score: 4, Informative

    Within two clicks of the Slashdot story page, I found THIS.

    --
    If you want news from today, you have to come back tomorrow.
    1. Re:Something I blindly stumbled over... by jfmiller · · Score: 1

      How about an independant review that doesnt require me to fill out a "Liturature Request Form." Is there one of those linked in the story?

      --
      Strive to make your client happy, not necessarly give them what they ask for
  21. Postgresql is another option by Anonymous Coward · · Score: 0, Offtopic


    If there is a problem with mySql, one could always migrate to Postgresql. Postgresql is well known for its advanced features and its excellent ability to work with large-size dbs.

  22. Full text support by Sollord · · Score: 1

    Does anyone know if soliddb can do fulltext search? That one thing that annoyed me about Innodb

    1. Re:Full text support by mthreat · · Score: 2, Informative

      I'd suggest checking out some of the fulltext search libraries if you want flexible, fast fulltext search. It may not be as easy as using the database's built-in support, but the extra effort may pay off in performance and extensibility. For starters, check out open source Apache Lucene, which has ports to several languages, including Python, C, and .NET (C# I believe), and the original in Java. It's easy to get up and running quickly, and designed well enough to be customizable later.

    2. Re:Full text support by Sollord · · Score: 1

      Yeha I've looked at those i'll probally try one I've also been looking at the php one they're working on. I was mainly just wonderign since thats one of the things inno waslacking

  23. While you're waiting to see how this shakes out by Anonymous Coward · · Score: 0, Offtopic

    you could give postgresql a look-see. Might be your answer.

  24. Re:Here's an idea.. . Develop your own! by Antony+T+Curtis · · Score: 1

    Isn't it better to have a choice of technologies? Also isn't it better to have friends and partnerships than make enemies or treat everyone else as foe? Isn't it better to be able to choose how you want your data stored than to have no choice whatsoever? MySQL is about choice... You can choose to use it or you can choose to use something else. You can choose to store your data in InnoDB, BerkeleyDB, Cluster, MyISAM, Memory, CSV - or if you have very specific requirements, something you put together yourself - the code is all GPL open source.

    Besides, the most complex part of any modern database system is the optimizer - which has to use many heuristics to guess an optimal way to retrieve the data requested taking into account what indicies are available and the performance characteristics of the underlying storage engine. The actual storage engine only has to be as fast as possible in execution and keep transaction state and isolation between connections (for transactional storage engines). A good transactional storage engine takes a long time to design and an even longer amount of time to prove. I am sure that DBAs would much prefer to entrust their data to an engine which is based upon proven technology than something which is unknown and all new and shiny.

    Freedom of choice is always a good thing.

    MySQL is not about having cheap database... MySQL is about Freedom of choice.

    (disclaimer: opinions are my own and not of my employer or anyone else)

    --
    No sig. Move along - nothing to see here.
  25. Re:Here's an idea.. . Develop your own! by NutscrapeSucks · · Score: 1

    Microsoft and Sybase forked from each other long before 6.5 -- it was back in the 1980s.

    --
    Whenever I hear the word 'Innovation', I reach for my pistol.
  26. They did it for the headlines by suv4x4 · · Score: 1

    No reporter would miss an opportunity for a solid pun like that ;)

  27. Hear that sound? by melted · · Score: 1

    It's the sound of Oracle money flushed down the toilet. :0) Man, that Ellison guy must be MAD right now.

    1. Re:Hear that sound? by Sollord · · Score: 1

      Yeah not he can't build another racing boat

  28. I hope they've got a perpetual licensing agreement by WoTG · · Score: 3, Insightful

    I guess somewhere down the line MySQL users will be pressured to move off of innodb onto this Solid DB. (At which point, we might see some community backlash and a big controversial fork where the community makes a GPL-only version of MySQL to maintain InnoDB support -- which would please Oracle greatly.)

    I hope the MySQL has gotten something in paper that will make sure that this is the last time that users have to migrate. Sure, they can claim that a migration will be seamless, but who's going to be foolhardy enough to risk their data on a transition like this without significant testing?

    Actually, now that I think about it, I don't know if it is reasonable to expect users to switch "just" so that MySQL will be able to sell commercial licenses to their drivers and what not. The switch to InnoDB took years (and it's probably still ongoing for many users), but in return, those who switched got a lot of new features that made it worthwhile (probably). This time around, there is not much of an incentive for end users -- assuming that the feature sets will be roughly comparable between InnoDB and Solid.

  29. Re:Here's an idea.. . Develop your own! by jadavis · · Score: 5, Insightful

    MySQL is about choice... You can choose to use it or you can choose to use something else. You can choose to store your data in InnoDB, BerkeleyDB, Cluster, MyISAM, Memory, CSV

    "Choices" is positive spin. Some might say that MySQL is all about sacrifices. Here are some examples:

    (1) "MySQL has many applications written for it"
    * Not if you enable strict mode, or if you use storage engines that don't support the features you need.
    (2) "MySQL is optionally SQL compliant with strict mode"
    * Only if you want to forego 99% of the existing MySQL applications, and start fresh.
    (3) "MySQL has transactions"
    * Not in MyISAM, which means no full text indexing.
    (4) "MySQL is free"
    * Only if your application which links against the client library is also GPL.
    (5) "MySQL is fast"
    * Only if you use MyISAM, which means no transactions or many other features that aren't available in MyISAM.

    I could go on. Anyone can talk about how MySQL has a feature, but you have to make sacrifices for those features. And I think many of those are bad, unnecessary sacrifices. MySQL implements features not to give their users choice, but to give MySQL AB a marketing advantage. Their advocates and salespeople will always say "yes" to all of those features above, but it's not until later that the customer realizes that they can't use the features together.

    --
    Social scientists are inspired by theories; scientists are humbled by facts.
  30. Question by Goo.cc · · Score: 1

    I don't know anything about InnoBase but I do use BerkleyDB (as part of Bogofilter) and I know that Sleepy Cat dual licenses it under a commerical and an OSI approved open source license. While I understand that Sun could try and close the BerkleyDB source code, wouldn't MySQL be able to fork it and continue on their own?

    I looked at the license for BerkleyDB and didn't notice anything that would prevent forking. Am I wrong?

    http://www.sleepycat.com/company/oslicense.html

  31. Don't about you... by threedognit3 · · Score: 0

    But my long term strategy is to buy Oracle. Open source DB will die, be resurrected and die again.

  32. Captain Ramius? by XanC · · Score: 1

    Is that you?

    1. Re:Captain Ramius? by SlowMovingTarget · · Score: 1

      Shome things in here don't react well to inshert shtatementsh.

  33. Re:Here's an idea.. . Develop your own! by Antony+T+Curtis · · Score: 5, Informative
    Hmm.. I'll bite.

    (1) "MySQL has many applications written for it"
    * Not if you enable strict mode, or if you use storage engines that don't support the features you need.

    If your application is designed for MySQL specificially without strict mode, then strict mode is not for you. It is more useful to people porting their applications from some other product to MySQL than to the existing MySQL user base.

    (2) "MySQL is optionally SQL compliant with strict mode"
    * Only if you want to forego 99% of the existing MySQL applications, and start fresh.

    Ditto above. Perhaps the existing MySQL user wants to go to strict mode in order to support databases *other* than MySQL. Have you concidered that?

    (3) "MySQL has transactions"
    * Not in MyISAM, which means no full text indexing.

    MyISAM was never designed with transactions in mind. It performs its intended function excellently. Not all data is useful to keep in some kind of transaction context - take for example a table mapping UPC codes to product names and descriptions: it will never need to change in a transaction so having transactional overhead would be wasteful.

    (4) "MySQL is free"
    * Only if your application which links against the client library is also GPL.

    Myth used to scare people away from opensource GPL code.

    (5) "MySQL is fast"
    * Only if you use MyISAM, which means no transactions or many other features that aren't available in MyISAM.

    Some people would disagree with that statement. Quite a lot of people have found that for their needs, MySQL is lighter and faster (or at least, as fast as the big name products) even when never using MyISAM tables.

    There will be people whose needs are best served with products from Oracle, IBM, Microsoft, Sybase... I am sure that no one in MySQL claims that it is the only solution to all problems: MySQL is a young database product which is actively being developed so it will improve.
    --
    No sig. Move along - nothing to see here.
  34. Alright now I'm confused. by Spy+der+Mann · · Score: 1

    First it was ACID. And now they're going SOLID? Make up your minds! :P

    1. Re:Alright now I'm confused. by jacklexbox · · Score: 1
  35. Why did they do this? by Matt+Perry · · Score: 1
    Ok. I read the article.
    MySQL responds by getting Solid Information Technology, a proprietary database vendor, to take its solidDB Storage Engine for MySQL open source, under the GPL, starting in June.
    Why? InnoDB was already GPL'd. Why not continue to use and develop it? Instead MySQL is going to switch to something completely different with source no one has seen yet (therefore no one outside of Solid is familiar with the codebase). What's to stop Oracle for making Solid Tech a great offer and buying them up? Then MySQL could be starting this cycle over again.
    --
    Slashdot: Failed Car Analogies. Amateur Lawyering. Anecdote Battles.
    1. Re:Why did they do this? by ZeekWatson · · Score: 1, Informative
      Why? InnoDB was already GPL'd. Why not continue to use and develop it?

      Because mysql sells a private version of their DB server. They can't do this with GPL'd code in it. They had a separate (non-GPL) license aggrement from Innobase Oy to use the InnoDB engine.

    2. Re:Why did they do this? by Anonymous Coward · · Score: 0

      Just to be a pedant: No one is really familiar with the InnoDB code outside of the Innobase Oy (now Oracle, Inc.) developers anyway. It's a beast.

  36. Good, but how good not known yet by PizzaFace · · Score: 4, Insightful
    Solid's database server has a good reputation. Philip Greenspun used to recommend Solid as a cheaper alternative to Oracle, though it seems he now recommends PostgreSQL. What all three systems have in common is multi-version concurrency control, which improves concurrent data access by tracking the changing versions of data rather than locking the data when a user might change it.

    I'm just worried about this quote from Solid's V.P. of Marketing:
    So we're going to make available code that works only with mySQL. On the side we have a proprietary line of products.
    It sounds like MySQL will use only a subset of the Solid product. So how good this news is will depend on how complete a subset of its product Solid opens.
    1. Re:Good, but how good not known yet by Achromatic1978 · · Score: 1
      now recommends

      "Now" being of course a euphemism for three years ago ("Revised July 2003"), because we all know how stale and stagnant MySQL and PostgreSQL etc have been these last three years.

    2. Re:Good, but how good not known yet by lawpoop · · Score: 1

      "[H]ow good this news is will depend on how complete a subset of its product Solid opens."

      While the community would receieve greater benefit from more Solid products coming under open source, the real good news here is that MySQL will offer a transaction engine that cannot be pulled out from under it by Oracle. That transaction engine happens to have been developed by Solid.

      --
      Computers are useless. They can only give you answers.
      -- Pablo Picasso
    3. Re:Good, but how good not known yet by tommiv · · Score: 1

      Solid will be providing the complete disk based storage engine for MySQL users. solidDB provides similar functionality as InnoDB with multi-versioning concurrency control and ACID transactions. solidDB also provides some additional capabilities included as on-line backup and optimistic concurrency control for writes.

    4. Re:Good, but how good not known yet by aled · · Score: 1
      MySQL will offer a transaction engine that cannot be pulled out from under it by Oracle. That transaction engine happens to have been developed by Solid.


      er.. unless Oracle buys Solid, the same they did with InnoDB.
      --

      "I think this line is mostly filler"
  37. Preventing forking... by pieterh · · Score: 2, Funny

    If you took a look at the BDB source code, you're understand immediately why forking this is not an option unless you happen to have hired the developers.

  38. I get it... by repetty · · Score: 1

    I get you point... Choice sucks.

    1. Re:I get it... by Anonymous Coward · · Score: 0

      Choice is valuable once you have more than one alternative that doesn't suck. MySQL might eventually get there with Solid, but until then you'd have to be out of your fsckin' mind to use anything other than InnoDB, lest MySQL cheerfully accept garbage in foreign keys and serve up half-written updates.

  39. Commercial viability by XanC · · Score: 1
    MySQL uses a dual-licensing scheme. It's GPL to anybody who is willing/able to comply with that license. Otherwise, you pay MySQL for a license.

    This means that every component MySQL uses must be a) GPL licensed, and b) produced by a company willing to sell commercial licenses through MySQL.

    1. Re:Commercial viability by muyuubyou · · Score: 1

      I don't see your point. InnoDB is a)GPL licensed

      They could continue developing the GPLed version, they just have to keep it GPL. They can even fork.

    2. Re:Commercial viability by Jamesday · · Score: 1

      MySQL makes some money from software vendors who bundle non-open source applications with the MySQL databse server. Because those applications aren't open source, they couldn't use a GPL InnoDB storage engine.

      MySQL has so far announced addressing this in several ways:

      1. MySQL and Oracle have extended their licensing agreement for InnoDB.

      2. Jim Starkey's engine.

      Also there's anything MySQL may be doing internally.

      I won't be surprised to hear other announcements at the Users Conference in a week or two.

    3. Re:Commercial viability by XanC · · Score: 1
      Notice my conjunction between a) and b) was and, not or.

      MySQL's business model needs both.

  40. Re:LARP by bani · · Score: 4, Funny

    I have been using Perl for 5 years. After 1 month with Ruby, I'm not going back.

    That's like saying "i have been eating dogshit for 5 years. After 1 month with steak & eggs, i'm not going back.". Hardly an impressive statement at all.

  41. Re:LARP by kz45 · · Score: 0, Troll

    PostgreSQL is superior to MySQL in amny ways
    Ruby has many advantages over Perl and Python ... I have been using Perl for 5 years. After 1 month with Ruby, I'm not going back.


    while it may be superior (I still don't know if I believe this), the support is still not there. The mysql/php combo is installed on most web-hosting providers.

  42. Re:I hope they've got a perpetual licensing agreem by Antony+T+Curtis · · Score: 4, Informative

    There will be no need to pressure existing users off from InnoDB .... InnoDB is GPL code and as such will always be available: This is the strength of open source software, it is very hard for players to pick up their toys and leave the sandbox. If they leave the sandbox, they have to leave their toys there. Besides, Oracle has stated that they do not intend to change Innobase's business. Lets hope that they keep that promise.

    Of course, MySQL can encourage people to use a particular product choice based upon future roadmaps but I don't imagine that InnoDB support will ever be axed.

    (opinions are my own, not of my employer nor anyone else)

    --
    No sig. Move along - nothing to see here.
  43. Re:Here's an idea.. . Develop your own! by bani · · Score: 0, Flamebait

    the whining from the postgresql camp begins .................... now.

  44. Also reported... by Anonymous Coward · · Score: 2, Funny

    Insiders claim that the liquid storage plans went down the drain when an executive bumped into the file server and spilled hundreds of critical files.

  45. Re:Here's an idea.. . Develop your own! by -noefordeg- · · Score: 1

    (3) "MySQL has transactions"
    * Not in MyISAM, which means no full text indexing.

    I kind of fail to see what problem you have with that...
    Why not have MyISAM-table for text queries and link back to the main tables? Would give you an opportunity to choose which fields to add text data from before indexing too. You can use InnoDB for everything else.
    The full text indexes get pretty huge, pretty fast. Using them on a huge product table wouldn't be very wise at all.

  46. Re:Here's an idea.. . Develop your own! by Jimithing+DMB · · Score: 5, Insightful
    MyISAM was never designed with transactions in mind. It performs its intended function excellently. Not all data is useful to keep in some kind of transaction context - take for example a table mapping UPC codes to product names and descriptions: it will never need to change in a transaction so having transactional overhead would be wasteful.

    This is typical LAMP programmer thinking. What do I need transactions and data integrity in a database for? I'll just code the checks into my application. I prefer instead to put checks both in the database and in the application.

    (4) "MySQL is free" * Only if your application which links against the client library is also GPL. Myth used to scare people away from opensource GPL code.

    This is no myth. MySQL's client libraries are definitely GPL. If you link to them you must abide by the terms of the GPL. Alternatively, you can purchase a license from MySQL AB. MySQL AB spins this up so much saying that they are open source but what they really mean is that they are open so long as you are open.

    I'll stick with PostgreSQL. Unlike MySQL, PostgreSQL is a serious alternative to Oracle or MS SQL. It is also BSD licensed and thus there are zero restrictions on its usage within a commercial product and there is no need to purchase a commercial license.

    MySQL is okay for the LAMP mentality but when you start getting in to ORM/ERM (Object/Entity relational mapping) with packages like Rails's Active Record or WebObjects's Enterprise Objects you need a more serious database. As another poster has pointed out in this thread I give it only a few more years before mainstream open source web development moves into the ORM camp.

  47. Can someone explain to me... by Anonymous Coward · · Score: 0

    What's with the different engines in MySQL? I understand that they're different, what I'm trying to understand is why MySQL gets some other company's engine and uses it? I mean, I thought MySQL WAS a database. How can you still call MySQL using InnoDB, MySQL?

    Really, I'm confused. Is there really all that much more to a database than a database engine?

  48. postgres by jdew · · Score: 2, Interesting

    Hmmm, any real reason why they don't just take postgresql and use that as their backend?

    1. Re:postgres by drinkypoo · · Score: 1

      Probably because postgres is the competition and using their engine would be equivalent to saying that MySQL is irrelevant and everyone might as well just go to postgres? Also, there are licensing issues.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  49. Re:Here's an idea.. . Develop your own! by dkgasaway · · Score: 1

    This is no myth. MySQL's client libraries are definitely GPL. If you link to them you must abide by the terms of the GPL.

    True. However, the modified version need only be GPL'd if the modified version is distributed. From the FSF's GNU GPL FAQ:

    The GPL does not require you to release your modified version. You are free to make modifications and use them privately, without ever releasing them. This applies to organizations (including companies), too; an organization can make a modified version and use it internally without ever releasing it outside the organization.

    But if you release the modified version to the public in some way, the GPL requires you to make the modified source code available to the program's users, under the GPL.

  50. Re:Here's an idea.. . Develop your own! by Antony+T+Curtis · · Score: 2
    MyISAM was never designed with transactions in mind. It performs its intended function excellently. Not all data is useful to keep in some kind of transaction context - take for example a table mapping UPC codes to product names and descriptions: it will never need to change in a transaction so having transactional overhead would be wasteful.


    This is typical LAMP programmer thinking. What do I need transactions and data integrity in a database for? I'll just code the checks into my application. I prefer instead to put checks both in the database and in the application.


    Mmmm'kay... so if there is a performance bottleneak in accessing a table which is essentially constants, the developer decides to simply hard code all that rather than keeping it all in the database. Great. Seen it done many times.

    This is no myth. MySQL's client libraries are definitely GPL. If you link to them you must abide by the terms of the GPL. Alternatively, you can purchase a license from MySQL AB. MySQL AB spins this up so much saying that they are open source but what they really mean is that they are open so long as you are open.


    I personally know of many companies which make use of MySQL and have never publically released any code and are still abiding by the GPL. MySQL obviously encourages support contracts for companies using MySQL internally but does not force people to license MySQL in the non-GPL form if their use of MySQL is strictly internal. ie: no binary distribution etc.

    I personally use BSD-style licenses for many of my personal project code (see for example the PC-Net simulation code in Xen) but I will equally defend the GPL against FUD attacks. There is nothing stopping companies from using GPL code within their organisation.

    (opinions are my own and not of my employer)
    --
    No sig. Move along - nothing to see here.
  51. Re:LARP by SmashMacFly · · Score: 2, Insightful

    Postgres used to be superior to MySQL in many ways two versions ago. It was much stronger and faster and it used to allow you some actions that were imossible with MySQL like DELETE in multiple base at once. But Postgres also had some problems like the impossibility to alter a DB once it had been created, forcing you to re-create a DB if a minor modification was needed. Now MySQL has evolved a lot and is basicaly at the same level but indeed with a lot more support.

  52. Re:Here's an idea.. . Develop your own! by Anonymous Coward · · Score: 0

    this is not about modifications, but about linking. Only a GPL program can link against a GPL library without violationg its license - see also the GPL FAQ here and here.

  53. Re:Here's an idea.. . Develop your own! by Anonymous Coward · · Score: 0

    The only problem with those of us sticking with PostgreSQL (I'm one of them) is that we're not as widely supported... and MySQL with it's huge market share is.

    For example, I just finished an application, and writing the server installer in windows just sucked... whereas the big installation players all have simple plugins to setup a MySQL server and load the information with no difficulty whatsoever, made me jealous. Still not switching, I love me my postgresql.

  54. Adopt? No! by Khanom · · Score: 2, Informative

    There is a world of difference between "MySQL to Adopt Solid Storage Engine" and getting "Solid Support", as in, from TFA: "...getting Solid Information Technology, a proprietary database vendor, to take its solidDB Storage Engine for MySQL open source, under the GPL, starting in June".

    Solid is just offering YA storage engine that works with MySQL, and they happen to be GPLing it. This does -not- mean MySQL is adopting anything from Solid.

    Slashdot editors: please read TFA once in a while and please stop writing misleading headlines.

    1. Re:Adopt? No! by mAriuZ · · Score: 1

      I agree , mysql can be used with many storage back-end (black hole anyone? :))
      I thought they will use firebird/interbase like engine

      http://lxer.com/module/newswire/view/54927/index.h tml

      --
      developer http://flamerobin.org
  55. Solid(TM) and the Oracle connection by adnonsense · · Score: 2, Insightful

    Says here that the marketing VP quoted in TFA, Paola Lubet, used to work for Oracle.

    Now I wouldn't want to read anything into that, I'm guessing there's a lot of rotation between database companies, and it's a private company held by a bevvy of investors, so Larry Ellision presumably won't be able to drop it in his shopping basket when he pops out for some milk. On the other hand the investors sound like venture capitalists (I may be wrong, corporate finance is not my field) who might be interested in any short-term returns on their investment that a large, cash-rich company could offer.

  56. That which makes you stronger, kills you, by David+Off · · Score: 1

    Tainting does seem to be a big issue for us developers.

    I'm not thinking about the move from a CS to OSS project but just getting hired by another company who are extremely risk averse. For example if you've seen Sun's Java source code (who hasn't Sun were pimping all around the shop at one time) there is no way IBM would hire you to work on the J9 JVM.

    It seems crazy though, what actually adds value to you as a developer stops you working elsewhere.

    1. Re:That which makes you stronger, kills you, by Anonymous Coward · · Score: 0

      Welcome to the wonderful world of intellectual property... where your intangible thoughts and knowledge are the property of a corporation.

    2. Re:That which makes you stronger, kills you, by jZnat · · Score: 1

      So, Ignorance is Strength then? Yay for 1984!

      --
      'Yes, firefox is indeed greater than women. Can women block pops up for you? No. Can Firefox show you naked women? Yes.'
  57. always another one around the corner by BugDoomBug · · Score: 0
    The beautiful part about the OS community is that if MySQL was overtaken, or if the developers were, that the next group of coding gurus would come along and create something better.

    Right now the motivation is not there because MySQL works so well.

  58. Re:Here's an idea.. . Develop your own! by Anonymous Coward · · Score: 0

    Actually, Sybase partnered with MS and Ashton-Tate (who wrote dBase) in the late 1980's to make the OS/2 port of SQL Server. When MS wanted to port it to Windows NT, they wanted to add things like threads (for SMP support, which OS/2 didn't have) and async I/O. Since this would totally break with the Unix model which didn't have these things (remember, this was early 1990's), MS broke off the deal with Sybase.

    The first version of SQL Server after forking the code was 6.0 (the previous version was 4.2, which was just a straight port from OS/2), which had the same storage format as Sybase. Keep in mind, though, the code had to be substantially rewritten to support threads, async I/O, completion ports, and all other features that were specific to NT.

    MS SQL 7.0 was a total rewrite to break free of the ancient storage format, and the latest version bears almost no resemblance to the Sybase product beyond basic compatibility with Transact-SQL and maybe the network protocol.

    dom

  59. Re:Here's an idea.. . Develop your own! by jadavis · · Score: 1

    If your application is designed for MySQL specificially without strict mode, then strict mode is not for you. It is more useful to people porting their applications from some other product to MySQL than to the existing MySQL user base.

    But all the other databases seem to have mostly SQL standard syntax AND a large number of applications written for them.

    MyISAM was never designed with transactions in mind. It performs its intended function excellently. Not all data is useful to keep in some kind of transaction context - take for example a table mapping UPC codes to product names and descriptions: it will never need to change in a transaction so having transactional overhead would be wasteful.

    Yes, transactions are not required for every situation. I never said that they were. My point was that to achieve the advertised performance numbers that MySQL advocates give out, you have to sacrifice transactions. To get the advertised full text indexing you have to sacrifice performance.

    Myth used to scare people away from opensource GPL code.

    If your application links against the client library, it must adhere to the GPL. This is NOT a myth unless you know of an alternate client library.

    --
    Social scientists are inspired by theories; scientists are humbled by facts.
  60. Re:Here's an idea.. . Develop your own! by XaXXon · · Score: 1

    How does perl's DBI work? I am under the impression that it uses the MySQL client libraries and I am also under the impression that using DBD::mysql doesn't mean that my application has to be GPL.

    Any takers?

  61. Self reply: perl DBI licensing info by XaXXon · · Score: 2, Interesting

    I found this page which states that DBD::mysql uses the MySQL client libraries (It says this for Net::MySQL).

    If you perldoc DBD::mysql, it says it's licensed under the same license as perl (the artistic license).

    Unless DBD::mysql is saying that their code is licensed under the artistic license, but as soon as it's built against the MySQL client library it becomes GPL (and just leaving out the last part), I don't see how the MySQL client libraries could possibly be GPL only. .. Any takers?

  62. Re:Here's an idea.. . Develop your own! by jadavis · · Score: 1

    Why not have MyISAM-table for text queries and link back to the main tables? Would give you an opportunity to choose which fields to add text data from before indexing too.

    You could say the same thing about any data in a database at all. Transactions are useful on a table with a FTI just like on any other table.

    Let's say that you want to make sure that a full text record does not exist without it's accompanying information (perhaps in a one to many relationship).

    A text field doesn't seem at first like the typical bank account example that everyone uses to explain transactions. However, transactions are just as important for any data type.

    --
    Social scientists are inspired by theories; scientists are humbled by facts.
  63. Re:LARP by Jessta · · Score: 0, Troll

    And the support will never be there unless there is demand for it or people writing web applications in language other than mess that is php.

    --
    ...and that is all I have to say about that.
    http://jessta.id.au
  64. Re:Here's an idea.. . Develop your own! by Antony+T+Curtis · · Score: 1
    I personally cannot say much about performance statistics that other people trumpet. The only one which was published widely and compared several vendor's databases using the same app and hardware was the review conducted by eWeek a couple of years ago. AFAIK only InnoDB was used on MySQL during testing.

    If your application links against the client library, it must adhere to the GPL. This is NOT a myth unless you know of an alternate client library.


    I still fail to see how adhering to the GPL would prevent a company from actually using GPL products. The GPL would only come into play if the company was distributing software products and services which made use of or was derived from GPL code. The last time I checked, the overwhelming majority of companies on this planet are not software companies.
    --
    No sig. Move along - nothing to see here.
  65. Re:Here's an idea.. . Develop your own! by vhogemann · · Score: 1
    (4) "MySQL is free" * Only if your application which links against the client library is also GPL. Myth used to scare people away from opensource GPL code.


    It also means that the only code on your application that needs to be GPLed is the one that talks to the database. I usualy never talk directly to the database anyways, so this is hardly an issue to me.

    Look at the bright side, at least it will force you to decouple your application from the data storage. I know that this may not be possible for some applications, but nowdays I guess most applications that deppend on a database for data storage are Web-based... so deattaching them from the database can do only good =D
    --
    ---- You know how some doctors have the Messiah complex - they need to save the world? You've got the "Rubik's" complex
  66. Re:Here's an idea.. . Develop your own! by Anonymous Coward · · Score: 0

    Antony, you've missed the point twice on the trot regarding the licensing issue raised by the GP.

    It's not about whether or not a company gets to use MySQL internally, it's about whether they can link their own products against it, which they cannot - unless they pay MySQL AB for a license, or GPL their own product.

    I would opine that the GP's point is a bit naive - why shouldn't an enterprise pay to use GPL code in a non-GPL work? - but you failed to address this and answered a different question.

  67. Re:Here's an idea.. . Develop your own! by Anonymous Coward · · Score: 0

    Just to sharpen up your points.

    Data integrity != transactions, each database write in Myisam is just the same as an Oracle write, with the same OS calls. The only gain from transactions is grouping of multiple changes into 1 operation so they all-execute or none-execute. Which gains you nothing if you only make changes to *one* table at a time, or read settings from tables.

    The GPL fud is just fud, you can dynamic link to MySQL client just like any other DLL.
    In addition to not having to be a GPL'd program to use GPL, you can even early link to it if you are not distributing the software, or are under other FLOSS software license.

    So you can even make a closed source product, sell it under whatever license you like, distribute the mysql client in DLL form, and you are free to do whatever under whatever license you like. He was careful to say "link to", without mentioning that its not necessary to link to the MySQL library.

    So they're interesting talking points, but nothing of substance.

  68. Good by Godji · · Score: 2, Informative

    So MySQL is keeping up to Oracle's increasing power - that's good! What about PostgreSQL though? What are they doing to keep up? Anyone know?

    1. Re:Good by adnonsense · · Score: 2, Informative

      Adding new stuff all the time? Have a look at the website, it's very informative: What's New in 8.1.

  69. Re:Here's an idea.. . Develop your own! by Anonymous Coward · · Score: 0

    "It's not about whether or not a company gets to use MySQL internally, it's about whether they can link their own products against it, which they cannot - unless they pay MySQL AB for a license, or GPL their own product."

    Here's how to make a DLL in Linux:
    http://www-128.ibm.com/developerworks/linux/librar y/l-dll.html

    You compile the MySQL client as a DLL and LATE link to it for free, or as you said, pay the license if you can't be bothered to do that. All of this is unnecessary if your software isn't for distribution, such as server side web projects, or is under other FLOSS licenses, which is also permitted (e.g. the Apache License).

  70. MySQL tries to play catch up ... by Tetard · · Score: 4, Insightful

    ... while others (PostgreSQL) have all one needs. I guess that's an unavoidable dynamic of free software (and a good one as well -- just like in other competing open source projects). So probably one day MySQL will have everything that PostgreSQL has today, but why wait ? It's mostly transparent to move from one to the other, and there are tons of guides and scripts to convert from MySQL to PgSQL. Even PhpMyAdmin has its Pg pendent (PhpPgAdmin).

    And it's painful to go back when you've learned to do proper logic separation using stored procedures, triggers, views and transactions, things that way too many projects duplicate in the PHP or Ruby front-end, relegating the DB to the "simple" role of being a storage backend (even Ruby on Rails forces you to think that way via the MVC architecture).

    For that purpose, use SQLite -- it does what you need, is very high performance (on-disk, non-concurrent access -- can't get any faster than that). For real solid DB work, with garanteed integrity, just the way RDBMS were meant to be, go for PgSQL.

  71. it is solid! by sad_ · · Score: 3, Informative

    we're using HP data protector backup/restore software, which uses solid as its database for storing all data information.
    HPDP itself is as stable as an italian taxi driver stuck behind two priests in a skoda, but thank GOD, the database is rock solid and doesn't corrupt when HPDP goes belly up again.

    so all in all, a good pick of mysql!

    --
    On a long enough timeline, the survival rate for everyone drops to zero.
    1. Re:it is solid! by texroot · · Score: 1

      Interesting that you say that. I used to work at a data center using Omniback/Data Protector. They had problems with the db on several occasions that required hours of downtime. Went to logging backups only at the directory level instead of file level, as otherwise the db got too big and caused too many problems.

      Possibly HP has since changed the db backend or else those in charge of backups at that data center didn't know how to configure things properly.

  72. PostgreSQL hasn't been sitting still either by dastrike · · Score: 1

    There are quite a few properties that can be altered without having to backup, drop and recreate the database. The only sometimes-handy-to-have thing that I can't really see being present is changing the character encoding of an existing database.

    --
    while true; do eject; eject -t; done
  73. Piccolotalk by Anonymous Coward · · Score: 0

    The 'P' in LAMP denotes use of a dynamic scripting language (Perl, Python, PHP). If it bothers you, perhaps you should just change the name of Ruby to something beginning with 'P'. Personally I prefer lua to ruby. Ideally, I'm would like to target Parrot or nekovm but would not unduly discount Pike or ferrite either.

  74. Re:LARP by numbware · · Score: 2, Funny
    That's like saying "i have been eating dogshit for 5 years. After 1 month with steak & eggs, i'm not going back.".

    Well, according to Google:
    "Eating Dogshit": 1,220
    "Eating Steak & Eggs": 43

    I'd say more people are eating dogshit than eating steak & eggs. Godbless the interweb!

    --
    I'm going to go create my own technology news site, with blackjack and hookers. You know what? Forget the news site.
  75. Re:Here's an idea.. . Develop your own! by mishehu · · Score: 1

    (4) "MySQL is free" * Only if your application which links against the client library is also GPL. Myth used to scare people away from opensource GPL code.

    Has nobody here even bothered to look in the EXCEPTIONS file in the source? You are allowed to directly link to the client code if your choice of license is one of those listed in that file too. It is not *just* GPL.

  76. mysql needs a postgresql storage plug-in by kpharmer · · Score: 1

    So, what happens if after spending a bunch of time working the kinks out of a Solid io plug-in Oracle buys them? Oracle is quickly robbing mysql of storage options, and is positioned to do this indefinitely.

    Looks to me that mysql only has two options:
    1. do what *every* other database vendor does - and build their own backend
    2. use postgresql as a storage plug-in

    Of the above option #1 is obviously the most attractive in the long-term, but option #2 has quite a few benefits:
          * faster to implement than option #1
          * postgresql can't be bought by Oracle
          * immediately benefit from the most mature open source database technology
          * stop any drain of mysql users to postgresql

    I have no idea how the licensing would work, but would love to see postgresql & mysql have a positive relationship in which they could each benefit from each other's technology, market, etc.

  77. mod parent down by foreverdisillusioned · · Score: 1

    (4) "MySQL is free" * Only if your application which links against the client library is also GPL. Myth used to scare people away from opensource GPL code.

    This is no myth. MySQL's client libraries are definitely GPL. If you link to them you must abide by the terms of the GPL. Alternatively, you can purchase a license from MySQL AB. MySQL AB spins this up so much saying that they are open source but what they really mean is that they are open so long as you are open.


    No, you 'must abide by the terms of the GPL' only applies if you redistribute your linked code outside of your company. I would wager that there are quite a few cases (probably the majority) in which this is not necessary at all. This "GPL is viral" crap is so 2005--why don't you come up with some new anti-FOSS FUD to sling at us?

    1. Re:mod parent down by Jimithing+DMB · · Score: 1

      I am no anti-GPL troll. Indeed you are correct that you won't be forced into releasing your source code to the outside world if you only distribute your binaries within your company.

      You are wrong though to say that the GPL does not apply. It still applies but has no effect since the copyright holder is the company and the company won't be distributing the app to anyone other than the company itself.

      It does, however, bring up interesting points when subsidiary companies are involved. If the app is installed on a machine by a subsidiary company I would have to say that it has been distributed to the subsidiary company and thus the subsidiary must now be allowed to have source code under the terms of the GPL. If the subsidiary is later sold, what then?

      Also, what constitutes distribution? I could probably make a case that a company employee having the software installed on his company desktop is still distribution only to the company itself. But what about the company allowing an employee to install the software on his home computer? Has the software now been distributed from the company (as a corporate legal entity) to the employee (as a separate human legal entity)?

      This can very quickly turn in to a complex system where there is not necessarily a clear cut legal answer. Such is the nature of most anything though.

      This does not necessarily mean that using GPLed software is a bad choice but you should be aware that your view is quite simplistic and based on a set of very well defined conditions. I would highly recommend not using GPLed software for anything you may want or need to distribute under different terms.

  78. Not quite.... by cbiltcliffe · · Score: 1
    Because Microsoft is going with a Liquid Storage Engine.
    Not so much liquid....more like goo.
    --
    "City hall" in German is "Rathaus" Kinda explains a few things......
  79. Re:Here's an idea.. . Develop your own! by Anonymous Coward · · Score: 0

    No, you are stupid. All of these apply to works that you distribute -- the same as if you were distributing a modified work. This does not apply to internally used programs -- it would make no sense for the GPL to apply in such cases!

    The GPL states that you must make the source code for your program available to anyone you give the program to. If you truly feel you must apply the GPL internally, then you must make the code available to yourself and the employees of your organization...is that really a problem for you? Are you worried that if you allow the people developing your applications to have access to the source code for those applications, it will hurt your interests?

  80. Article is wrong about location by scarlac · · Score: 1
    Going to open source with mySQL was also a comfortable decision for Solid. Both companies were founded in Finland, and still do most development there.
    Well, that's not really the truth. Last time I checked MySQL was founded in Sweden, and they havn't moved AFAIK. But it's nice to see that they are trying to complete the lie with a picture of Finland.
    1. Re:Article is wrong about location by Anonymous Coward · · Score: 1, Informative

      They aren't lying. The founder and lead developer (Monty Widenius) is from Finland, as is the CEO (Marten Mickos) is also Finnish, as well as a bunch of other sales and development staff.

      It just so happens that Monty was working for a Swedish company (TcX DataKonsult) when he came up with MySQL, thus the Swedish company that exists nowadays: It's the old TcX, renamed MySQL AB.

      One might also note that Innobase Oy (creators of InnoDB) are also from Finland.

  81. Re:Here's an idea.. . Develop your own! by GabboFlabbo · · Score: 1
    (2) "MySQL is optionally SQL compliant with strict mode" * Only if you want to forego 99% of the existing MySQL applications, and start fresh.
    Oh people can come up with statistics to prove anything... 14% of all people know that.
  82. I'll try... by wandazulu · · Score: 1

    BerkeleyDB, InnoDB, and now this new one, provide the actual backing store; e.g. what gets written to the disk. MySQL is, as far as I've been able to tell, basically a front end that gives a SQL interface to dealing with records stored in files maintained by one of these other products.

    That said, this is no trivial feat; the raw BerkeleyDB is not very user friendly and I wouldn't even know how to optimize access to it (I've used it for a couple of small projects that needed a little more than flat files, but not a full blown db). What MySQL has done is provide the standard SQL language and some extra code to optimize to the best of their ability the retrieval and storage of records from these binary files.

    It's also these back ends where MySQL gets things like ACID; it's up to the back end to make sure that the data can be written completely in one shot, and if not, somehow signal the MySQL part to activate a rollback (I'm presuming here...I'm not certain this is how it works in MySQL but it would make sense insofar as they're backend agnostic).

    As one who has foolishly written a database back-end system, I can attest that it is *not* trivial and while Oracle's purchases may just be predatory, they did get some good technology in the process (though I'm guessing neither holds a candle to Oracle's) and I can see why they'd want to throw their hats into another company's ring instead of taking on the task themselves.

  83. Re:Here's an idea.. . Develop your own! by kpharmer · · Score: 2, Insightful

    > Isn't it better to have a choice of technologies?

    uh, better than what? If the answer is stability, then no.

    So, MySQL has the following storage plug-ins: MyISAM, Innodb, Sleepycat, etc, etc, etc. as an enterprise data architect (ok, sounds pompous, how about someone that implements a *lot* of database solutions) I really don't care about a wide variety of storage engines that mostly don't meet my needs. Of all of the above, only Innodb is a good general-purpose solution. The others are useful only in specialized circumstances or are obsolete.

    The idea that multiple storage engines is a great idea is just market spin.

    Oracle, DB2, Informix, Sybase, SQL Server, Teradata, Postgresql, Firebird, etc - all have their own. There is no risk to the user that another company is going to buy out their storage engine, force the database vendor to perform an expensive switch and possibly impact functionality or licensing for my applications.

    If MySQL wants to support multiple storage engines that's fine. Not terribly attractive to me, but fine. But first - it needs to own its own. And its own needs to support ACID as well as non-logged activity. This shouldn't be news to anyone: this is what every single commercial database provides and has been the way to do it for 20+ years. It's still the way to do it.

    > Freedom of choice is always a good thing.
    > MySQL is not about having cheap database... MySQL is about Freedom of choice.

    How about cheap, full-featured, standards compliant & stable RDBMS? Why isn't this a possibility? This is what I want, not freedom to pick from a pack of obsolete, special-purpose or dead-end storage options.

  84. Re:Here's an idea.. . Develop your own! by Antony+T+Curtis · · Score: 1

    At last! A reasonable sounding criticism - so rare on Slashdot.

    What would be the list of priorities for you for features/changes to be made to MySQL in order for you to seriously concider it. Bear in mind that MySQL does not have an infinite amount of developers so delivering on all of them overnight would not happen.

    What would be the minimum set of requirements for you and what would comprise the expanded set which would be nice to have but not immediately urgent.

    --
    No sig. Move along - nothing to see here.
  85. Re:Here's an idea.. . Develop your own! by misleb · · Score: 1

    This is no myth. MySQL's client libraries are definitely GPL. If you link to them you must abide by the terms of the GPL. Alternatively, you can purchase a license from MySQL AB. MySQL AB spins this up so much saying that they are open source but what they really mean is that they are open so long as you are open.

    That is *if* you link to them and only *if* you decide to resease your software. Most modern projects use some kind of database abstraction layer which would free you from any licensing obligations (as well as unnecessary DB lockin) And most people using MySQL are using it for internal projects and web sites. For 99% (made up number) of uses, MySQL is free from cost or obligation.

    -matthew

    --
    "THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
  86. Did they say replace or add? by Anonymous Coward · · Score: 0

    I haven't heard/seen anything from the MySQL camp officially, but I'd bet that they are ADDING Solid, not necessarily replacing InnoDB. Of course, for the commercial license they will have to do this, but not for the GPL version.

    I'd like to see some official comment from both companies, rather than take a blog entry as gospel.

  87. Re:Here's an idea.. . Develop your own! by ckaminski · · Score: 1

    Hmm... some not-so-definitive information:
    http://www.samspublishing.com/articles/article.asp ?p=30167&rl=1

  88. Re:Here's an idea.. . Develop your own! by jadavis · · Score: 1

    The last time I checked, the overwhelming majority of companies on this planet are not software companies.

    But many companies do copy code to one extent or another. If a company has some code under one license (perhaps that they purchased), it is likely incompatible wit the GPL and MySQL could enforce against them.

    Making client libraries GPL is uncommon and certainly a caveat of using MySQL. It is not a myth. If you understand the implications and you're OK with it, that's fine.

    My whole point is that most RDBMSs don't force you to make all of these sacrifices. If you want FTI you lose transactions (and a lot of other features), what kind of a sacrifice is that? Everyone says that MySQL is easy but to understand all of these tradeoffs is not easy at all.

    --
    Social scientists are inspired by theories; scientists are humbled by facts.
  89. Re:LARP by kz45 · · Score: 1

    Why the hell was this marked as troll?

    I was merely stating that mysql has more support in the IT field (which is true).

  90. Re:Here's an idea.. . Develop your own! by Antony+T+Curtis · · Score: 1
    But many companies do copy code to one extent or another. If a company has some code under one license (perhaps that they purchased), it is likely incompatible wit the GPL and MySQL could enforce against them.


    If they don't distribute, how are they infringing the GPL? Or perhaps you are talking of other licenses which forbid exposure or linking to GPL licensed material?

    Honestly, I want to know.
    --
    No sig. Move along - nothing to see here.
  91. Oracle renewed MySQL's InnoDB license by toby · · Score: 1
    they could keep updating the GPL version of InnoDB and keep distributing it. But then they would lose the revenue that comes from the proprietary-licensed versions of their product... and there goes their business model.

    Chicken Littles will be disappointed - See Zack Urlocker's blog:

    MySQL and Oracle have agreed to a multi-year extension to the existing contract enabling MySQL to continue to sell and support the InnoDB storage engine. The terms of the agreement are very much "business as usual" for both companies.

    This is good news for MySQL customers and for the open source community, and it reinforces the message that Oracle President Charles Phillips stated to us when they acquired InnoDB that they intended to renew the agreement.

    After InnoDB, Solid isn't MySQL's only high end option either. Jim Starkey seems to be working on an OLTP engine after being strategically hired; and who knows what interesting things might come out of MySQL's association with MaxDB (former SAPDB).

    --
    you had me at #!
  92. Re:Here's an idea.. . Develop your own! by kpharmer · · Score: 3, Informative

    > What would be the list of priorities for you for features/changes to be made to MySQL in order for
    > you to seriously concider it. Bear in mind that MySQL does not have an infinite amount of developers
    > so delivering on all of them overnight would not happen.

    Now that MySQL has implemented most of the standard database features, the next step is to harden them and the rest of the codebase. At this point I'm not interested so much in features as I am high-quality & robust implementations.
        - this means that if I add a column to a table I won't have to spend hours copying the data back & forth under the covers
        - it means no more gotchas - with broken date handling, exception handling, type conversions, value truncations, etc.
        - it means that individuals clients shouldn't be able to turn off strict mode.
        - it means that non-strict mode should be deprecated - and gone in a few years
        - it means that the optimizer should be able to handle very complex joins and almost always come back with the very best possible query

    Now, *after* the above have been addressed there are some additional features to add. These are mostly oriented towards reporting functionality, where I think mysql is pretty weak right now. My list would include:
          - oracle-style range partitioning: this means that you can using mysql for large reporting & warehousing applications. We're not talking union-all-views here, but the ability to attach & detach partitions, and disregard partitions of data from queries. I often see 10x performance gains from partitioning over indexing in this kind of app.
          - query parallelism: need to be able to split reporting query work across CPUs. These large queries, often scanning a 100,000+ rows can typically get linear performance improvements in my experience from query parallelism.
          - automatic query rewrite: need to be able to automatically rewrite queries in order to hit summary tables if they exist. This is critical for some types of powerful reporting tools, or reporting performance boosts for commercial apps.
          - materialized views: simple method to manage summary tables. Not critical since this can be developed in other ways, but this has become the preferred way to manage summary tables.
          - federation: the ability to redirect a query against a table to another database to be resolved. This allows you to define reference tables on one database, then share them across many.
          - query failover: the ability for the mysql client to automatically reroute a query to a failover server. This allows you to provide failover without any code changes at the application layer.

    that's all i've got time to write, but should cover most of what I'd look for first.

  93. Re:Here's an idea.. . Develop your own! by Antony+T+Curtis · · Score: 2, Informative
    this means that if I add a column to a table I won't have to spend hours copying the data back & forth under the covers

    Support for this is being implemented but it does rely on the storage engine to know what to do. Otherwise, the fallback is to do it the old slow way.

    it means no more gotchas - with broken date handling, exception handling, type conversions, value truncations, etc.
    it means that individuals clients shouldn't be able to turn off strict mode.

    Good suggestions. I'll try to make sure that they're not forgotten.

    it means that non-strict mode should be deprecated - and gone in a few years

    This would mean breaking backward compatibility - something that I think will be undesirable. There are some embedded applications which do not benefit from strict mode for example.

    it means that the optimizer should be able to handle very complex joins and almost always come back with the very best possible query

    This is the "holy grail" of database systems... What may seem trivial to us to decide what query plan is best may be non-trivial to calculate. There may be a large number of optimal paths but the optimum one may be very hard to deduce due to local minimas. Many databases have such large and complex query optimizers that the query plans have to be precalculated and cached. MySQL has a skilled query optimizer team and I am sure they will do great stuff.

    oracle-style range partitioning: this means that you can using mysql for large reporting & warehousing applications.

    Already actively in development and may be previewed in the 5.1 tree.

    query parallelism: need to be able to split reporting query work across CPUs. These large queries, often scanning a 100,000+ rows can typically get linear performance improvements in my experience from query parallelism.

    Only available in MySQL Cluster to a limited degree. Tricky to make a general solution but it is something we are aware of.

    federation: the ability to redirect a query against a table to another database to be resolved. This allows you to define reference tables on one database, then share them across many.

    Already available and in 5.0 tree, although improvements are possible.

    query failover: the ability for the mysql client to automatically reroute a query to a failover server. This allows you to provide failover without any code changes at the application layer.

    AFAIK, JDBC connector already provides this and I think the .Net connector as well. The C client I think has not implemented it yet but it is something we know about.

    --
    No sig. Move along - nothing to see here.
  94. tainting is FUD by Anonymous Coward · · Score: 0

    Tainting is make-beleive.

    If you want to use a novel algorithm you heard about at your previous job, look it up on the internet. If it isn't there, don't use it. If it IS published on the internet, it is by definition not a trade secret, and you can use it.

    If you want to put it up on the internet, find a smart colleague and give him the specs of the algorithm. Let the colleague reverse engineer the algorithm from the specs, and publish it.

  95. Re:Here's an idea.. . Develop your own! by jadavis · · Score: 1

    If they copy it, they need a license.

    Where in the GPL does it permit such copying?

    And I'm not saying that it applies to every company. But it does apply to many situations that people may not realize. Most companies at least copy the application a few places around their company, for instance installing on a development machine and then the live server. Perhaps you can try to squeeze that into a legal situation. But it would be very easy to violate that if you aren't careful, which was my point.

    Even commercial RDBMSs allow you the ability to link against the client libraries and distribute it. From a logical perspective, most people don't think of linking against client libraries as needing more licenses. But in the case of the GPL, it does. The GPL isn't normally used for client libraries (although it is used for code libraries).

    --
    Social scientists are inspired by theories; scientists are humbled by facts.
  96. Re:Here's an idea.. . Develop your own! by Antony+T+Curtis · · Score: 1
    If they copy it, they need a license.

    Where in the GPL does it permit such copying?


    So you are saying that if I execute "tar -cf /dev/sa0 /boot/kernel-2.6.14-gentoo-r5" and make a copy of the Linux kernel, which is GPL, onto another device, I have to track down all the contributors to the Linux kernel and get permission to do that? OMG! Every Linux user on the planet is infringing!

    Please read the full text of the GPL, specifically version 2 of the GPL (which MySQL open-source release is licensed under), before you utter such garbage again.

    (definitly my own opinions, seriously.)
    --
    No sig. Move along - nothing to see here.
  97. Re:Here's an idea.. . Develop your own! by Anonymous Coward · · Score: 0

    It gains you nothing if you make changes to one *row* of one table at a time. This is a fairly rare use case.

  98. Re:Here's an idea.. . Develop your own! by Anonymous Coward · · Score: 0

    I'll stick with PostgreSQL. Unlike MySQL, PostgreSQL is a serious alternative to Oracle or MS SQL. It is also BSD licensed and thus there are zero restrictions on its usage within a commercial product and there is no need to purchase a commercial license.

    Let's look at all of the major postgres serious alternatives. EnterpriseDB et. al. aren't offered as an open source application because the license allows them to insert their own proprietary extensions. This leads to fragmentation.

    GPL a bad thing? I think not. If it is, sometimes it's the less of two evils.

  99. Re:Here's an idea.. . Develop your own! by Jimithing+DMB · · Score: 1

    I am no GPL FUD-monger. I've got some patches in the Linux kernel (GPL). Some patches to WINE that have since been mostly replaced (now LGPL, was WINE license, I agreed to the LGPL change). Finally, I have a pretty significant amount of code in wxWidgets (wxWindows license which is LGPL with an exception to allow static linking).

    My main reason for choosing PostgreSQL over MySQL was my use of WebObjects which is essentially an ORM based around the concept of transactions (except in the object model it's known as an "editing context"). A secondary concern was that if my internal project were to go commercial (and it's possible) I would like the freedom to license it as I see fit. Keep in mind that I actually DO believe in a lot of what Stallman says, including the part about it being unethical to distribute a binary without source. However, I sometimes disagree with the particular implementation of that belief which is embodied in the GPL. So a secondary concern for choosing PostgreSQL over MySQL was definitely the licensing of the client libraries.

    I should also point out that if you read the GPL more closely you'd realize that dynamic linking does not in fact remove the requirement to license your linked code under the GPL. That is what the LGPL is for. However, I note from another post in this thread that MySQL apparently has an EXCEPTIONS file detailing what other licenses are allowed.

    On the topic of the LGPL (and now I'm getting off the subject) it's worth noting that it is a common misconception that the LGPL requires dynamic linking. What the LGPL actually requires is a means for the end user to relink against a newer version of the LGPLed library. This is generally accomplished via dynamic linking but can also be accomplished by distributing an archive (.a) file or a collection of object (.o) files that can be relinked with an updated version of the library using the static link editor.

    The GPL on the other hand does not state anything like this as the GPL strictly requires the entire work to be buildable from source.

  100. Re:Here's an idea.. . Develop your own! by Jimithing+DMB · · Score: 1
    Mmmm'kay... so if there is a performance bottleneak in accessing a table which is essentially constants, the developer decides to simply hard code all that rather than keeping it all in the database. Great. Seen it done many times.

    Perhaps I have a skewed view because in my case I'd select the "Share all objects" for the particular entity (table) in EOModeler and all of the constants would be pulled into the shared editing context at startup time.

  101. Re:Here's an idea.. . Develop your own! by Jimithing+DMB · · Score: 1
    Let's look at all of the major postgres serious alternatives. EnterpriseDB et. al. aren't offered as an open source application because the license allows them to insert their own proprietary extensions. This leads to fragmentation.

    So what? I can choose to use EntrerpriseDB or I can tell them to shove their closed source product straight up their ass.

    GPL a bad thing? I think not. If it is, sometimes it's the less of two evils.

    Which two evils? The GPL is definitely not evil. Nor is code forking.

  102. Re:Here's an idea.. . Develop your own! by Jimithing+DMB · · Score: 1

    Data integrity != transactions, each database write in Myisam is just the same as an Oracle write, with the same OS calls. The only gain from transactions is grouping of multiple changes into 1 operation so they all-execute or none-execute. Which gains you nothing if you only make changes to *one* table at a time, or read settings from tables.

    In my case I am using WebObjects. It is essentially an ORM (similar to Rails's Active Record) but built around the concept of database transactions instead of Active Record's concept of saving the root of an object hierarchy.

    Enterprise Objects (the data access/control portion of WebObjects) functions by having the programmer do inserts, updates, and deletes in what is known as an "editing context" (sort of an OO equivalent of a transaction). Editing contexts can be nested (similar to how you can begin and commit or abort a transaction within another) and when a root editing context is asked to save its changes (equivalent of SQL COMMIT) it opens a transaction, issues all of the insert/update/delete commands, and commits it.

    Now, of course I could ignore the transactional functionality and craft my app such that each change results in a call to saveChanges on a root editing context. Except I don't want to do this because I've written my app using Direect2Web and the UI for direct to web just doesn't mesh with the old-school concept of having one web page to edit one table.

    What I have instead is an interface where the user is effortlessly traversing the database. The UI is not task based but rather based on the underlying data store. Now you'd think that Joe User wouldn't be able to figure this out but the surprising thing I've found is that I start hearing of users doing things I never even intended to happen. I do start each user out at a home page with a list of common tasks but from there the user traverses the object graph in a natural way.

    I couldn't even imagine using MySQL for this. Without transactions I'd have to be a lot more careful with my validation routines. With transactions I can depend on the fact that when (not if) I make a mistake the DB will catch me. And I know the DB will catch me because in order to easily access related data I need to model the relationships in EOModeler. When creating DB tables from EOModeler I automatically get the proper deferred foreign key constraints that fire upon transaction commit which happens at the end of the editing context's saveChanges method.

    Aside from transactions though, I really don't use any of the more advanced features of PostgreSQL. Ironically, Apple supplies a (closed source) MySQL plugin for EO but not a PostgreSQL plugin. I must admit I was a little leery of that because in this case I could not expect to reasonably abide by the terms of the GPL (even if I'm distributing within my own company) because I simply do not have the source to Apple's adaptor (even to distribute within my own company). That was a risk I could not take. Couple that with the fact that WO really works best with a transactional DB and MySQL is simply out of the question.

    It should also be noted that the open source alternatives to WebObjects based on the old Objective-C interface (WO 4.5) both use PostgreSQL almost exclusively.

    So you can even make a closed source product, sell it under whatever license you like, distribute the mysql client in DLL form, and you are free to do whatever under whatever license you like. He was careful to say "link to", without mentioning that its not necessary to link to the MySQL library.

    How can you avoid linking to the MySQL client library and still use MySQL? The only way to do this would be to reimplement it. Even the JDBC client library is GPL. I am not sure how you (and some other people around here) figure that dynamically loading after app startup somehow differs from having the dynamic linker load a library just before your main function is called. It seems q

  103. Re:Here's an idea.. . Develop your own! by Torne · · Score: 1

    It gains you nothing if you make changes to one *row* of one table at a time. This is a fairly rare use case.

    Says who? I develop a database-heavy webapp and a quick grep through the query logs show that about 96% of UPDATE queries include a WHERE clause that specifies a primary key value, and thus by definition only change one row.

    Applications are all different. I'm sure there are loads of applications where single-row updates are extremely rare, but your application is not my application ;)

    The app I develop has never needed to use transactions, and I've never felt that the client code would be any simpler if transactions were available: it just is that way, for what I'm doing. So MyISAM is a pretty good choice - it means the app runs nicely fast, even though it does a lot of queries.

    It works fine on PostgreSQL too, the DB layer can be switched straight over. I've not benchmarked one against the other, but I would be surprised if the MyISAM performance was worse ;)

    Choices are a great thing: for every task where MyISAM would be hopelessly inadequate, there's a task where it works just fine.

  104. Re:Here's an idea.. . Develop your own! by Rich0 · · Score: 1

    I develop a database-heavy webapp and a quick grep through the query logs show that about 96% of UPDATE queries include a WHERE clause that specifies a primary key value, and thus by definition only change one row.

    Yes, but how many of those 1-record-updates were triggered by a single "transaction". If I write a loop which updates records one-at-a-time then you'll get a million 1-record-updates, but that doesn't mean that it wouldn't benefit from being enclosed in a transaction.

    Also - atomicity is about more that DB writes. What happens if you query the same record 5 times in generating a report/webpage/whatever. If you enclose the SELECTs in a transaction they are guaranteed to return the same result. If you don't then they could be inconsistent. All a transaction does is make DB IO seem instantaneous, even if it wasn't. With a transaction, you can do a SELECT that returns 25 GB of data over a DSL line, and the last record returned was in the state it was the command was issued.

    Now, I still think that allowing transactions to be disabled for the sake of performance is fine, as it gives control to the developer. However, I'd only trust a developer to make that determination if they were well versed in DB concepts - far too many folks have a transactions-are-overrated philosophy without understanding why they are often important.

  105. Re:Here's an idea.. . Develop your own! by Torne · · Score: 1

    Yes, but how many of those 1-record-updates were triggered by a single "transaction". If I write a loop which updates records one-at-a-time then you'll get a million 1-record-updates, but that doesn't mean that it wouldn't benefit from being enclosed in a transaction.

    The database is primarily used to serialise and deserialise state, most pagehits generate exactly one UPDATE to one row (the user's account). There are no loops like that. The data happen to be structured such that the atomicity of writing to a single row is sufficient to maintain consistency at all times.

    Also - atomicity is about more that DB writes. What happens if you query the same record 5 times in generating a report/webpage/whatever. If you enclose the SELECTs in a transaction they are guaranteed to return the same result. If you don't then they could be inconsistent.

    Which is why the application doesn't do that. The state of each thing the app is interested in examining is fetched from the database a maximum of once in a single pagehit, and in almost every case there is no requirement that the states being read be atomic with each other, because they are independant and no cross-table consistency is required.

    All a transaction does is make DB IO seem instantaneous, even if it wasn't. With a transaction, you can do a SELECT that returns 25 GB of data over a DSL line, and the last record returned was in the state it was the command was issued.

    I know exactly what transactions do, I've written many apps that use them. But, this one doesn't. It has a local database and it rarely needs to select more than one row or update more than one row at a time.

    Now, I still think that allowing transactions to be disabled for the sake of performance is fine, as it gives control to the developer. However, I'd only trust a developer to make that determination if they were well versed in DB concepts - far too many folks have a transactions-are-overrated philosophy without understanding why they are often important.

    Where did I imply that transactions are overrated? Transactions are a vital part of many database applications and to try and do those applications without them is foolish. The simple fact I was trying to note is that there are still, whether you have ever developed one or not, applications that have absolutely no use for transactions whatsoever, and thus it's no big deal for them to run on a database that doesn't have them.

    I made that determination for my application because I am well versed in DB concepts. A major design principle was to never implement anything in the application code that would have been cleaner/safer/faster to do in the database layer, just to overcome a shortcoming of the database. It was not a design principle to ensure it would work on MyISAM tables, or even on MySQL at all - it just happened to turn out that way because I never needed to overstep the bounds of what MyISAM can do, and that's quite handy because it means the app works for people who use MySQL.

  106. Re:Here's an idea.. . Develop your own! by NutscrapeSucks · · Score: 1

    There's a better history in the MS Book "Inside SQL Server". The Microsoft version was originally a port to 16-bit OS/2, and the co-development fell apart almost immediately. So it's really inaccurate to claim that MS/Sybase were ever exactly the same. Close, sure.

    --
    Whenever I hear the word 'Innovation', I reach for my pistol.
  107. Re:Here's an idea.. . Develop your own! by jadavis · · Score: 1

    So you are saying that if I execute "tar -cf /dev/sa0 /boot/kernel-2.6.14-gentoo-r5" and make a copy of the Linux kernel, which is GPL, onto another device, I have to track down all the contributors to the Linux kernel and get permission to do that?

    (1) If you are copying files that you already have legally, and you are just incidently copying for basic functionality, it is likely fair use in which case you don't need a license.
    (2) The example you gave seemed to be pure GPL. Since you didn't make any derivative work with an incompatible license, I don't see a problem.
    (3) Legally speaking, if you copy something (aside from fair use), you need a license. Usually it is prominently displayed. If you are unsure about the license terms you have for a given piece of code, you need to track down the copyright holder and get a license.

    Normally this whole process is simple because you just read one file that says "GPL" and it tells you the license for an entire application. Most of the time users merely use the application or perhaps copy it to other computers, and do not create derivative works. For this type of behavior they don't have anything to worry about under the GPL. The GPL is no-hassle when it comes to using and sharing programs.

    However, the story is different for developers. Developers, like with any software, need to put themselves in a different frame of mind, about whose code they are using and what licenses that code is under. Developers invariably use code libraries, and for each one they know they need to acquire the correct rights. Let's say they plan to install it on 5 servers and 10 development machines, they need to acquire all 15 licenses for every code library they use developing the application.

    The problem is that most people who are writing code that uses a separate database server view themselves as users of that database. If you write code that requires MySQL, you are a MySQL user. However, since the client libraries are GPL, those people are now (legally speaking) MySQL developers, since they are creating a derivative work of the MySQL product. And most people won't realize this until they are told by a MySQL sales rep that they need to pay up.

    Of course this is not unique to the GPL. There are a lot of possible licenses for the client libraries that would cause this problem. However, by convention, client libraries are generally licensed under terms that do not create this problem. For example, BSD, LGPL, and many licenses used on the client libraries for commercial database products. MySQL breaks this convention.

    --
    Social scientists are inspired by theories; scientists are humbled by facts.
  108. Re:Here's an idea.. . Develop your own! by Antony+T+Curtis · · Score: 1

    You are using an inconsistant (and possibly very flawed) definition as to what consitiutes a derivative work - perhaps you work for The SCO Group? (joke)

    The GPL requires that the source code is made available to all entities to which the binary is distributed to. This doesn't mean that the company has to put their source codes on a public FTP site but it may mean that every entity which has ownership of any machine which the code runs on has to have access to the source code if so requested. If the company itself owns the machine, then it means that the company must have access to the source code. If the derivative works is supplied by an external contractor, it means that the external contractor must abide by the terms of the GPL and give the company the source code and the code must be correctly licensed as distribution from one entity to another has occurred.

    These conditions do not prevent a company from making use of any GPL software ... it does prevent contractors and software vendors from using GPL software as part of the works they supply to another company without including all the source code, correctly licensed.

    If you are a contractor providing software products to other companies and don't wish to give away your secret source to your customers, I can see why you may dislike the GPL. The spirit and intent of the GPL: anyone receiving GPL derivied works from another entity is entitled to the source. It is a pro-community license.

    (opinions are my own, I will not discuss further on this thread)

    --
    No sig. Move along - nothing to see here.
  109. Re:Here's an idea.. . Develop your own! by cant_get_a_good_nick · · Score: 1

    I wish i still had mod points.. funny and subtle at the same time...

  110. Re:Here's an idea.. . Develop your own! by Rich0 · · Score: 1

    Sorry - wasn't my intention to pick on you in particular - it just seemed like there were quite a few posts in this general thread along the lines of "who needs transactions anyway."

    Obviously if they aren't needed they just add overhead...

  111. Re:Here's an idea.. . Develop your own! by jadavis · · Score: 1

    These conditions do not prevent a company from making use of any GPL software

    I realize that. I like the GPL and I think it's a good license for a lot of software, even some code libraries.

    I just think that it is counterintuitive that the licensing for MySQL is similar as if it was embedded in the application you're distributing. Most companies charge for the server and do not charge you to write applications for the server (or some products are always free of charge). MySQL is just the opposite: they give the server away for free and charge for writing applications.

    I personally think that is confusing and counterintuitive. I also do not think that MySQL does a good job of clarifying that caveat. That is purely subjective, so I respect your disagreement. However, I think you may have missed my point which is what I'm trying to explain. I do not think it's a "myth" to be concerned about licensing which is counterintuitive to me.

    --
    Social scientists are inspired by theories; scientists are humbled by facts.
  112. Re:Here's an idea.. . Develop your own! by absinthminded64 · · Score: 1

    That was a good book. I recall their being things in that book that I've been unable to find anywhere else.

    It seems like MS would have done their significant "rewrite" of SQL server much sooner than 7.0 . 6.5 still used 512b page sizes, devices (agony) and a other triangular wheels. It did leave Sybase behind at that point.

    SQL server is one of my favorite Microsoft products. The other two were gorillas.bas, and nibbles.bas.

  113. Re:Here's an idea.. . Develop your own! by Anonymous Coward · · Score: 0

    Preventing devs from doing what they want is a necessary evil, because devs preventing users from doing what they want (by withholding source) is even worse.

  114. Re:LARP by Anonymous Coward · · Score: 0

    Faulty reasoning. I'd say more people google "eating dogshit" hoping to find some pictures of someone eating dogshit than do the same to find a picture of someone eating steak and eggs.