Slashdot Mirror


MySQL 5.1 Released, Not Quite Up To Par

Mad Merlin writes "It's no secret that MySQL 5.1 has been a long time in the making, with the first beta release being in Nov 2005, but MySQL 5.1.30 has finally been released as GA. MySQL users can expect new features such as table/index partitioning, row based replication, a new plugin architecture, an event scheduler and a host of performance improvements from 5.1." Monty also had a blog post outlining some of the challenges faced in 5.1, including crashing bugs and a beta quality to most new features.

175 comments

  1. "Fair and balanced" summary?? by toby · · Score: 3, Interesting

    Ryan Thiessen, a long-time 5.1 user, strongly rebuts Monty on his blog.

    I would go further and suggest that the MySQL organization has if anything been too conservative about declaring 5.1 GA. ...

    I have been developing for and administering MySQL 5.1 production instances for 18 months, ... we have not seen *any* table corruption or random server crashes relating to mysqld, despite having tables with hundreds of million of rows. ...

    Obviously 5.1 is not a perfect release. Quality is critically important to a database and I hope MySQL/Sun takes note of Montyâ(TM)s concerns, ...
    However in my opinion MySQL 5.1 a very good release, long ready for general production usage.

    --
    you had me at #!
    1. Re:"Fair and balanced" summary?? by scribblej · · Score: 4, Insightful

      Obviously 5.1 is not a perfect release. Quality is critically important to a database and I hope MySQL/Sun takes note of Montyâ(TM)s concerns, ...
      However in my opinion MySQL 5.1 a very good release, long ready for general production usage.

      You call THAT a rebuttal? My goodness... it no wonder MySQL sucks if he can admit on the one hand it's bugridden (not in those words, sure) and then say at the same time, it's ready for general production usage. What the hell does that mean?! It just makes me ANGRY to think people like this are DBAs! Does he mean to suggest your "general production usage" server is OK with lost rows and table corruption... if the chances of it happening are rare enough? Does he mean to suggest "general production usage" is a separate category from "people who use the advertised features of the product?" Seriously.... arrrrgh..... I think I'm having a stroke, I need to go take a valium or something.

    2. Re:"Fair and balanced" summary?? by dfdashh · · Score: 5, Interesting

      With all due respect to Ryan, I agree with Monty here. Not just 5.1, but the whole MySQL 5.x tree has been shipping with release critical bugs. What's more, some of those bugs (like the one that has been open since 2003) have lowered priority now because "people know about them."

      It sounds like MySQL could benefit from a more debian-like release criteria.

      --
      df -h /my/head
    3. Re:"Fair and balanced" summary?? by Anonymous Coward · · Score: 0

      When did "long-time" become 3 days?

    4. Re:"Fair and balanced" summary?? by theantix · · Score: 3, Insightful

      What you responded to was an out of context quote, which by omission seemed to combine two sentences. In context my words might be less valium-inducing to you.
      """
      Obviously 5.1 is not a perfect release. Quality is critically important to a database and I hope MySQL/Sun takes note of Montyâ(TM)s concerns, especially about core developers working on fun new projects like Drizzle and leaving relatively inexperienced developers fixing bugs in their core business product.

      However in my opinion MySQL 5.1 a very good release, long ready for general production usage. Definitely test it before you use it, like you should also test new kernels, Apache versions, distribution releases, etc. But do not alow this sensationalist blog post to overshadow what should be considered a solid engineering accomplishment by the MySQL team.
      """

      --
      501 Not Implemented
    5. Re:"Fair and balanced" summary?? by Em+Ellel · · Score: 3, Funny

      ...it no wonder MySQL sucks if he can admit on the one hand it's bugridden (not in those words, sure) and then say at the same time, it's ready for general production usage.

      I think that just brings it up to the major leagues. I mean Oracle managed to ship production versions of its DB with developer's home directory hardcoded into startup script which without modifications would not allow you to start DB. How does something like THAT pass QA?

      -Em

      --
      RelevantElephants: A Somatic WebComic...
    6. Re:"Fair and balanced" summary?? by Sleepy · · Score: 4, Funny

      >How does something like THAT pass QA?

      That's REALLY unfair to blame Oracle for QA processes... they outsource SQA process, so it's a SUPPLIER problem.

    7. Re:"Fair and balanced" summary?? by reginaldo · · Score: 2, Insightful

      I would really like to read about a specific bug Monty spoke of, but it looks like they secured this bug information from the public. Bug #37936 "Crash when executing a query containing date expressions" http://bugs.mysql.com/bug.php?id=37936 It seems to me like this is an extremely major bug, and would keep me from using 5.1 altogether.

    8. Re:"Fair and balanced" summary?? by Ohrion · · Score: 1

      LOL! Oh, if I only had mod points.

    9. Re:"Fair and balanced" summary?? by Anonymous Coward · · Score: 0

      Too bad your blog name doesnt make sense. "SQL" is pronounced "ES QUE EL" and not SEQUEL - which, was a completely different language. Thats the lazy way to pronounce it.

    10. Re:"Fair and balanced" summary?? by HannethCom · · Score: 1

      MS SQL Server 2000 and I believe 2005 if you have a SQL query greater than 64k with out a Go before the 64k mark, some of the data will only be partially written to the database, or read from it. MS SQL Server 2000 and 2005 will sometimes loose a database. I think they finally fixed this in 2000, but every once in a while in 2005 we have to re-attach a database to the server. I'm not even going to get into it's "standards" support and the many really strange and unexplainable quirks when you combine some basic SQL functionality.

      --
      Microsoft, Apple, Google, Amazon what's the difference? All steal money from devs and control with walled gardens.
    11. Re:"Fair and balanced" summary?? by Anonymous Coward · · Score: 0

      I bet you're a blast at parties.

    12. Re:"Fair and balanced" summary?? by Anonymous Coward · · Score: 2, Insightful

      >they outsource SQA process

      I gathered that, just from the username.

      I must say, I'm heartened lately, since several clients have become willing to admit that their outsourcing-to-India adventures have worked out to be net liabilities. I mark this as the end of a trent that I saw coming, warned about, experienced the first (and last) time I managed an offshore team, and I have a special little "I told you so" dance for the situation.

      Yeah, I know, you're reading this in Bangalore and I'm an insensitive clod.

    13. Re:"Fair and balanced" summary?? by Anonymous Coward · · Score: 0

      My favorite DB bug is the Interbase back door: http://www.kb.cert.org/vuls/id/247371.

    14. Re:"Fair and balanced" summary?? by mksql · · Score: 2, Insightful

      Wait a minute... outsourcing is now a valid reason for poor quality?

      That and the _massive_ cost savings should make anyone who suggests it a candidate for CEO!

      --
      I should have been a Geologist.
    15. Re:"Fair and balanced" summary?? by Vancorps · · Score: 1

      What the hell? You have to re-attach databases? I've been using SQL 2005 since 2005 and have never run into that in clustered, mirrored, replicated, or even Oracle published environments.

      The only hiccups ever encountered are around restores of backups to different servers which can sometimes be tricky if there are connections that refuse to close on the destination DB.

      If you're having to re-attach it sounds like there is something wrong with the install or maybe I've been exceptionally lucky. I would classify any bug that requires you to re-attach a database to be critical though as database availability is paramount in most cases.

    16. Re:"Fair and balanced" summary?? by Anonymous Coward · · Score: 0

      Why not just drop relational/sql model altogether for greenfield stuff. I see its importance from a legacy perspective, but when starting a new project you should give OO a serious thought.

      There are free ones like db4o, perst. Then there are some affordable commercial ones like DTS/S1. Pay some money but get a proper transaction processor and actual support.

      For what its worth, MySQL has always been an inferior product to its commercial counterparts. Sure its cheaper, perhaps in the same way as castration is cheaper than a vasectomy.

    17. Re:"Fair and balanced" summary?? by jadavis · · Score: 1

      Your blog post didn't make up a rebuttal so much as they put things in perspective. A perspective I do not share, but a valid perspective.

      I agree with Monty on this one. Advertising features with major known problems is irresponsible, and it's just asking for users to get into trouble.

      And still having so many of these problems after a 3-year release cycle doesn't look good.

      --
      Social scientists are inspired by theories; scientists are humbled by facts.
    18. Re:"Fair and balanced" summary?? by Anonymous Coward · · Score: 0

      Why not just drop relational/sql model altogether for greenfield stuff. I see its importance from a legacy perspective, but when starting a new project you should give OO a serious thought.

      There are free ones like db4o, perst. Then there are some affordable commercial ones like DTS/S1. Pay some money but get a proper transaction processor and actual support.

      For what its worth, MySQL has always been an inferior product to its commercial counterparts. Sure its cheaper, but is "cheap" important to you?

    19. Re:"Fair and balanced" summary?? by Anonymous Coward · · Score: 0

      http://bugs.mysql.com/bug.php?id=37937 ("Assertion bitmap_is_set_all (&table->s->all_set) fails in handler::ha_reset") is marked as a duplicate of Bug 37936.

    20. Re:"Fair and balanced" summary?? by adrianmsmith · · Score: 1

      our live oracle crashed once, and it happend i was logged in to it on the command line at the time, and our guy got on to oracle, and they asked me what i'd been doing at the time - i said it didn't matter, as it was far from certain that my session caused the crash (we must have had >100 software processes connected and active at the time) and i didn't do anything out of the ordinary - but they wanted to know anyway so i told them - i did a "truncate table", it took a few seconds for some reason so i pressed ctrl-c for some reason, then not being sure why i pressed ctrl-c, i executed the truncate table statement again. a few minutes later a link to a bug report came back from oracle support, describing a known bug in oracle which was exactly that sequence of events - truncate table; ctrl-c; truncate table (i.e. not a generalization of which that sequence of events was a special case, but specifically that sequence of events). i really really wonder how specifically this sequence of events and no others can trigger a particular bug.

      in addition i liked the bug report which said that oracle would supply a bug fix "if the customer can demonstrate that this is a serious problem for them". i mean it's not like oracle's cheap

    21. Re:"Fair and balanced" summary?? by the_B0fh · · Score: 1

      Obviously they just cloned the developer and made them the QA team.

      What I'm more interested in is the cloning technology! Let the clone wars begin!

  2. well by stoolpigeon · · Score: 2, Interesting

    maybe they are just trying hard to be more like the commercial enterprise databases. my experience with oracle was that they have a lot more bugs than this - it's just you can't actually find out about them until you call support. Then you find out they have known about it for some time, they just don't publish it. They hide all this stuff instead and only let certain things out.

    --
    It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
    1. Re:well by wiedzmin · · Score: 1

      Like we don't have enough of those around. If I wanted a commercial enterprise database, I would pay for MS SQL. There is a reason people use mySQL, and bugs & bloating is not it.

      --
      Bow before me, for I am root.
    2. Re:well by stoolpigeon · · Score: 1

      that was tongue in cheek - the truth is with that list MySQL is still doing better than what one will get with a lot of commercial dbs. MySQL still lags in features (all the FOSS rdbms solution do) but it is catching up fast. When partitioning and master/master replication fully arrive it will be an incredible option. Those are expensive features anywhere else.
       
      I remember being at the MS SQL Server 2005 launch and the presenter had to mention that one of their new replication options would be "included but not supported" because it didn't really fully work yet. Licensing and development models differ but at the end of the day software is still software.

      --
      It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
    3. Re:well by Anonymous Coward · · Score: 0

      >quality
      Open sores preacher detected. The correct word is severity.

    4. Re:well by Renegade88 · · Score: 1

      Not saying either product is better than the other but you're acting like a guy selling you a BMW 325i with a burtn out headlight is selling you the same thing as the other guy who is trying to sell you a 1982 Yugo Cabrio with a blown engine

      It depends. What kind of blower does the Yugo have? Turbo or supercharger? Is a hole cut out hood to accommodate? The Yugo might be pretty sweet!

    5. Re:well by stoolpigeon · · Score: 5, Insightful

      I'm not sure what you are trying to say. If we have to play car analogy - lets say both cars engines will fail if you go over 80 kmh on a sunday while wearing blue. One vendor will tell you before you buy the car - the other waits until you've been on the phone with roadside assistance for a couple days. The severity of the issue is the same - it's just how the manufacturer handles it that is different.
       
      To step away from the metaphor for a second - I have had severity 1 service tickets open with Oracle support for over a day that ended up being unpublished bugs that were fixed with a patch that was not available until you knew you had run into the bug. Sev 1 to be clear is production systems down.
       
      I worked on a project with an Oracle consultant who had been on his own before he joined Oracle. I asked why he made the switch and he told me it was for one main reason - so that he would get full access to all the documentation, including all the bugs and open issues.

      --
      It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
    6. Re:well by hey! · · Score: 4, Insightful

      Well, you'd be a fool to buy MS SQL for its enterprise capabilities.

      It has its strengths, of course, but it's most important strength is it is the default database slice of the Microsoft deployment stack and is well integrated with Microsoft development tools. For modest projects it provides the kinds of advantages MySQL does in the LAMP stack.

      I'm not saying it is a bad product, depending on your needs. Nor am I saying that you can't do "enterprise applications" (whatever those are) if you design around its limitations. I'm just saying that if I weren't developing around a completely Microsoft based solution, I wouldn't give MS SQL a second glance. There are cheaper (open source) solutions on the low end, and more scalable solutions on the high end.

      If maximum upward scalability from a PC host starting point was required, I'd go with Oracle. The fit on the low end is a bit awkward, but it's workable. You've got to be careful when you license Oracle because you can spend too much money very easily, but if you know what you're doing Oracle is scalable and cost-efficient. If you don't know what you're doing, that's a different affair altogether.

      --
      Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
    7. Re:well by Windows_NT · · Score: 2, Funny

      While we are using car analogies:
      If your car dies, just do what microsoft suggests, and close all of the windows. maybe the car will then restart?

      --
      Go go Gadget Nailgun!
    8. Re:well by nabsltd · · Score: 4, Informative

      To step away from the metaphor for a second - I have had severity 1 service tickets open with Oracle support for over a day that ended up being unpublished bugs that were fixed with a patch that was not available until you knew you had run into the bug. Sev 1 to be clear is production systems down.

      I'll second this. We just ran into such a bug when trying to restore a database.

      The application connecting to the database was upgraded, and something went wrong when it tried to modify the schema, so we rolled back to the backup taken immediately before the start of this. Normally, this would have been simple, but apparently there's a bug with our version of Oracle that caused the restore to fail. Luckily, it only took an extra couple of hours to work around and we were still in our planned outage window, but it still sucked that it was a bug known to Oracle.

      Of course, we didn't hit the Oracle bug in our development and test systems, because the application didn't fail in the schema update on those, thank's to Mr. Murphy.

    9. Re:well by Nutria · · Score: 1

      If maximum upward scalability from a PC host starting point was required, I'd go with Oracle. The fit on the low end is a bit awkward, but it's workable. You've got to be careful when you license Oracle because you can spend too much money very easily, but if you know what you're doing Oracle is scalable and cost-efficient.

      On the low- to middle-end, you could try PostgreSQL's Oracle-compatibility layer.

      --
      "I don't know, therefore Aliens" Wafflebox1
    10. Re:well by jadavis · · Score: 1

      When partitioning and master/master replication fully arrive it will be an incredible option.

      By arrive do you mean "GA" or "actually works"?

      --
      Social scientists are inspired by theories; scientists are humbled by facts.
    11. Re:well by stoolpigeon · · Score: 1

      Actually works - that was kind of the point of the MS SQL Server illustration. It's pointless to ship something that is broken - but for some reason it happens with open and closed projects.

      --
      It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
    12. Re:well by richlv · · Score: 1

      If maximum upward scalability from a PC host starting point was required, I'd go with Oracle.

      i don't remember where did i read this, so sorry about not attributing the citation.

      "Oracle does not scale well.

      Financially."

      best spoken out, with long enough pause.

      --
      Rich
    13. Re:well by jadavis · · Score: 1

      Some projects have a better reputation than others -- but I agree. If it doesn't actually work yet, call it an alpha, or don't release at all.

      --
      Social scientists are inspired by theories; scientists are humbled by facts.
  3. Beta Quality by Archangel+Michael · · Score: 1

    beta quality to most new features

    Beta quality is meaningless term now with Google in permanent "Beta" mode for many of its stuff.

    If it is "Google Beta Quality" (tm) then who cares????

    --
    Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
    1. Re:Beta Quality by moderatorrater · · Score: 2, Insightful

      Everyone here knows what he's talking about when he says "beta". It'll be a few years at least before people who know the term "beta" will get confused by TFA's use of it, and it'll be much longer than that before anyone on this forum will get confused. It's entirely possible, even likely, that the trend will reverse itself in that time. I haven't seen any other site abuse the term as badly as Google, and most places use it properly.

    2. Re:Beta Quality by dfdashh · · Score: 1

      The thing is that it isn't "Google Beta Quality." It truly is beta quality in the traditional sense. How would you like to cause a crash by simply looping over a view in a stored procedure?

      --
      df -h /my/head
    3. Re:Beta Quality by Anonymous Coward · · Score: 0

      I beg to differ!

      At least locally I had to set a large number of people right about the meaning of Beta, they seemed to think that it means "hot great product." When I asked them how they got the idea they pointed to Google.

    4. Re:Beta Quality by AmberBlackCat · · Score: 1

      Do you mean Google beta quality like gMail, Or Google beta quality like Android on the G1?

    5. Re:Beta Quality by the_B0fh · · Score: 1

      You've never used Microsoft software? Which island do you live on, and when can I visit?

  4. Wow by Whitemice · · Score: 5, Insightful

    Impressive, now MySQL can have features other databases (PostgreSQL among others) have had for *years*. I've never understood; people like MySQL because it is "light", "simple", "easy", blah, blah.... and yet they add all these enterprise features that then everyone will laud about how MySQL is "growing up" or some such. MySQL is one of the best examples of self redefined success I think I've ever seen.

    If you want these features why not use a database that has had them for a long time, where they are better tested, and possibly get better performance under concurrent load as a side benefit.

    --
    Using "Common Sense" is being either to arrogant or to ignorant to ask people who know more about something than you.
    1. Re:Wow by stoolpigeon · · Score: 1

      I love PostgreSQL - it's my personal favorite. But that doesn't stop me from realistically looking at features. I'd love to see them implement real partitioning but it's not there yet. Last I checked master/master replication was still not really there for PostgreSQL either. If these features came to MySQL first would you change your tune?
       
      Then there is just the reality of the fact that MySQL did gain a huge amount of momentum and there are lost of people out there (myself included) who have to work with it. Whether I really prefer it or not is irrelevant.

      --
      It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
    2. Re:Wow by moderatorrater · · Score: 2, Insightful

      Because different people have different needs. At the beginning of an application's lifecycle, it's very likely that they'll want a simple database that anyone can set up and use. MySQL is very easy to use and configure the first time. Postgres isn't nearly as simple. However, as the application grows up and the developers get more experience and more experienced developers get hired on, they start to wish for some of the more advanced features.

      In addition, since MySQL got so popular so quickly, developers were coming into jobs with experience in it but not in other databases. If you have five developers, each of which has used MySQL and nothing else, you're probably going to go with MySQL unless upper management puts their foot down, and in that instance they're almost certainly going to choose Oracle.

      However, I see that changing more and more. The established programs and sticking with MySQL, but a lot of newer programs are using Postgres.

    3. Re:Wow by mooingyak · · Score: 4, Interesting

      I think his argument is more marketing/PR driven. His main point is valid, in that MySQL claims simplicity/lightness when they don't have the features, and claims maturity when they add them.

      --
      William of Ockham had no beard. The most likely explanation is that it was chewed off by squirrels every morning.
    4. Re:Wow by edmicman · · Score: 1

      I've wondered about this in the past. Is there a good resource for comparing MySQL, PostgreSQL, and MS SQL Server? I work for an MS shop, and have a lot of experience with SQL Server. My personal hobby website uses MySQL, and I've dabbled in it some. But I'm looking to gain more experience and want to work on a PHP/database web app. Should I be working with Postgre instead? What are the compelling differences, and how do they stack up against SQL Server with things like stored procs, triggers, and management/query tools?

    5. Re:Wow by Anonymous Coward · · Score: 2, Insightful

      MySQL is very easy to use and configure the first time. Postgres isn't nearly as simple.

      On what do you base this statement? Having used both, I do not agree and think they are about the same. Would be nice to hear what other find hard with Postgres set up.

      However, I see that changing more and more. The established programs and sticking with MySQL, but a lot of newer programs are using Postgres.

      I would prefer if the programs were written so that you could use the RDBMS you already have installed. For me this is a small hint that the developers might have a thought when it comes to design.

    6. Re:Wow by kuzb · · Score: 1

      Because then we wouldn't be able to read venomous posts by people who can't handle the fact that someone else is trying to write a database server, such as yourself.

      --
      BeauHD. Worst editor since kdawson.
    7. Re:Wow by Anonymous Coward · · Score: 0

      You will find that postgresql is very mature and is much much more roughly equivalent to mssql than mysql in features and keeping your data safe.

    8. Re:Wow by TheRaven64 · · Score: 4, Informative

      MySQL is very easy to use and configure the first time. Postgres isn't nearly as simple

      I've heard this a few times. I've installed PostgreSQL on Windows, Linux, FreeBSD and OpenBSD. Every time, the process has been:

      1. Install from the package
      2. Run initdb to initialise a new storage location (sometimes done by the package - I think it was under RedHat).
      3. Run createuser and createdb for each DB user and each DB that needed to exist.

      How does MySQL simplify this?

      --
      I am TheRaven on Soylent News
    9. Re:Wow by moderatorrater · · Score: 2, Insightful

      On what do you base this statement?

      Experience. I've used MySQL for years and didn't have any problems with configuration. It worked out of the box for everything I needed. Just last night I was configuring Postgres and had some issues with the configuration that I had to look up in their manual. The same thing in MySQL would have taken me thirty seconds now, and no more than 15 minutes when I was starting out. With Postgres, it took me upwards of 20 minutes when it should have taken much less time. MySQL is more willing to hold new users hands and has a lot of easy shortcuts built into it. Postgres does things well and gives you a lot of options, but it's not as forgiving to new users. Things like "SHOW TABLES" are either considerably more difficult in Postgres or harder to find out.

      I would prefer if the programs were written so that you could use the RDBMS you already have installed. For me this is a small hint that the developers might have a thought when it comes to design.

      When you're using MySQL for applications that aren't being distributed and installed by your customers, but are running on servers you control, there's no real need to make it work with any database other than the one that you're using.

    10. Re:Wow by Dog-Cow · · Score: 1

      I would prefer if the programs were written so that you could use the RDBMS you already have installed. For me this is a small hint that the developers might have a thought when it comes to design.

      That's a good goal when designing a system that has to integrate into and with 3rd-party systems. I.E. an app designed to be sold to 3rd parties.

      However, doing so for an in-house app is stupid, as you won't be able to take advantage of any of the features of any particular RDBMS. In that instance, I think it's better to simply isolate the RDBMS-specific bits rather than leaving them out altogether.

    11. Re:Wow by larry+bagina · · Score: 2, Insightful

      If they've used MySQL and nothing else, they're probably self taught and don't really understand what they're doing.

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

    12. Re:Wow by larry+bagina · · Score: 3, Informative

      One thing I like about postgresql vs MS Sql is the triggers. MS SQL triggers are after-insert, per statement only, IIRC. Pg triggers are per statement or per row, before or after. There's also a rule system and the ability to rewrite the query, for updateable views or other tricks. The lacking features are clustered indexes, replication, and partitioning. I'll also mention hash indexes -- it has them, but they're not journaled, and they're not generally recommended. I'm not going to comment on MySQL since I haven't used it since 4.x and it sort of has triggers now.

      Oh, also, the pgpsql stored procedure language is similar to oracle's psql and fairly fun to program in.

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

    13. Re:Wow by Sxooter · · Score: 1

      To be honest, and I'm a total pgsql fan, you usually wind up needing to edit pg_hba.conf and reload to allow external access. But yeah, it is about as easy to me as mysql.

      Now, 6.5 was a bit more of an exercise to install.

      --

      --- It is not the things we do which we regret the most, but the things which we don't do.
    14. Re:Wow by jmusits · · Score: 4, Informative

      .... Things like "SHOW TABLES" are either considerably more difficult in Postgres or harder to find out. ....

      More difficult? Harder to find out? Consult help by typing \? and you will see this:
      [snip]
      Informational
          \d [NAME] describe table, index, sequence, or view
          \d{t|i|s|v|S} [PATTERN] (add "+" for more detail)
                                        list tables/indexes/sequences/views/system tables
      [snip]

      Then type \dt to show the tables. To me that does not present it seld as more difficult or hard to find out.

      --
      -- 42 --
    15. Re:Wow by Anonymous Coward · · Score: 0

      And that's a valid security feature anyway.

      The PostgreSQL way is simply better. I started out on MySQL, but moved to PostgreSQL about three years ago. It took some time to get used to it (just as it took time to get used to MySQL), but it wasn't difficult. \dt is so hard, wahhh ;)

      Now I'm stuck on Oracle, for no appreciable benefit but a high initial license cost, and someone to blame. Admittedly the data is the most important aspect of many businesses and thus it is worth spending money here to be sure. It's certainly a lot more difficult to install though!

      MySQL look like they have a really nice schema designer now however, in MySQL Workbench.

    16. Re:Wow by Tweenk · · Score: 1

      It just does things differently, the storage space is configured in files and databases are created with SQL queries. Essentially, after you install the MySQL package, you can just run the `mysql` client and create databases and users as you wish. I see that compared to this, pgsql requires some additional setup before getting at the SQL prompt.

      --
      Those who would give up liberty to obtain working drivers, deserve neither liberty nor working drivers.
    17. Re:Wow by loconet · · Score: 0

      How does MySQL simplify this?

      1. Install from the package.
      2. Setup users and DBs.

      --
      [alk]
    18. Re:Wow by moderatorrater · · Score: 2, Informative

      That's only using the client which hides the actual queries from you. If connecting through code, \dt doesn't work; in mysql, show tables does.

    19. Re:Wow by cyber-dragon.net · · Score: 2, Insightful

      I think you proved his point... to an inexperienced user what you just posted is gibberish where "show tables" is plain english and something you might type as a guess.

      To someone very familiar with reading option syntax sure that makes sense... but that is a much smaller group. Just figuring out that \d{t|i|s|v|S} means /dt or /di or /ds etc assumes a certain level of knowledge.

    20. Re:Wow by TheRaven64 · · Score: 1

      You can create users and databases from inside pgsql. The createuser and createdb scripts are just wrappers around this.

      --
      I am TheRaven on Soylent News
    21. Re:Wow by Anonymous Coward · · Score: 0

      You were configuring postgres!? Why? It basically needs zero configuration until you are putting it through some very very serious work. Stuff that MySQL wouldn't even be capable of handling regardless of configuration.

    22. Re:Wow by Radhruin · · Score: 1

      Pretty sure I had to edit the mysql conf to allow external connections as well, but I'm sure it depends on the distribution (in my case, Debian).

    23. Re:Wow by quantum+bit · · Score: 1

      To be honest, and I'm a total pgsql fan, you usually wind up needing to edit pg_hba.conf and reload to allow external access. But yeah, it is about as easy to me as mysql.

      Although, the primary deployment for MySQL seems to be running on the same machine as the web server. In a direct comparison of that case, you don't even need to change pg_hba.conf.

      The default config isn't secure if you have untrusted users on the machine (i.e. hosting service), unless you used "initdb -A md5" or something similar, but it's easy to change.

      My favorite auth method for server-in-a-box is "ident sameuser" over UNIX sockets. In that case it seamlessly integrates with the OS's underlying security model, so all I have to do is "CREATE USER webapp;", and the user 'webapp' can connect as itself (and only as itself) with no password.

    24. Re:Wow by aarongadberry · · Score: 2

      Pretty buttons that say next >>.

    25. Re:Wow by plopez · · Score: 1

      MySQL is very easy to use and configure the first time.
      I've installed and used postgres, MySQL, Oracle and SQLServer. Oracle and MySQL were the worst. Oracle because it was just horrible to install, MySQL just because it was hard to install in a configuration with even a hint of ACID compliance at the time. It was that experience trying to configure MySQL for data integrity that caused me to dump it and move to Postgresql.

      The fact is, a DBA or programmer that only knows one DB engine knows nothing about his/her craft and I for one would never hire them. Just like I would never hire a programmer who only knows one programming paradigm or programming language.

      --
      putting the 'B' in LGBTQ+
    26. Re:Wow by Anonymous Coward · · Score: 0

      To someone very familiar with reading option syntax sure that makes sense... but that is a much smaller group. Just figuring out that \d{t|i|s|v|S} means /dt or /di or /ds etc assumes a certain level of knowledge.

      I'm quite happy with my database assuming a certain level of knowledge. When the syntax only makes sense to "a much smaller group" (ie. people who know what they are talking about) I see this as giving my company a certain advantage over those choosing to use a database that takes the paint by numbers approach to database administration.

      When you see people advocating something as important as a database product as being something that any old fool who's never seen it before can come in and start banging away you can move on to the next product (same thing goes for mssql).

      Choose what to invest in not by the experience in the first [hour|day|week] of use but rather for the experience of the lifetime of your use of it.

      Unless that is you are about to write the next killer open source app, you set yourself up on sourceforge, download all your tools, set up your database, spend a couple of days writing code and then abandon the project, never to go back. Then choosing MySQL because it's easy to learn the basics is fine.

    27. Re:Wow by Anonymous Coward · · Score: 1, Informative

      Last I checked master/master replication was still not really there for PostgreSQL either. If these features came to MySQL first would you change your tune?

      MySQL has been able to do master/master replication for at least 3 years now.

      I know this painfully since that was when I lost the database argument at my current employer (I was advocating PostgreSQL with others arguing for MySQL.) It was the one feature that others with more authority said was absolutely necessary, so we went the MySQL direction. And it's caused no end of grief. To start with, the master/master replication is buggy and will frequently just stop replicating in one direction or the other. It's easy enough to fix (once you've learned how...the documentation could be a lot more thorough), but it's annoying that we have to do it so frequently.

      But more annoying than that is that MySQL expects/requires you to write some pretty crazy SQL to get around its inadequacies. Things like having to add an ORDER BY to your update statements since MySQL is incapable of deferring unique constraints until after the entire query has been processed.

      And my personal favorite is when you're selecting data from one or more tables with a large number of columns and you apply a sort. It turns out if you select the fields you want to get back in the initial query, result set size will convince MySQL that it needs to do a file sort since it can't fit everything in memory. But if you select just the primary keys from the tables from which you want to retrieve data, ordering them with the exact same ORDER BY, LIMIT and/or GROUP, MySQL will happily perform that sorting in memory in the vast majority of the cases we've run into. So we end up having a ton of queries in our application that sort a result set of primary keys with the result then joined back against the very same tables to populate desired data fields.

    28. Re:Wow by Anonymous Coward · · Score: 0

      That's impossible to do in mysql.

      The mysql developers have yet to add sequences

    29. Re:Wow by slick_rick · · Score: 1, Insightful

      Inexperienced users use client/server databases?

      Inexperienced users might use Access, maybe. But Postgres or MySQL? Seems like someone shooting to move up that rung up the ladder would likely start with a tutorial, I know I did.

      --
      apt-get install redhat please god - Me (take it easy, I love Debian)
    30. Re:Wow by jadavis · · Score: 1

      With Postgres, it took me upwards of 20 minutes when it should have taken much less time.

      If you mention the issue, who knows? Maybe it will be fixed.

      Usability or documentation issues are not always obvious to the developers...

      --
      Social scientists are inspired by theories; scientists are humbled by facts.
    31. Re:Wow by Sentry21 · · Score: 1

      There are ups and downs to any project. When I had a Postgres database to admin, I was told to look into replication. After a frustrating few days of determining that there was no 'replication' (unsupported patches and log shipping don't count), I was then chastised by the postgres-loving lead revel because 'we don't need replication' because the app isn't going to split reads/writes and that's all replication is good for.

      Maybe it was just his short-sightedness or cluelessness, but it sounded like the same sort of 'why do you want that?' logic than led MySQL fanboys to claim that ACID-compliance wasn't necessary (until they had it).

      So now MySQL had two forms of replication, and Postgres still has... Log shipping. Call me a noob, but I'll take MySQL any day.

    32. Re:Wow by Kolargol00 · · Score: 2

      How does MySQL simplify this?

      3a. Install phpMyAdmin ;)

      --
      XML is like violence. If it doesn't solve the problem, use more. Junta
    33. Re:Wow by rastoboy29 · · Score: 1

      I really think it has much more to do with easy of use and more intuitive setup.  pg_hba.conf?  Why not just pg.conf?  Stuff like that.

    34. Re:Wow by vandan · · Score: 0, Flamebait

      You're missing the point. MySQL was developed to give Postgres fan-boys such as yourself something to troll about. See how happy it makes you? Now pull your pants up and run along ...

    35. Re:Wow by Zontar+The+Mindless · · Score: 2, Informative

      ... master/master replication is buggy and will frequently just stop replicating in one direction or the other. It's easy enough to fix (once you've learned how...the documentation could be a lot more thorough), but it's annoying that we have to do it so frequently.

      You can also file bugs against the docs (Category is "MySQL Server:Documentation"). Please do so.

      It would help resolve the issue more quickly if you could supply at least some of the information that you think is missing.

      Thanks for helping other MySQL users!

      --
      Il n'y a pas de Planet B.
    36. Re:Wow by LizardKing · · Score: 2, Insightful

      So now MySQL had two forms of replication, and Postgres still has... Log shipping. Call me a noob, but I'll take MySQL any day.

      Postgres has had Slony for replication, and has done so for years. As for MySQL, I haven't touched it since version 4.1, and while it may have come with replication in the same tarball as the DB engine (whereas Slony is a separate package) it proved very unreliable. The worst thing about MySQL replication was that when it crapped out, it would not issue any warnings and provided no mechanism for notifying us of problems.

    37. Re:Wow by sim303 · · Score: 1
      So often I hear that 'MySQL v5[.0] finally delivers the features that other DBs have offered for years'. Have these people actually _used_ v5, or anything else??:
      • Support for transactions! (But DDL statements don't count, so forget applying DB schema patches atomically)
      • Support for triggers! (But only one per type (e.g. BEFORE INSERT) per table. Oh, and trigger functions can't act on the triggering table. Er, why?)
      • Support for functions! (As long as e.g. you don't want set-returning functions that can be used in place of a normal table, or in fact to use them for anything useful)
      • Support for subqueries! (Except that SELECT statements cannot contain a subquery in the FROM clause. Right)

      Schemas? Rules? Types? Domains? Nobody uses them anyway!

      Bizarre limitations:

      • "Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause". WTF?

      And to those who say MySQL is so developer friendly, what's so friendly about "You have a syntax error near ' at line 11. Check the manual." for virtually every single syntax error?

      I could go on, but it's probably nest that I go an lie down in a darkened room.

      sim

    38. Re:Wow by ozphx · · Score: 1

      The thing that really shits me, is the lethal combination of multiple storage engines and rabid MySQL fanboys.

      MySQL never appears to have any flaws, because "using storage engine XXX" it gets great performance in that scenario. Most of the high performance options IMO I would trust about as much as Jet+Access.

      --
      3laws: No freebies, no backsies, GTFO.
    39. Re:Wow by cpicon92 · · Score: 0

      in your sig didn't you mean "too arrogant" or "too ignorant"?

    40. Re:Wow by the_B0fh · · Score: 1

      It's all due to the damned PHP people. Remember PHP, the programming language designed specifically for people who can't program? Yeah, that one. That's why they like to use MySQL, also designed specifically for people who do not understand databases and ACID compliance

  5. Pet peeves by Anonymous Coward · · Score: 0

    -Can we do inserts with the value NOW()?
    -Does it silently accept CONSTRAINTS other than FOREIGN KEYs and then not use them? ...

    1. Re:Pet peeves by boredhacker · · Score: 1

      -Can we do inserts with the value NOW()?

      Do you mean to say this is broken in 5.1?!?

      Curious because it works fine for me w/ ver 5.0.27-standard and I'd be quite shocked if something so trivial didn't work in the new release.

    2. Re:Pet peeves by quantum+bit · · Score: 2, Interesting

      -Does it silently accept CONSTRAINTS other than FOREIGN KEYs and then not use them? ...

      Why is ignoring FOREIGN KEYs okay? A constraint is a constraint, IMO.

      Last I checked FKs worked, if you're using InnoDB, and then only kinda (no deferred checking, which is the SQL standard default).

  6. news flash by girlintraining · · Score: 4, Insightful

    Just about every major non-open source project that has shipped with major bugs, the /. crowd jumps on for releasing poor quality products due to bad planning, poor communication, legal reasons, marketing deadlines, oh and the list goes on. When an open source project is shipped with major bugs though, what do I hear? Excuses. Is it just possible that people who develop open source are human, and make the same decisions, for the same reasons, as their closed-source counterparts? Which might lead to the conclusion that different methods don't necessarily yield different results; ie, that open source innately presents no inherent technical advantage over closed source, only social and legal advantages. Uh oh... they're getting a duck and a large scale out. I think that's my cue to post and run now...

    --
    #fuckbeta #iamslashdot #dicemustdie
    1. Re:news flash by nacturation · · Score: 1

      Cognitive dissonance is a wonderful thing.

      --
      Want to improve your Karma? Instead of "Post Anonymously", try the "Post Humously" option.
    2. Re:news flash by jd · · Score: 1, Insightful

      I think the difference is that a lot of open source projects operate on a release-early-release-often philosophy - what software engineers refer to as the waterfall model. In such a scenario, bugs will appear in earlier releases and decline in number sharply over time. Closed source projects tend to operate on the more classical release schedule, which tends to be a lot slower with a lot more expansive software lifecycle, but SHOULD produce far far fewer bugs in each release.

      MySQL, with the current Oracle owners, seems to have moved to more of the classical mindset. That's fine and I personally don't think there's anything wrong with it if it's done right. But to be done right, you need fewer bugs in a release than the rapid-cycling of the RERO approach, and should aim for code of a quality comparable to RERO over the same timeframe.

      It is clear in this case that MySQL has failed the test. It is a good product, but the new methodology is fixing less than the old methodology. That needs to be when the developers stop and think about whether they want to try switching to something else or go back to what had worked well in the past.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    3. Re:news flash by Anonymous Coward · · Score: 0

      I don't disagree, but you imply that people will read your post and think critically about their own dogma. Those that need to do it most will not, it is immune to logic. Kind of a vicious cycle, unfortunately.

    4. Re:news flash by Anonymous Coward · · Score: 1, Informative

      I think the difference is that a lot of open source projects operate on a release-early-release-often philosophy - what software engineers refer to as the waterfall model. In such a scenario, bugs will appear in earlier releases and decline in number sharply over time. Closed source projects tend to operate on the more classical release schedule, which tends to be a lot slower with a lot more expansive software lifecycle, but SHOULD produce far far fewer bugs in each release.

      MySQL, with the current Oracle owners, seems to have moved to more of the classical mindset. That's fine and I personally don't think there's anything wrong with it if it's done right. But to be done right, you need fewer bugs in a release than the rapid-cycling of the RERO approach, and should aim for code of a quality comparable to RERO over the same timeframe.

      It is clear in this case that MySQL has failed the test. It is a good product, but the new methodology is fixing less than the old methodology. That needs to be when the developers stop and think about whether they want to try switching to something else or go back to what had worked well in the past.

      Just two things.

      1) The waterfall model is the old slow model for software development.

      2) Sun MicroSystems owns MySQL, not Oracle.

      I think your post is now totally invalid...

    5. Re:news flash by scribblej · · Score: 4, Interesting

      Oh, I agree, every product that's ever shipped has shipped with bugs.

      But you gotta put this all in perspective, some glib talk about how everyone is equal in the eyes of bugs just doesn't apply here.

      First off, the context. We're talking about a database, your warehouse for your most valuable asset. This is not a place where you want to encounter mistakes, and caution is the word. You might hear excuses for some, but those people are idiots. This is /inexcusable/.

      If you read the article, the things he says basically boil down to "this product is as stable as a house of cards and if you use it, treat it with all the care and caution you'd give a newborn child." I'd love to pick an excerpt from the article and copy it here, but it's just TOO RICH. Every single thing this "Monty" says would make your average MySQL apologist cringe, and makes normal people and DBAs stomachs turn.

      Honestly, I think I'm gunna be sick. I don't care if MySQL is a good product or a bad product as such, I only use it for stupid things that do not matter at home, like my MythTV, never ever on anything that could be called "production." But having read this article and gotten a picture of what is, evidently, the thoughts of the minds supporting the creation and use of MySQL, it makes me ill. These people should just come out and say "there's no explanation we can give, this is crapware and we're really sorry if you got hosed by it. Don't use it at all if you aren't already." Instead this guy bends over backwards to explain how this broken database is actually quite useable, and ready for "general production" - how that's different from just "production" is clear: apparently "general production" refers to systems with zero value (less than my MythTV box, which will NOT be getting an update to this version).

    6. Re:news flash by mmkkbb · · Score: 2, Insightful

      That's NOT the waterfall model.

      --
      -mkb
    7. Re:news flash by FooBarWidget · · Score: 1

      That's only true if you use number of bugs as a measurement of overall quality.

    8. Re:news flash by dfdashh · · Score: 1

      ...because we didn't jump all over the KDE team when they released 4.0? How soon we forget!

      --
      df -h /my/head
    9. Re:news flash by bendodge · · Score: 1

      I propose the 'bias' tag.

      --
      The government can't save you.
    10. Re:news flash by kwerle · · Score: 5, Funny

      Cognitive dissonance is a wonderful thing.

      No, it's a terrible thing.

      But I want it. Badly.

    11. Re:news flash by O('_')O_Bush · · Score: 1

      ...yes, and probably the single most repeated key word in those comments were "Gnome". A vast amount of those comments were just continuing the Gnome vs KDE war.

      You really can't deny that Slashdot is flooded with Linux/FOSS fanboys.

      --
      while(1) attack(People.Sandy);
    12. Re:news flash by moderatorrater · · Score: 1

      Maybe when you're out of training you'll see the difference.

      But seriously, if the quality of the programs is the same, then the openness alone should make the decision. As someone else pointed out, sometimes it takes a lot of work to find out there's a bug in a proprietary program, and then you're at the mercy of the corporation that made the program. When something's wrong in an open source program, the backers of the program are usually more open about it and you can go into the source and fix it yourself if you want to. I would consider those technical advantages.

    13. Re:news flash by Anonymous Coward · · Score: 0

      You know, you're right. How about we use the "just works" factor, that is, does it stay out of the user's way as much as possible?

      Oops, not doing so hot in that area, either.

    14. Re:news flash by Attila+Dimedici · · Score: 1

      First off, it is important to remember that slashdot represents the opinions of many different people. It is quite likely that the people who jump all over proprietary software that has a poor quality release are not the same people as the one's who are defending MySQL
      Second, there is an important difference between MySQL and a proprietary database solution. I don't have to pay any money for MySQL. If I try MySQL and it chokes on my database, all I am out is my time. If I buy proprietary, I am out money AND my time.

      --
      The truth is that all men having power ought to be mistrusted. James Madison
    15. Re:news flash by Fahrvergnuugen · · Score: 2, Informative

      Almost right. Oracle owns InnoDB, which is the useful part of MySQL.

      --
      Kiteboarding Gear Mention slashdot and get 10% off!
    16. Re:news flash by girlintraining · · Score: 1

      This is not a place where you want to encounter mistakes, and caution is the word. You might hear excuses for some, but those people are idiots. This is /inexcusable/.

      Like this, that, and the other thing?

      Instead this guy bends over backwards to explain how this broken database is actually quite useable, and ready for "general production" - how that's different from just "production" is clear: apparently "general production" refers to systems with zero value.

      I think it would be better to simply say -- this is not ready for enterprise or mission-critical usage and will not be for some time. My little Saturn will get me to and from work without much complaint for cheap, though it isn't engineered as well as other vehicles and breaks more often. And for me, that's all I need. Many businesses are like that -- they need something cheap that mostly works and if it breaks it can be fixed without too much trouble. It doesn't have to be the best, it just needs to be good enough.

      --
      #fuckbeta #iamslashdot #dicemustdie
    17. Re:news flash by nxtw · · Score: 1

      I only use it for stupid things that do not matter at home, like my MythTV, never ever on anything that could be called "production."

      I wish applications like that would stop using MySQL (and server-based databases in general), but I don't think there's a good alternative that isn't written in Java that supports multiple simultaneous connections. I like the approach used by the Java embedded H2 database engine with its automatic server mode - you can open the database like a file, but the first client to connect to the database will start up an embedded server and create a lock file that instructs any other clients to connect to the server running on the first client. If the first client closes the database while there are other clients connected, one of the others will take over.

    18. Re:news flash by dfdashh · · Score: 1

      I find that we here on Slashdot are extremely critical of all applications, regardless of whether they are closed source or not.

      So Gnome vs. KDE that thread may be, but it is still criticism, no?

      --
      df -h /my/head
    19. Re:news flash by Anonymous Coward · · Score: 0

      Cognitive dissonance is the new buzzword for being more mature?

    20. Re:news flash by quantum+bit · · Score: 1

      While SQLite3 doesn't support true concurrency, it's generally good enough for things like MythTV. The locking is only slightly more clunky than MyISAM's.

    21. Re:news flash by dedazo · · Score: 1

      It depends on whether the bugs are blocking. If they prevent a really good piece of software to work, then sure. Suddenly it's not such a great piece of software.

      I remember the uproar when Windows 2000 was released and someone exaggerated a comment by one of the Microsoft product managers about how they still had a few thousand bugs in their tracking system for the OS. Later it was made apparent that the vast majority of those were simple defects that were not blocking in any way, although of course bugs were found later and eventually W2K went up to SP4.

      Having used Windows 2000 from the day it was released until 2004, I can tell you that's a good example of number of bugs not being a valid measurement of overall quality.

      And if my experience with testers is any indication, the number of "defects" tends to grow exponentially as bonus time approaches for them. I had one tester once file more than 100 defects in a single day, all of them related to tooltips attached to a number of input screens. When he realized the problem was pretty much widespread, instead of filing a single entry saying "The tooltips on screens W, X, Y and Z are incorrect" he filed one defect for each field on those screens.

      --
      Web2.0: I love when people Flickr my cuil and digg my boingboing until my google is reddit and I start to yahoo
    22. Re:news flash by Anonymous Coward · · Score: 0

      The fact that some HUGE sites are running MySQL very successfully proves that you're an idiot and that you should stop talking shit about things you don't fully understand.

    23. Re:news flash by jadavis · · Score: 1

      I think the difference is that a lot of open source projects operate on a release-early-release-often philosophy

      Huh? This took MySQL 3 years. Over one year in RC stage alone.

      And, yet, it still has major bugs.

      --
      Social scientists are inspired by theories; scientists are humbled by facts.
    24. Re:news flash by jadavis · · Score: 1

      It is quite likely that the people who jump all over proprietary software that has a poor quality release are not the same people as the one's who are defending MySQL

      A very valid point.

      If I try MySQL and it chokes on my database, all I am out is my time.

      And someone's data.

      Not only that, it's the deception involved. They are calling it GA when it's anything but.

      It's like if you ask me for directions, and I send you in the wrong direction and make it sound like I know what I'm talking about. You would probably begin to have a low opinion of me when you are even more hopelessly lost and maybe out of gas. But hey, it's free!

      --
      Social scientists are inspired by theories; scientists are humbled by facts.
    25. Re:news flash by jd · · Score: 1

      The old slow method (RASDIT - Requirements, Analysis, Specification, Design, Implementation, Testing) is hardly the waterfall method. Waterfalling is a relatively rapid cycle between implementing and testing in small stages, each stage feeding into the next, as a cascading series of waterfalls. The RASDIT software life-cycle states that after testing comes deployment, after deployment you go right back to the start and re-assess requirements. There is no direct feed between one cycle and the next (you re-use from the last life-cycle, but that was the last life of the product not this one) and start-to-finish can take years to decades. If the waterfall method evokes thoughts of a gentle series of cascading waterfalls, step-by-step from start to finish, the RASDIT approach is a thousand-foot plunge. You're damn sure what you have is solid, or you're landscape. RASDIT is not used much these days, but that is the only approach that can be called "old" or "slow". Molasses is fast in comparison. (Tastier, too.)

      RASDIT is the rite of passage of all serious software engineers. It is possible to write software this way and you will have a very high probability of producing robust, reliable, efficient code. It probably won't be maintainable, but it will very likely work and work damn well. All methods other than developing the code to the tests will produce inferior results, but they will produce inferior results far faster and in a form that is easier to debug.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    26. Re:news flash by mmkkbb · · Score: 1

      All the references I can find and all the conversations I have ever had consider the waterfall model and RASDIT to be one and the same.

      It is possible to write software this way and you will have a very high probability of producing robust, reliable, efficient code. It probably won't be maintainable, but it will very likely work and work damn well.

      Sure, but by that time the requirements will have changed and your software will have no users.

      --
      -mkb
    27. Re:news flash by jd · · Score: 1

      Which is why the "maintainable" is such an important element. It's also why the full RASDIT cycle requires that on completion, you go back to the requirements gathering. The theory is that even though this method is slow, the software will converge on the users' needs as the amount of fresh code required will drop with each full cycle. It's entirely possible this is the methodology used in mission-critical systems, such as power stations, as you don't want to patch often and the requirements will change very slowly.

      As I understand it, the waterfall method is not a full repeat of the entire cycle, but a partial implementation, partial test, followed by another partial implementation, partial test, cascading down through a whole series of these. There are a lot of very very short cycles in this method, at least as I was taught it.

      RASDIT doesn't cascade down like that. Implementation is bottom-up, testing is top-down, they are very distinct phases that don't interact beyond the transfer of the code. There are no cycles and one phase does not start until the prior phase has completely stopped. I've seen Slinkies used to describe this methodology, but never waterfalls.

      Now, I'll freely admit that the terminology I learned is (a) old, and (b) quite possibly localized, so we can probably account for 99% of the disagreement by means of such external considerations. If what you're describing is the current terminology, then that is the terminology I should be using. Nuff said. Ergo, I shall do so and thank you for bringing it to my attention.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    28. Re:news flash by ozphx · · Score: 1

      The waterfall model is the old slow model for software development.

      Oh shit, another agile pundit?

      Just because some dodgy informal "agile" model (which for you was just an excuse to not spec things), that was actaully nothing like the agile manifesto, happened to work for the last shitty website you worked on doesnt mean its appropriate for making complex software. Success in making some crap intranet site, while using a bunch of tools with "enterprise" in the description does not make you a real "software engineer".

      --
      3laws: No freebies, no backsies, GTFO.
    29. Re:news flash by ozphx · · Score: 1

      I think it would be better to simply say -- this is not ready for enterprise or mission-critical usage and will not be for some time.

      Then what, honestly, is the point of it? Its like some backyard project - which will never quite be good enough, and theres plenty of free and Free options avaliable, which are done right.

      --
      3laws: No freebies, no backsies, GTFO.
    30. Re:news flash by ozphx · · Score: 1

      If I try MySQL and it chokes on my database, all I am out is my time. If I buy proprietary, I am out money AND my time.

      Sounds like your time is pretty worthless.

      Regardless, there are both free and Free alternatives. Oracle and MS SQL come with a free version, theres postgres & firebird. Hell I'd even trust Jet+Access above MySQL.

      I usually have no problem buying commercial products - its not just my time thats wasted, its my team's time. You could lose a week of time for a small team fucking around with some crappy library to save a few hundred bucks. Add all that up over a 40 hour week - you could be looking at around 10k wasted for a 5 man team... :S

      --
      3laws: No freebies, no backsies, GTFO.
    31. Re:news flash by the_B0fh · · Score: 1

      Of course not. Per a recent thread, you also have to include an Easter Egg or two to be a REAL software engineer.

  7. MySQL x.1 releases gives me the creeps by julie-h · · Score: 3, Funny

    I'm I the only one that get the creeps when a 1 is followed after the . in the version?

    1. Re:MySQL x.1 releases gives me the creeps by stickystyle · · Score: 1

      I think so. 4.1 still has a strong foot-hold with deployments, and is pretty stable.

      --
      Pluralitas non est ponenda sine neccesitate
    2. Re:MySQL x.1 releases gives me the creeps by Anonymous Coward · · Score: 2, Informative

      So, you're waiting for MySQL 5.11 for Workgroups?

    3. Re:MySQL x.1 releases gives me the creeps by pkbarbiedoll · · Score: 1

      ha. wish i had mod points.

  8. Re:PostgreSQL ftw by RayMarron · · Score: 1

    Probably because, IMO, one of Pg's finest features has always been the superb documentation.

    --
    ON DELETE CASCADE
  9. Wrong! by Anonymous Coward · · Score: 0

    Is it just possible that people who develop open source are human, and make the same decisions, for the same reasons, as their closed-source counterparts?

    Incorrect, puny human. 9/10 open source developers are cyborgs, and we do not make mistakes.

    MySQL is a special case, however, as it is developed entirely by the humans responsible for IE6. When given the push from Microsoft, they all went to work on MySQL. If you have ever used MySQL you'll realise this answers many questions, 'Why are there all these "helpful", non-standard extensions to the SQL standard included, but no proper support for sub-queries?' for example.

    If you want a cyborg written RDBMS, use PostgreSQL. It is essentially perfect, follows the SQL standard, and has zero bugs (mostly because we kill anyone who dares raise one).

  10. RTFB. by toby · · Score: 1

    -> 18 months.

    --
    you had me at #!
  11. 5.0? that so? by toby · · Score: 2, Informative

    I've been using 5.0 in production for well over a year and found no 'critical' bugs. (For most of that time I had access to MySQL's paid support.)

    As Ryan said there is no such thing as bug free software but there is such a thing as production-ready software. MYSQL 5.0 HAZ IT.

    --
    you had me at #!
    1. Re:5.0? that so? by dfdashh · · Score: 4, Insightful

      You call software that can bring down multiple slaves with a drop table statement in a transaction production-ready? Have fun with that.

      --
      df -h /my/head
    2. Re:5.0? that so? by MindStalker · · Score: 4, Insightful

      If you allow your users direct access to SQL and rely on SQL permissions you probably shouldn't. Most MySQL setups have no way of allowing untrusted users to run SQL directly so they can't run a drop table statement. So yes, if your letting complete strangers run SQL on your database you might want to look somewhere else.

    3. Re:5.0? that so? by springbox · · Score: 1

      Except MySQL supports permissions for user accounts, which includes restricting the use of the "drop table" command.

    4. Re:5.0? that so? by jadavis · · Score: 1

      As Ryan said there is no such thing as bug free software...

      Some of the bugs in Monty's list are pretty scary.

      Your standards for a DBMS are different than mine.

      --
      Social scientists are inspired by theories; scientists are humbled by facts.
    5. Re:5.0? that so? by MindStalker · · Score: 1

      Sadly at the current state this is kinda like old windows NT permission. More of a suggestion to your already trusted user set. If your putting this out for untrusted users to access directly you need something more secure. MySQL is production ready but in only certain ways.

    6. Re:5.0? that so? by Anonymous Coward · · Score: 0

      Not true!
      There are many developers working directly with a production DB system when working with integrations.

    7. Re:5.0? that so? by richlv · · Score: 1

      what about hosted environments ?

      --
      Rich
    8. Re:5.0? that so? by hingo · · Score: 1

      In fact, MySQL is by far the most popular database for web hosting environments, where anyone with a credit card can get access to a shared database, create and drop tables and run most SQL commands they want to. This should be a testament to its security if anything, btw.

      *But*, shared web hosting never use master-slave replication. Anyone that would use master-slave would be running their own application on dedicated servers. This would also be a logical reason why the bug is not critical, in real life it is not a threat.

      (I of course agree that all software should be bug free. I just wanted to say there is a logic to why certain bugs have less priority than others.)

  12. Sure, other databases are nice by toby · · Score: 1

    PgSQL is not the only, nor necessarily the best open source choice. There are DB2, Firebird, Ingres, and dozens more. Some of them have mature implementations of the features new to 5.1.

    MySQL is a very valid choice also, for a variety of reasons that you may not have considered. Or are you saying Facebook, Flickr, Yahoo!, Google, Slashdot, SABRE, Wikipedia, YouTube are all stupid?

    The world just isn't as simple as you think.

    --
    you had me at #!
    1. Re:Sure, other databases are nice by nxtw · · Score: 1

      PgSQL is not the only, nor necessarily the best open source choice. There are DB2, Firebird, Ingres, and dozens more. Some of them have mature implementations of the features new to 5.1.

      DB2 isn't open source. They do have a limited free-to-use version (like Oracle and SQL Server), although DB2 has no connection or storage limits.

      MySQL is a very valid choice also, for a variety of reasons that you may not have considered. Or are you saying Facebook, Flickr, Yahoo!, Google, Slashdot, SABRE, Wikipedia, YouTube are all stupid?

      Windows 95 and Macintosh System 7 were valid choices at some point. Was this ever the case with MySQL?

    2. Re:Sure, other databases are nice by ozphx · · Score: 1

      What the hell does Google use MySQL for? I was also under the impression that Slashdot used postgres.

      The others are mainly a bunch of shitty LAMP sites that got popular. Now that its all going its obviously going to be cheaper to throw more hardware at the problem than retool. (Well until you try and take a bite out of the pub/sub problem Twitter style and realise you fucked the design real good).

      --
      3laws: No freebies, no backsies, GTFO.
  13. Re:PostgreSQL ftw by Anonymous Coward · · Score: 0

    "I use PostgreSQL because I'm too stupid to figure out MySQL" is not exactly a ringing endorsement.

  14. Not a question forum by ittybad · · Score: 1

    I know it peeves some of y'all off when people ask these kinds of questions. Is there a query that can be sent to MySql from PHP that will tell you if a field has data without actually passing the data back? I have a BLOB field that I want to know if it is occupied but not retrieve the data...just know if there is data to be had.

    --
    No single raindrop believes it is to blame for the flood.
    1. Re:Not a question forum by Muad'Dave · · Score: 2, Informative
      Uh, if you're trying to interrogate a BLOB column on a particular row that you have criteria for, wouldn't this work?

      select count(myblob) from myTable where field1='criterion1' and field2='criterion2' ... and myBlob is not null

      If it returns 1, the column has data. If it returns 0, it's null.

      --
      Tiller's Rule: Never use a word in written form that you've only heard and never read. You will end up looking foolish.
    2. Re:Not a question forum by MattBurke · · Score: 1

      Do you need the "and myBlob is not null"?

      IIRC count(foo) returns the count of rows where foo is not null hence why a lot of the time where foo is a column name, it should really be * because the coder mistakenly thought specifying a column meant the db server has to do less work

    3. Re:Not a question forum by ianare · · Score: 1

      select `id` from `table` where `blob_field` is not null

      all tables should have an 'id' column (that's just standard practice), the above query will tell you which rows contain data.

    4. Re:Not a question forum by Muad'Dave · · Score: 1

      Excellent point. The 'and myBlob is not null' was brought to you by the unnecessary, unneeded, and redundant department.

      --
      Tiller's Rule: Never use a word in written form that you've only heard and never read. You will end up looking foolish.
    5. Re:Not a question forum by ittybad · · Score: 1

      Ha. I can't believe that did not cross my mind. Thanks.

      --
      No single raindrop believes it is to blame for the flood.
  15. Heh by Trailer+Trash · · Score: 2, Insightful

    MySQL 5.1 Released, Not Quite Up To Par

    Depends on what you call "par", but for my values of "par", MySQL has never been there.

  16. PostgreSQL has the same issues by Sxooter · · Score: 4, Interesting

    It just has them on a different scale and there's a different release. If you look through the past release notes for pgsql, you'll see that occasionally one release would come out with some horrific server crashing bug, get reported and get fixed.

    Now, the timeframe is what is the key. For MySQL there are server crashing bugs that have been in place since 2003 or before.

    For PostgreSQL, once such a bug is documented and reproduce-able, it is generally squashed in hours, days, and occasionally, for really complex problems, in a week or so.

    --

    --- It is not the things we do which we regret the most, but the things which we don't do.
  17. Sounds familiar by Anonymous Coward · · Score: 0

    MySQL 5.1 was declared beta and RC way too early. The reason MySQL 5.1 was declared RC was not because we thought it was close to being GA, but because the MySQL manager in charge *wanted to get more people testing MySQL 5.1*.

    KDE 4.0 anybody?

    1. Re:Sounds familiar by jadavis · · Score: 1

      You're comparing a GUI desktop to a DBMS.

      What happens if KDE crashes and burns? You revert to a working version, or pick up some other desktop environment. If you're a novice, maybe you are in trouble. A desktop carries very little state -- and even less important state -- so switching back and forth doesn't cost much.

      The costs of the scary problems Monty mentions could be arbitrarily high. If you lose data, or an application goes down, or you produce a wrong result and then base a decision on that wrong result, that can be very expensive.

      --
      Social scientists are inspired by theories; scientists are humbled by facts.
    2. Re:Sounds familiar by the_B0fh · · Score: 1

      You are a mucking foron. As KDE has stated numerous times, KDE 4.0 was not for end users, but was a framework for application people to work towards. Otherwise, application developers will still have to develop to a 3.x framework.

      Please stop being a Mucking Foron. Thanks.

  18. Re:PostgreSQL ftw by Medievalist · · Score: 1

    "I use PostgreSQL because I'm too stupid to figure out MySQL" is not exactly a ringing endorsement.

    I dunno, works for me.

    If a retarded monkey can use it, that makes it less likely that I will have to personally maintain it.

  19. The first time I used MySQL... by quantum+bit · · Score: 5, Interesting

    I've used MySQL for years...

    The same thing in MySQL would have taken me thirty seconds now, and no more than 15 minutes when I was starting out. With Postgres, it took me upwards of 20 minutes when it should have taken much less time.

    That's because you know MySQL, so of course something that works differently is going to be more work for you to figure out.

    I've used PostgreSQL for years, when I had to set up a MySQL database for some php app it took much more than 15 minutes to figure it out and get it running. The primary problem was MySQL's obtuse user management system.

    With PostgreSQL I know that it's secure by default -- the default user has no password, so even if you enable password authentication it won't work (because it has no password!). You log in locally with trusted authentication, and issue the very logical CREATE USER. Edit the self-documented config file to allow remote hosts to access the database using your preferred authenticaion method, and you're done.

    With MySQL, new users are automagically created by the GRANT command?! Huh? On top of that, passwords are apparently specific to a certain host string. Bizarre. Do I need to use localhost for the actual machine name for local users? What about remote machine without a reverse DNS entry? What's the order of precedence for '%' vs a more specific name?

    Oh, the default 'root' account has no password ...and allows access over the network. Wonderful. Okay, so to change that do I use root@% or root@computer? How do I know I changed the right one and there isn't still some root@something entry? SHOW TABLES is easy enough, how about SHOW USERS? Nope, that's not it.

    Time to check the startup guides. Well, one just has a single password change, another has 3 or 4 lines of 'delete from user...'. The reference for GRANT just has a bunch of caveats and warnings, and the "User Account Management" section goes on and on and somehow doesn't manage to tell me what I want to know.

    To this day I'm not 100% sure if the MySQL install is secure. I decided my time would be better spent eliminating the MySQL-isms from the app in question so that it can run on Postgres like everything else on the server. There are some very strange queries in there - a lot of GROUP BY expressions that make no sense and aren't valid SQL. Some of it I'm not sure how it ever worked.

    1. Re:The first time I used MySQL... by moderatorrater · · Score: 1

      That's because you know MySQL, so of course something that works differently is going to be more work for you to figure out.

      I spent much of last night doing my third Postgres install. It took me roughly one and a half hours to get it to where I wanted it, with a user that can access it over the local network and an empty database from which to build my app. My third mysql install took roughly 20 minutes to get to that point, and that was a few years ago when I didn't know half as much about databases as I do today.

      I don't know what the general trends in the population are, but for me and the people that I've dealt with, MySQL has always been vastly easier to use than Postgres, and that was the sticking point. From everything I've read and seen, people tend to share my opinion. Postgres is the better tool (by far) if you're willing to give up some user friendliness; however, for newbs, user friendliness is the difference between using something and throwing up your hands and giving up.

    2. Re:The first time I used MySQL... by Doug+Neal · · Score: 2, Insightful

      You are both essentially in agreement, and what you're saying boils down to "I'm used to X, and when I tried to do the same thing with Y, which I'm not used to, it took me longer that it would have done with X". It doesn't really say anything about either MySQL or Postgres.

      I've used both systems a fair bit. As a sysadmin I find MySQL easier to work with, because the way the data files closely mirror the structure of the database, and it doesn't mind too much if you tar up a database, copy it over to another machine, and start it up. Postgres's on-disk format is by comparison pretty obtuse, and if you get data corruption it's a lot harder to recover from. (Of course if you're doing it properly you've got battery-backed RAID and periodic hot backups to restore from, but this isn't always within budget or the data isn't that important).

      When I've got my developer hat on I prefer Postgres because it's more strict and more predictable and feels a lot more refined.

      Preferences come down to what you're used to.

    3. Re:The first time I used MySQL... by Michael+Wardle · · Score: 2, Informative
      So you'll know for next time...

      On top of that, passwords are apparently specific to a certain host string. Bizarre. Do I need to use localhost for the actual machine name for local users? What about remote machine without a reverse DNS entry? What's the order of precedence for '%' vs a more specific name?

      The manual seems to describe this in the connection access and request access sections. It answers your question on precedence (most specific to least specific, first match wins), but not the others. You would assume that localhost or 127.0.0.1 would work for connections initiated over the loopback interface (i.e. where the client application connects to localhost or 127.0.0.1), but that you would need to use the real public host name if the application is connecting via that. That's how networking works. Interesting point about reverse name lookups not working. Hopefully it's getting the name from there, and not just using whatever hostname the client asserts when it connects. You'd want to use IP addresses rather than host names to be safer. They mention that wildcard and host/subnet notation is supported.

      Okay, so to change [the root password] do I use root@% or root@computer? How do I know I changed the right one and there isn't still some root@something entry? SHOW TABLES is easy enough, how about SHOW USERS? Nope, that's not it.

      Well, you now know the precedence. The pages I linked to before also tell you that MySQL determines these based on the values in the user table (i.e. mysql.user), so you could just do a SELECT * FROM user WHERE User = 'root' to see what entries exist. From there, you would either have noticed that the passwords were hashed, and so found the password hashing section and executed an UPDATE user SET PASSWORD = PASSWORD(password) WHERE..., or you would have found the SET PASSWORD documentation, or a quick Google search would likely have yielded the more common advice to just do mysqladmin -u root password NEWPASSWORD.

    4. Re:The first time I used MySQL... by Zontar+The+Mindless · · Score: 1

      There's also Securing the Initial MySQL Accounts, which provides a pretty straightforward* procedure.

      *Or so we'd like to think. Of course, suggestions for improving the docs are welcome, via the bugs system. Please submit the bug using the category "MySQL Server:Documentation", and include the URL of the page with the issue, what you think is wrong with it, and what you think would make it better.

      --
      Il n'y a pas de Planet B.
    5. Re:The first time I used MySQL... by bn-7bc · · Score: 0

      First off I'm neither a programer or a db expert but a basic hobyist so i might not be qualified to comment. I agree the MySQLs user management isa bit strange. they semm to want to squeze all the user info into one table. If Iremeber my normalisation correctly this is not a good way of doing things. My limited knowledge may be at fault here, so feel fre to correct me.
      I someone asked me how to split the user managemebt up, I might sugest the following:
      Table users
      Username varcar(20) not null, unique, Primary key
      Pasword varcar(20) not null

      Table privs
      Username varcar(20)not null (fk from Users)
      Opjectname varcar (longest legal table/proc/view name)
      privs int ((derived from bitmap of relevant prefs for objecttype))

      hosts (not shore if we need this at all)
      Username varcar(20)not null (fk from Users)
      host varcar()

      as you can see this is not valid sql, but I think this illustrates my point.

      I apriciate both negative and positive fedback as long as it stays on topic.

      And in case I don't write another comment pefore x-mas "Amaru cristmas to all and wishes for a prospurus and for filling 2009"

  20. too much adoration of personal database favorites by managerialslime · · Score: 3, Insightful

    There is too much adoration of personal database favorites and excessive condemnation of competing products

    While I'm currently a CIO for a small-to-mid-sized company, I've been using relational databases now for more than twenty years.

    For years, I've been HEARING about crash issues using MySQL for transactions. For as many years, I've been designing databases and supervising application design that use MySQL for small transaction systems without corruption problems at all. During this time, I've also designed many large read-only tables used by query systems with millions of records without corruption problems.

    For more than a decade, I experienced crash after crash when using SQL/Server for databases above a few million records and/or above a couple of hundred gig. Over time, the product got better. Today, my group uses SQL/Server for production applications with almost a hundred million records updated daily with no corruption reported in YEARS.

    I've been using Oracle since the 1980's on many platforms. Yes, the early days (pre version 7) were grief and suffering when building OLAP applications. However, each version since Version 7 (1995? 1996?) has been better than every alternative that my employers would consider (including IBM's DB2,) and I am still very comfortable betting my job on Oracle when data warehousing is involved.

    When faced with new challenges, I'm free to select any database application so long as I know my job is on the line when something fails. As a result, mission critical applications will still be coded in Oracle and non-critical applications that we can take our time stress testing are mostly done in MySQL.

    I still have to use SQL/Server as commercial tools our accountants use (MS Dynamics and Clarity) will work on nothing else.

    Instead of cursing every product with which a writer has had bad experiences, the key to reducing grief is to remain aware of the likely risks and rewards of each approach. Yes, Oracle is expensive, but the risks to one's company and personal employment often make it the right choice. Yes, using tools that cost the most will sometimes put a business at a pricing disadvantage and that is when looking at MySQL is sometimes a key to success.

    What I could really use is a grid that compares current versions of each product and recommends the likely characteristics of appropriate applications. (For all I know, my own preferences and rules may already be out of date.)

    --
    Live Long and Prosper - Thanks Leonard. You are missed.
  21. Re:PostgreSQL ftw by Anonymous Coward · · Score: 0

    Compare:

    "I use PostgreSQL because I'm too stupid to figure out MySQL"
    "I use Windows because I'm too stupid to figure out UNIX"

    Hmmm

  22. Re:too much adoration of personal database favorit by jadavis · · Score: 3, Insightful

    Instead of cursing every product with which a writer has had bad experiences, the key to reducing grief is to remain aware of the likely risks and rewards of each approach.

    We can be as relativistic as we want, as though every system is a snowflake with it's own beauty, but in the real world, sometimes value judgments are useful.

    For instance, if you design a truck and I design a car, we can both respect each others' designs, and differ on opinion. You might prefer towing capacity, and market that benefit to construction workers and farmers. I might market the fuel economy and handling to commuters.

    If someone designs a car that sometimes explodes when it rains and the steering wheel in the trunk, it's a bad design, period.

    --
    Social scientists are inspired by theories; scientists are humbled by facts.
  23. The bottom line is that it is embarrassing by smchris · · Score: 2, Insightful

    "Even if we have fixed a big majority of the bugs from 5.0 some really critical ones still haven't been addressed."

    That's the sort of attitude more than a few people still expect from this "open source stuff".

    The pivotal thing about MySQL is that they released a Windows version early and it got on CDs bundled with a ton of programming books. In my opinion, that's why we are talking LAMP instead of LAPP.

  24. MySQL join performance deficiency, 3 orders of mag by nluv4hs · · Score: 3, Interesting
    I know the subject sounds inflammatory but I have hard numbers and a simple, yet realistic example. I would like it if someone would show me how to coax MySQL to perform as well as PostgreSQL for this simple query. It's been over two months since I posted this problem in two very public forums, with no response from the MySQL community. Would someone please stand up for MySQL and save it from looking weak here?!
  25. Re:PostgreSQL ftw by Anonymous Coward · · Score: 0

    Compare:

    "I use PostgreSQL because I'm too stupid to figure out MySQL"

    "I use Windows because I'm too stupid to figure out UNIX"

    Hmmm

    Again, works for me... when they break their windows I just reformat the disk and reinstall, go on my merry way.

    But you have to be pretty incredibly stupid to be unable to figure out Ubuntu.

  26. MySQL isn't just copying other databases' features by adrianmsmith · · Score: 1
    • Postgres only just got ENUMs with 8.3 (2008-02-04) [1]
    • Oracle still doesn't have them yet.
    • MySQL has had them since 2002 if not earlier [2]

    ENUMs are an absolutely essential feature when doing data modeling.

    [1] http://www.postgresql.org/docs/8.3/static/release-8-3.html

    [2] According to MySQL documentation on ENUMs; there are comments there from 2002.

  27. Re:MySQL join performance deficiency, 3 orders of by Luke+has+no+name · · Score: 1

    Same as you, I would like to see a response to this. I personally have always used MySQL being a younger person with personal projects and a love for open source. I've never heard BAD things about PgSQL, though, and I like the licensing better. I'd definitely like to learn how to use it.

  28. Re:MySQL join performance deficiency, 3 orders of by nluv4hs · · Score: 1

    Look here. People are talking.

  29. Re:too much adoration of personal database favorit by the_B0fh · · Score: 1

    Who makes SQL/Server?