Slashdot Mirror


Ask Slashdot: Which OSS Database Project To Help?

DoofusOfDeath writes "I've done a good bit of SQL development / tuning in the past. After being away from the database world for a while to finish grad school, I'm about ready to get back in the game. I want to start contributing to some OSS database project, both for fun and perhaps to help my employment prospects in western Europe. My problem is choosing which OSS DB to help with. MySQL is the most popular, so getting involved with it would be most helpful to my employment prospects. But its list of fundamental design flaws (video) seems so severe that I can't respect it as a database. I'm attracted to the robust correctness requirements of PostgreSQL, but there don't seem to be many prospective employers using it. So while I'd enjoy working on it, I don't think it would be very helpful to my employment prospects. Any suggestions?"

54 of 287 comments (clear)

  1. Find better prospects? by anchovy_chekov · · Score: 5, Interesting

    I've used Postgres commercially for years, with a number of employers. It's a great DB and having dealt with MySQL, SQL Server, Oracle, et al I'd never go back - though the softies tell me that SQL Server is much better these days.

    I'd be surprised if you can't find plenty of work using Postgres. Maybe it's one of those things people don't feel comfortable talking about - like Delphi in the 90s. Plenty of people used it, but few would own up to what made up their "secret sauce".

    1. Re:Find better prospects? by Anonymous Coward · · Score: 5, Informative

      +1

      You don't see lots of people saying they use PostgreSQL online, because, no one has to bitch about it. It works, it works great, and its documentation is astounding.

      Everyone uses it, you just don't realize it, again, because no one bitches about it.

      I'll never touch MySQL after having used it for a product, what a POS

    2. Re:Find better prospects? by A+bsd+fool · · Score: 2

      Agree. If you are going to help (or, damn, even use) an OSS DB, make it PG. MySQL is garbage. MSSQL is not bad though. It's still fast as hell and has great ACID compliance, just expensive.

    3. Re:Find better prospects? by Nostromo21 · · Score: 2

      Ditto. Delphi was the last time I actually loved programming, back in the mid/late 90s. Then I got a job using VB6 & raw C - bleh!
      Progress wasn't a bad 4GL/RDBMS back in the day - wonder if it's still going...

    4. Re:Find better prospects? by Kjella · · Score: 2

      I've used Postgres commercially for years, with a number of employers. It's a great DB and having dealt with MySQL, SQL Server, Oracle, et al I'd never go back - though the softies tell me that SQL Server is much better these days.

      Feature wise I like Postgres better than SQL Server, intervals, arrays and being able to do all sorts of DDL in transactions is excellent. What seems to be the killer in the places I've seen it is Integration Services - being able to create easy workflows to get data into, out of and between databases. If all I wanted was a database to run an application against, I'd have no hesitation with Postgres. SQL Server has mainly been fighting Oracle and that's like Outlook fighting Lotus Notes, you don't have to be good just less awkward. Oracle can do extreme things but it's hard to administrate, hard to develop for and costs a ton of money. SQL Server is the okay database with fairly easy to learn management / integration / reporting / analytics tools. But if you mostly want to get your hands dirty and write SQL code Postgres is great. The only reason why I'd use SQL is if a web hosting provider offered it, as a backend database? No way.

      --
      Live today, because you never know what tomorrow brings
    5. Re:Find better prospects? by tibit · · Score: 2

      For truly install-and-forget embedded uses, Firebird fails because it has nowhere near the kind of testing that sqlite gets. Sqlite is tested to ensure data integrity that lets it be used in avionics, for example. It's the only open source project out there that I know of that could even begin to claim that. In the recent years, if there's a problem with sqlite database corruption, I treat it like a failed memtest run: it means the hardware needs to be replaced.

      --
      A successful API design takes a mixture of software design and pedagogy.
  2. Postgres by Anonymous Coward · · Score: 5, Informative

    It's seeing a constant rise in usage. Also many projects (spacewalk!) have it as the only viable alternative to Oracle.
    Small companies with small to mid sized applications use it (see Jira or Fisheye, at Atlassian) as their main development platform.
    Also you shouldn't use your USA'ish perspective and only do something because it will benefit your job or future employer. OSS is about sharing, fun, knowlege and getting better. Getting better at your job is a welcome side effect.

  3. postgresql by silas_moeckel · · Score: 5, Insightful

    You will probably be happier in the fewer postresql shops. Think about it do you want to get it done quick and dirty or the right way?

    --
    No sir I dont like it.
    1. Re:postgresql by SplashMyBandit · · Score: 4, Informative

      Absolute rubbish. Postgesql handles massive data sets and can scale down to run on modest hardware (with a multitude of choices in *free as in beer* operating systems). So I wonder what evidence you have to support your counter-factual statements?

  4. If you are an active member by Anonymous Coward · · Score: 5, Interesting

    If you are an active member committing to a major database's code, then it will help your employment prospects no matter what. If you're committing to PostgreSQL regularly, that's strong evidence you are good at what you do.

  5. Welcome to Life by SledgeHammerSeb · · Score: 2

    Only you can answer that question. Good luck!

  6. Re:Video by JonySuede · · Score: 2, Interesting

    Oracle

    --
    Jehovah be praised, Oracle was not selected
  7. MariaDB by jakimfett · · Score: 4, Informative

    You might want to take a look at MariaDB, it's a continuation of the MySQL project by the original author of MySQL.

    --
    Bits of code, random ramblings: jakimfett.com
  8. Salesforce.com is hiring PostgresSQL guys like mad by echtertyp · · Score: 5, Insightful

    I actually love MySQL, but FWIW, someone noted a while back that Salesforce.com has announced intent to hire about 50 top gun PostgreSQL guys in the coming year. It seems obvious that they are preparing to unhook the money siphon leading to Oracle. Assuming Salesforce follows through, all the herd-following executives in the U.S. will want to do the same. So I predict that demand for PostgreSQL talent will be pretty good for many years.

  9. Re:Video by frostfreek · · Score: 2

    The video shows a number of ways that MySQL seems to insert questionable data; ignoring NOT NULL, inserting default values when no default is specified, etc...

    There are two databases that I have had to repair... Hypersonic and MySQL. MySQL I have to repair regularly in my MythTV box. Hypersonic states it should not be used in a production system. I have never had to repair Postgres, MSSQL, or Oracle.

  10. Re:use mysql by MrEricSir · · Score: 2

    The quality of a product isn't determined by the number of quirky edge cases it has.

    Sure it is. But product quality has little to do with a product's popularity.

    --
    There's no -1 for "I don't get it."
  11. Re:Hierarchical, er "NoSQL", DBs? by vlm · · Score: 2, Insightful

    Nosql DBs suffer pretty bad from Inner platform effect, where the users end up implementing their own classic SQL-RDBMS on top of the nosql. "I don't have joins... well I'll write on in ruby". You could probably do the community a huge service by PROPERLY re implementing at least a API compatible mysql system on top of a variety of various nosql services. That way devs could be buzzword compliant, while not actually having to change anything (well, the sysadmins will throw fits at the change for sake of change, but no one cares about them)

    http://en.wikipedia.org/wiki/Inner-platform_effect

    The ones that don't inner-platform aren't really using them as "databases" so much as simple persistent stores. Like dumping data into a CSV file. Maybe persistent stores with advanced parallelization, but just persistent stores.

    --
    "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
  12. MariaDB (fork of MySQL) by Lordrashmi · · Score: 5, Informative

    https://kb.askmonty.org/en/community-contributing-to-the-mariadb-project/

    We (yes, I work for the project) are always looking for new contributors. There are lots of exciting things happening right now.

  13. Re:SQL Fairy by Anonymous Coward · · Score: 2

    Their logo is awesome.

  14. Re:If "employment prospects" Are All That Matter . by vlm · · Score: 4, Informative

    I recommend setting yourself about fixing some of that long list of fundamental flaws in MySQL.

    Traditionally, especially in 2012, this amounts to listing stuff like "doesn't have transactions" which was fixed back in Bush the Second's first term.
    Shoveling thru obsolete FUD to find the truth is a harder job than you'd think, which also shows "good little worker bee" stick-to-it-ive-ness

    --
    "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
  15. Re:SQL Fairy by vlm · · Score: 2

    0.11016 was uploaded six weeks ago, its not dead.

    Its VERY popular internally to auto-generate DB diagrams from midnight cron jobs etc. I'm sure there's other ways to do it. But this was easy, fast, and the diagrams look good enough.

    It can do a lot more than generate diagrams.

    What it needs is a new artist. The dude in a tutu as a logo...

    --
    "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
  16. Re:Thinly veiled stab at MySQL by DoofusOfDeath · · Score: 5, Informative

    Actually I wasn't. I figured the /. crowd might have some knowledge about the relative acceptance and prevalence of the two databases in European business settings, and where things are moving.

    For example, if the consensus was that PostgreSQL was so rarely used that it was a dead-end, then I'd suck it up and work on MySQL despite my misgivings.

    But as long as PostgreSQL is showing some signs of life in a business setting, I'll perhaps try to pitch in on that.

    I also figured that maybe there was some other up-and-coming database out there that I should take a look at. The /. community is good at bringing alternatives like this to light.

    As far as flames, I should have been clearer about what I meant by "design flaws". I realize that it's somewhat subjective. What I should have said is that MySQL's behavior strikes me as a lot more surprising in some cases than does PostgreSQL's, and I didn't think that was going to chance. (Probably in a similar vein, I like strongly typed programming languages and compile-time correctness checks. I think it's a mindset kind of thing.)

  17. Post is troll for a video by Animats · · Score: 5, Informative

    The post is basically a troll for a video. The video is based on an old list of MySQL 4.x gotchas, many of which were fixed in the 5.x series. Most of them involve things like the semantics of NULL in special cases, truncation of indexed strings with trailing spaces, and similar stuff that an application shouldn't be relying on. There's a comparable list of PostGreSQL gotchas from the same source.

    MySQL has political problems, because Oracle owns it and would prefer users buy their commercial products. The future of the free version is uncertain. The problems in the video aren't the ones to worry about.

    1. Re:Post is troll for a video by Anonymous Coward · · Score: 2, Informative

      There's a comparable list of PostGreSQL gotchas from the same source.

      Only if "comparable" is code for "far shorter and less severe, with a greater percentage having been fixed in current versions".

    2. Re:Post is troll for a video by DoofusOfDeath · · Score: 4, Interesting

      I didn't mean it as a troll, but thanks very much for pointing out that some of the video's issues are fixed in MySQL 5.x.

    3. Re:Post is troll for a video by inglorion_on_the_net · · Score: 2

      The problems in the video aren't the ones to worry about.

      Well, I don't know. It is true that MySQL has improved by leaps and bounds over the years. However, every time they get rid of a batch of gotchas, there are new ones. I remember being elated to work on a project with MySQL 5 because I felt it had finally grown up to be a real database, only to find that there were concurrent insert issues that caused a huge chuck of my updates to time out and/or be aborted (I don't remember which).

      The problem isn't so much the specific issues as the philosophy that gives rise to them. MySQL was clearly developed as a quick and dirty vaguely RDBMS-like SQL database. Remember when MySQL didn't support transactions? It wasn't originally developed with data integrity in mind. That's why I and a lot of other people don't like it. It's hard to turn a system like that into something you can trust with your data.

      By contrast, PostgreSQL was already a mature, ACID-compliant system when MySQL started gaining mindshare. It has problems, too, but not being an actual ACID-compliant RDBMS isn't one of them.

      --
      Please correct me if I got my facts wrong.
  18. Re:If "employment prospects" Are All That Matter . by h4rr4r · · Score: 2

    Does it still silently drop data that does not match the expected input?

    Can you easily delete a table with foreign keys yet?

    I am sorry if I don't keep checking to see if they finally fixed based problems. Way easier to just use postgres.

  19. Re:Thinly veiled stab at MySQL by TheSpoom · · Score: 2

    While you're at it, do me a favor and add "ON DUPLICATE KEY UPDATE" to Postgres. (If necessary, also add it to an SQL spec.) Thanks!

    --
    It's better to vote for what you want and not get it than to vote for what you don't want and get it.
    - E. Debs
  20. Re:use mysql by ameoba · · Score: 2

    The problems with MySQL aren't bugs, they're decisions. Decisions that can't be reversed for the sake of backwards compatibility.

    --
    my sig's at the bottom of the page.
  21. Postgres by bradinthehouse · · Score: 2

    http://en.wikipedia.org/wiki/Michael_Stonebraker Have a look at what he's done with Postgres, Vertica, VoltDB, and the other systems he's working on. You may find that contributing to this project aligns you with some great, very intelligent people -- that's opportunity for learning, opportunity for contributing, and opportunity for good networking.

  22. Re:Big Data by elliot.mackenzie · · Score: 2

    "Big Data" is horse shit. It's code for "stuff it all in a pile and maybe someday we can get some of it out, but not in any order that makes sense, and not in any reliable fashion".

    The problem with arguments like this is that it overlooks the fact that there is a lot of value in data that doesn't need ordering in advance, and where any missing gaps in data are not critical failures. Not all data can or should be stored in such systems, but for that which can, there are much better ways to store it than RDBMS. RDBMS isn't going away, but it's certainly been commoditised. In time, so will Big Data type storage, but until then it's a good thing to make good money on if you are starting out in this field precisely because it is relatively new, and also is not going away.

  23. Re:Video by 19thNervousBreakdown · · Score: 2

    I'm curious if those are still actually existent in >=5.0. I know I started avoiding MySQL in the bad old days, but from what I understand it's made a lot of strides in the conformance department.

    I haven't bothered to look at it again since then, since Postgresql meets all of my needs, but I am curious. It can't still be that bad, can it? I can see all the bad old behavior being hidden behind default for legacy users, that's reasonable, but silent data corruption (and whether you're truncating strings or inventing dates when you hit NULL, you're corrupting data) doesn't seem like something people would put up with these days.

    --
    <xml><I><am><so><damn>Web 2.0</damn></so></am></I></xml>
  24. Re:"respect" is a curious term. by abirdman · · Score: 2

    Oracle, the database and connection software is quite respectable. The problem with Oracle is the organization which sells and services it. They like to "partner" with their customers, and comport themselves like a criminal enterprise. They send auditors to their customers' sites to ensure license compliance (meaning shake-down money for Larry Ellison). Training is expensive, but so are trained Oracle specialists. They're risking ruining Java with slow updates, and MySQL development seems to have slowed-- probably a good thing. Larry Ellison doesn't really get open source.

    There are many Oracle-like features in PosgreSQL, so it's helpful to learn, but here in the US, Oracle work pays very well-- probably the best in the industry. I don't know how many of those jobs are available. I do know there's some foreign competition, both from Europe and Asia. The company I work for has some excellent DBAs from India monitoring our servers.

    --
    Everything I've ever learned the hard way was based on a statistically invalid sample.
  25. Re:If "employment prospects" Are All That Matter . by Anonymous Coward · · Score: 3, Insightful

    If employment prospects are all that matter, stay away from the major SQL databases. They're mostly feature complete, have large established developer communities that are hard to break into (sometimes requiring employment at the sponsoring company) and often have a lot of legacy baggage that limits what you can accomplish.

    Meanwhile, in the NoSQL world, people are busy re-inventing the wheel. You can take decades-old techniques and apply them to new features of these databases. For example, Redis doesn't have true clustering support. There's a preliminary draft and some exploration, but it's still really nascent. If you've got the DB chops to implement it and do it well, there's a ton of places that would hire you.

    The downside is, of course, that you end up working with NoSQL databases, but your employment prospects to actual work and knowledge ratio is a lot higher.

  26. Video is FUD? by maitai · · Score: 5, Informative

    Pretty much all the test cases from that video fail on MySQL if the sql-mode is set to traditional. MySQL will throw an error when data would be truncated, throws an error when you try to insert a NULL value in a NOT NULL column, refuses to alter a table if the existing data would be truncated, throws an error on an invalid date, on select only returns a warning for division by 0 but throws an error on an insert of division by 0, throws an error if you try to insert a string into a numeric column and so on.

    I understand of course that the strict modes aren't enabled by default but they're easy enough to enable if you choose to. Via my.cnf, the command line when mysqld is started up or while connected to the mysql server itself (for just that session, or globally for all sessions).

    I didn't run through all their examples, but mostly because I got bored and all their examples that I did try were throwing errors (except the select 1/0 one, which issued a warning) with the sql-mode set to traditional on MySQL (postgresql is also a sql-mode option but I didn't play with that one since I've never used it before).

  27. Noseql by Donwulff · · Score: 4, Insightful

    First I should probably burn some karma and say "what a load of garbage". The headline asks what OSS database to HELP with, but the article summary might as well read "Which free SQL-compatible database to learn to use". And on top of that it contains the answer already, along with questionable dirt-showing on MySQL which makes it read like a guerilla-ad for PostgreSQL.

    But in any case, it makes a major, huge difference whether the question is "which database codebase to contribute improvements to" or "which free database to learn for best amployment chances". Sounds like it's the latter, and in that case a follow-up question is what kind of employment. The one correct answer is "whichever database your employee is using" - don't expect to be able to choose a job on the basis of what database engine they happen to be using in one of the departments at the time. Second best answer is go with both; and again it makes a huge difference whether it's for self-employed web-site design or financial analysis for stock brokerage firm.

    And if you actually went with MySQL, next question is which database engine. Huh, you ask? Well you see, MySQL is not a single database engine, in actuality it's a front-end to pluggable database engines. The stock release fetures at lest MyISAM, InnoDB, Heap, BDB, NDB and Archive (and few variations). In general it's a choice between MyISAM or InnoDB which are whole different story. When most people say "MySQL has such and such problem" they're actually talking about MyISAM, but MySQL has defaulted to InnoDB engine for years.

    But the third and best answer is "none of the above". In most cases everybody seeking employment in relevant job will be fluent in SQL and have at least some experience with both MySQL and PosgreSQL, and it'll be rare for the employer to be at all interested in your ability to actually "hack" the database source. NoSQL databases offer ample opportunity to differentiate both on the job-market, and on the business competitiveness arena by improving the source-code (and in most cases as long as the binaries stay in-house, so can the source which makes bosses happy, but consult your OSS license).

  28. Why MySQL Wins by Slicker · · Score: 3, Insightful

    I love PostgreSQL in theory but hate it in practice. It's a pain in the ass to work with... not very productive. For a long time, I felt it was worth it to endure this for the superior design, feature set, and technical correctness.

    But one day I realized that I need to get things done, switched the MySQL. The learning curve was small but the main kicker was that things just worked and easily reworked. There are risks, limitations, and problems. It's very imperfect but I get things done now... and never have or care to think about the purist philosophies with which I used to love to indulge in.

    In the end, you have to give up perfection to go anywhere.. Otherwise, it's like having to get half-way there first, meaning you have to get half-way to half-way first, etc. recursively forever.. With MySQL I take a reasonable number of precautions for things that can go wrong, ensure there are good backups, and deal with the others as they come.

    Now I think MySQL is superior for practical use by a long shot. And I think that's why its adopted so heavily.

    The key ingredients to successful technologies are:

    (1) You can do something obviously cool or useful with it.
    (2) It's quick and easy to learn and use.

    And that's it. This is why so many successful things are made by idiots. Look at HTML. It was made by Tim Burners Lee back when he knew very little. But 12 year olds were picking it up and making cool (at the time) web pages. Now he know so much more and has tons of backing from heavy weight organizations and money but cannot seem to even force the success of the Semantic Web. It's hard to learn and hard to work with even when you learn it. Furthermore, it's not obvious to most what cool or useful things you can do with it. Proponents keep saying it'll mature and will be easier when tools and libraries are available to make it easier... That misses the point. Even the tools mostly suck and are buggy because the basic tech. is a pain in the ass to work with. There are philosophical visionaries galore but no substantial progress beyond what grants and job requirements force people to do... and there won't be.

    Matthew

    1. Re:Why MySQL Wins by ultranova · · Score: 2

      But one day I realized that I need to get things done, switched the MySQL. The learning curve was small but the main kicker was that things just worked and easily reworked. There are risks, limitations, and problems. It's very imperfect but I get things done now... and never have or care to think about the purist philosophies with which I used to love to indulge in.

      So what things can you do easily in MySQL that you had trouble doing in PostgreSQL? Details, please.

      Now he know so much more and has tons of backing from heavy weight organizations and money but cannot seem to even force the success of the Semantic Web. It's hard to learn and hard to work with even when you learn it. Furthermore, it's not obvious to most what cool or useful things you can do with it.

      The reason "Semantic Web" is not catching on is that it is contrary to commercial interests: the most basic function of SW is to filter out irrelevant crap from searches, while the most basic desire of an advertiser is to have his irrelevant crap to show up in every search. SW assumes that the Web is a library where the goal is to match people up with the information they're looking for, while in reality it's a bazaar where every merchant is trying to shout louder than everyone else to peddle their crap to passersby.

      --

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

  29. Re:use mysql by gmack · · Score: 5, Informative

    If only they were actually edge cases(look carefully they mentioned one was a common Ruby on Rails mistake). MySQL's habit of pretending everything is alright when it's not has burned more than one of my previous employers.

    But they missed the real WTFs like mysqldump creating dumps that need to be hand edited before MySQL will restore them or my all time favorite: mysql user authentication simply does a "SELECT * from mysql.users" and if the fields get reordered by a new MySQL release then logins will simply fail. The best part is that the officially documented way to fix that is a mysqldump followed by a restore which... deletes the table and puts the fields in the wrong order again. The last major MySQL upgrade of my employer's systems involved me starting the new install from an empty DB, restoring everything except the mysql.users table and recreating the accounts using a script.

    Please don't pretend it's not a crap database. Those of us who have to deal with it every day know better.

  30. MSSQL and PostreSQL use transactions by Anonymous Coward · · Score: 3, Informative

    With SQL Server, you set your transaction isolation level that you care about and then you begin a transaction - SQL Server will guarentee consistency in that transaction even if you're just doing multiple selects. And, SQL Server will not let you do a 'select for update'.

    For example:

    SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
    BEGIN TRANSACTION;
    SELECT TOP 100 * FROM MyTable

    -- Rows in MyTable are now locked

    Locks are released when the transaction is commited.

    1. Re: MSSQL and PostreSQL use transactions by iluvcapra · · Score: 2

      I'm a big Postgres fan and no Softie, but you sir preach ignorance as strength.

      --
      Don't blame me, I voted for Baltar.
    2. Re: MSSQL and PostreSQL use transactions by WaffleMonster · · Score: 2

      I'm a big Postgres fan and no Softie, but you sir preach ignorance as strength

      Managing concurrency is the single biggest impediment to scaling we and most outfits face.

      If you can't figure out how to perform the same function using an optimistic concurrency model I don't want you anywhere near our systems. If you think that makes me ignorant then so be it.

      There is simply is no correct answer which involves laying a read lock. Oracle rightfully does not support ANY of these concepts or isolation modes. This only exists in sql server because certain children with trivial problems did not want to be bothered to expend the time and effort to design scalable systems. We can't afford it.

    3. Re: MSSQL and PostreSQL use transactions by Anonymous Coward · · Score: 2, Informative

      IF you don't understand what isolation level serialable is then how the hell can you expect them to know why it can have such serious scalability issues. Ignorance is not a blessing, understanding what it does and why you don't want to use it is worth far more.

  31. With shared hosting by tepples · · Score: 2

    So which entry-level web host do you recommend for running web applications that use PostgreSQL? Most that I've seen either offer only MySQL or charge extra for PostgreSQL.

    1. Re:With shared hosting by Algae_94 · · Score: 5, Insightful

      Get a VPS from Linode. Install postgreSQL.

    2. Re:With shared hosting by flacco · · Score: 2

      This is the way to do it. Linode is quite good.

      --
      pr0n - keeping monitor glass spotless since 1981.
  32. Re:Big Data by sexconker · · Score: 2

    Gosh, guess I should stop using Cassandra for time series data, and forget all the performance gains its given me on huge data sets. Maybe if you organize it like a pile, a pile is what you get?

    All else being equal, if a non-relational database is giving you significant performance gains, it just means you setup your relational database incorrectly.

  33. Disabling comments is for cowards & propoganda by Tablizer · · Score: 2

    (Fundamental flaws of MySql) "Comments are disabled for this video."

    Cowards!

  34. Re:Video by Eskarel · · Score: 4, Insightful

    The simplest way to say it is that MySQL is really more of a data store than a database. You can store stuff in it, and it'll get the data back reasonably efficiently, but in terms of actually operating as a proper compliant database for critical information it just isn't designed that way. It works great for storing the back end for your web server, but if you wanted to store complex data in it and needed it to be 100% accurate, transactional, and reliable, the product just doesn't fit the bill. For all that it's got a paid "enteprise" edition, it's really more in the space of something like SQLite or SQL CE than it is in the space of Oracle, and again it's not an issue of whether it can scale or whether it's buggy, it just simply isn't designed to be compliant to the required level. That's largely the reason it works so well as a LAMP back end and is so easy to administer, but it just isn't fit for purpose for much more.

  35. Re:use mysql by Dynedain · · Score: 2

    If you're using phpMyAdmin, then you aren't doing the kind of in-depth database development where you run into the problems the GP is talking about.

    Hell, if you're using phpMyAdmin, you're casual DB user probably just trying to support your small webapp or CMS installation.

    And if you do use phpMyAdmin, you'd be much better off with a platform native database tool with MySQL support, such as SequelPro (OSX) or MySQL Workbench for (Windows,OSX)

    --
    I'm out of my mind right now, but feel free to leave a message.....
  36. Most popular?? by linuxwrangler · · Score: 2

    What do you mean by "most popular."

    I'm tired of hearing that "everyone uses..." No, they don't. MySQL is pretty popular with the open-source web-crowd but this is the same crowd that respects the engineering behind PHP. I've encountered plenty of people in that arena who would rather roll their own data-checks and treat the database as barely more than a key-value store than use the capabilities of the database and have to deal with handling exceptions. Bring up transactions, ACID compliance, data-integrity and the like at a PHP users group and you get blank-stares. The get-rich-quick-with-a-cute-kitten-website crowd cares not for such things (as an overgeneralization - there are plenty of high-traffic sites such as Instagram, hi5, Etsy and MyYearbook that run on PostgreSQL).

    So where do you find PostgreSQL? Salesforce, National Weather Service, Nippon Telephone and Telegraph, Federal Aviation Administration, Sony Online Entertainment, TD Ameritrade, State of Wisconsin Courts, Afilias, BASF, Flightaware, Skype (a contributor of many PG utilities), Fujitsu, Launchpad (Ubuntu)...

    And PostGIS is *the* go-to open-source geospatial database.

    I've found the PostgreSQL community to be wonderful with opportunities to contribute at all levels. Answer questions on the mailing-lists, contribute to documentation, help at users-groups, give a talk at a conference. One always welcome contribution is doing testing and submitting results/patches during commitfests - and this gets you more involved with the code.

    As to employment, it sounds like you prefer PostgreSQL. As such, PostgreSQL is by definition the most popular database among places you are interested in working. Do what you love.

    --

    ~~~~~~~
    "You are not remembered for doing what is expected of you." - Atul Chitnis
  37. Re:Video by Fallingcow · · Score: 4, Informative

    Most of what's shitty about it is the MyISAM storage engine, which does approximately dick-all for enforcing integrity. It doesn't even have foreign key constraints. IIRC it can't do transactions either. The trade off is that it's slightly faster for some operations *eyeroll*

    If MyISAM is good enough for your application then you may as well—no exaggeration—just use MongoDB or something.

    InnoDB is much better. It's got some of the same not-confidence-inspiring quirks shown in the video but at least it supports transactions and foreign key constraints.

    Biggest remaining differences off the top of my head are that Postgres supports a shitload more data types and data operations (many through plugins) like stuff related to geographic data and key-value stores (hey, you got NoSQL in my SQL!), and that Postgres has real separate databases, not just separate schema like MySQL, the difference there being strict separation of the data, so you can't, say, do a SELECT across two databases or even tell that there are other databases if you've only got a user account on one of them.

    Lots of other under-the-hood stuff, I'm sure, but those are the main ones I can think of from a user's perspective.

    Postgres is way, way more powerful, MySQL is (slightly) more widely supported and (IMO) the free tools, both command line and GUI, for working with it are easier to learn and generally friendlier.

    MySQL's a completely miserable excuse for a relational database if you use MyISAM; it's only a mostly miserable excuse for a relational database with InnoDB.

  38. Re:If "employment prospects" Are All That Matter . by El+Rey · · Score: 2

    I would believe that if it weren't for the fact that there are at least 3 forks from former MySQL leaders trying to fix all the junk in it that is screwed up. For example, read:

    http://krow.livejournal.com/700783.html

  39. Re:use mysql by Waccoon · · Score: 3, Interesting

    I was looking for an easy way to automate character conversion from Latin-1 to UTF-8 for the forum software I use. I found out the hard way that the built-in MySQL recoder is completely broken, and will barf in different ways depending on which version number of MySQL you are using. No errors or warnings during the conversion for any version. You'll just find out later that all the field limits are wrong. You can only find out if it worked or not by inserting new rows and finding out if you get errors about data being too large to fit in the field, and whether it fails or not has nothing to do with the actual length of the data, but with whether you send 7-bit or 8-bit characters.

    I gave up trying to get MySQL to do it, and wrote my own conversion tool.

    And that's just for baby stuff for a web forum on a personal web site. I can only imagine what MySQL is like in an enterprise environment.