Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Databases Open Source Software

Ask Slashdot: Which OSS Database Project To Help? 287

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?"
This discussion has been archived. No new comments can be posted.

Ask Slashdot: Which OSS Database Project To Help?

Comments Filter:
  • by anchovy_chekov ( 1935296 ) on Wednesday November 28, 2012 @05:55PM (#42123081)
    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".
    • by Anonymous Coward on Wednesday November 28, 2012 @06:21PM (#42123413)

      +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

      • 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...

    • 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.
    • Postgres is my favorite as well. But in terms of employment. You should have strong database skills and less worry on the tool.

      The differences between PostGre MySQL, Microsoft SQL isn't that huge. There are a different set of functions and more advanced features. But those are a google away.

    • by Kjella ( 173770 )

      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 b

      • by Kjella ( 173770 )

        The only reason why I'd use SQL is if a web hosting provider offered it, as a backend database? No way.

        Grr, that last sentence was supposed to say MySQL... redid the sentence, didn't notice.

      • Oracle can do extreme things...

        You can't push Oracle as far as you can push Postgres. Ok, there are lot of entities out there managing a huge amount of data on Oracle. But when you look at the extreme cases, the only relational DBMS you'll find is Postgres.

        Of course, if you push hard enough no relational DBMS will handle the load.

        • Oracle is indeed king of the heap with regards to power and features. It also costs an insane amount of money. Unless you want to support Larry Ellison's habit of picking up women he wants to shag by offering them Ferraris (or so the stories go), then Postgresql is probably your next best bet.
  • Postgres (Score:5, Informative)

    by Anonymous Coward on Wednesday November 28, 2012 @05:57PM (#42123099)

    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.

  • postgresql (Score:5, Insightful)

    by silas_moeckel ( 234313 ) <silas@@@dsminc-corp...com> on Wednesday November 28, 2012 @05:58PM (#42123107) Homepage

    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?

  • by Anonymous Coward on Wednesday November 28, 2012 @05:58PM (#42123117)

    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.

  • >> Any suggestions?

    Hierarchical DBs have been making a comeback recently, often reclothed as "NoSQL" databases specializing in "big data" analysis. There seem to be many opportunities to make these databases more applicable to current problems or just easier for relational DBAs to understand and implement.

    • by Trepidity ( 597 )

      Or even, in some cases, to just work better in the regular bug-fixing kind of way. They're much newer and less well-tested on average, so there's a ton more low-hanging fruit than with Postgres.

    • Re: (Score:3, Insightful)

      by vlm ( 69642 )

      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

  • Only you can answer that question. Good luck!
  • MariaDB (Score:5, Informative)

    by jakimfett ( 2629943 ) on Wednesday November 28, 2012 @06:04PM (#42123187) Homepage Journal
    You might want to take a look at MariaDB [mariadb.org], it's a continuation of the MySQL project by the original author of MySQL.
  • by echtertyp ( 1094605 ) on Wednesday November 28, 2012 @06:06PM (#42123203)
    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.
  • I'm attracted to the robust correctness requirements of PostgreSQL, but there don't seem to be many prospective employers using it.

    Apple is using it (in their Server OS, anyway), so that's one big Postgres-using prospective employer that's worth noting.

    As for other Open Source databases, there's also Ingres and all the various NoSQL databases.

  • by Lordrashmi ( 167121 ) on Wednesday November 28, 2012 @06:13PM (#42123309)

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

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

  • I'm happily surprised to see that all the early comments are in support of PGSQL, with brief anecdotes to back it up. I 100% agree - even if your future hopeful employer uses MySQL (which has actually matured a great deal), everything you learn in PGSQL will teach you the underlying theory of WHY good databases are good. You can apply that to any roughly SQL database. Further, PGSQL is even closer to zero-cost than MySQL, in spirit. So, if you have to go up against beancounters advocating for your software,

  • I have used it at several employers and know of some hiring right now.

    Most of these jobs end up filled with people who are used to other DBs though, since candidates are so rare.

  • Do you think anyone who works with Oracle respects it ? This doesn't stop them earning a pile of cash though.

    Stop being a prima donna and pick the one with the best employment prospects.

    Alex

    • I see your point, but the reason I asked /. is because I'm hoping it's not an either/or proposition. So I was looking to find out why MySQL is less problematic than I see it as, and/or why PostgreSQL is more used than I realized, or if there's some other DB I should be thinking about.

    • 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-- p
    • Stop being a prima donna and pick the one with the best employment prospects.

      Or, as a developer with multiple prospects, he could pick the one he ultimately finds more enjoyment working with.

      I'm sure there good "employment prospects" working on things like with the tangled mess of spaghetti and backward compatibility in WinSxS and the Windows source code, but I suspect that would be a PITA job to go to every morning.

      I find working on better-designed systems tends to come with better job satisfaction.

  • by Animats ( 122034 ) on Wednesday November 28, 2012 @06:24PM (#42123451) Homepage

    The post is basically a troll for a video. The video is based on an old list of MySQL 4.x gotchas, [sql-info.de] 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 [sql-info.de] 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.

    • Re: (Score:2, Informative)

      by Anonymous Coward

      There's a comparable list of PostGreSQL gotchas [sql-info.de] 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".

    • by DoofusOfDeath ( 636671 ) on Wednesday November 28, 2012 @06:37PM (#42123631)

      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.

    • by xaxa ( 988988 )

      Those lists are 7 years old. Does anyone have a more up-to-date list?

      The last time I looked, Postgres was indeed slow at select count(*) from x, but even that's now been fixed: http://wiki.postgresql.org/wiki/Slow_Counting [postgresql.org]

      We've been looking at work, but not for 6 months or so due to another project taking priority. At the moment we use MySQL and a commercial database, and another part of the organisation uses MS SQL Server. That's clearly not optimal. The software using MySQL is the least-complicated st

    • 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 ri

  • If you need a database, use one that tries to be ACID compliant first, then efficient second. Not the other way around. When your database model starts getting more complicated as does your skill set, you'll be thankful later.

  • I beg to differ - it's all a matter of philosophy. Do you want something that's a stubborn mule of a server that fights your every attempt to get something done, or would you prefer something that is more forgiving and let's you later discover your own personal logic flaws with a, "haha! whoops! There, fixed!" moment? The video for me only serves to further reinforce the reason I use MySQL. For one thing, I have never made any of the bone-headed programmer errors that the host illustrated, but I appreciate
  • http://en.wikipedia.org/wiki/Michael_Stonebraker [wikipedia.org] 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.
  • You write: "I've done a good bit of SQL development / tuning in the past. ... My problem is choosing which OSS DB to help with."

    That's akin to saying, "I've done a good bit of SCCA track racing in the past. My problem is choosing which engine builder to intern with." Or even, "I'm an amazing, although out-of-practice chef. Should I work on enhancing Viking or Maytag gas ranges?"

    Using a database (or any product) very effectively often has little or not translation into working on the guts of the product.

  • Not to take anything away from PostgreSQL and MySQL (and their forks), but these are mature systems with extensive communities and a very complex code base. If you want to learn the architecture of a new class of open source database systems, as well as to have the opportunity to make a significant contribution to a project, then you should consider joining a NoSQL project, such as Neo4j or MongoDB.
  • by paugq ( 443696 )

    Try GT.M [wikipedia.org] for something different. It's a key-value database, dating back to the 60's, but still hitting hard in healthcare, vets and financial. Great performance. The underlying technology is called MUMPS [wikipedia.org]. Other MUMPS databases (such as Intersystems Caché, closed source) use MUMPS internally, then offer SQL, XML, object, etc layers.

  • Video is FUD? (Score:5, Informative)

    by maitai ( 46370 ) on Wednesday November 28, 2012 @07:18PM (#42124153)

    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).

  • Noseql (Score:5, Insightful)

    by Donwulff ( 27374 ) on Wednesday November 28, 2012 @07:26PM (#42124271)

    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).

  • Where's the list? The link was to a "video" with a static image and a whiny voice gabbling on - tl;dw.

  • Why MySQL Wins (Score:3, Insightful)

    by Slicker ( 102588 ) on Wednesday November 28, 2012 @07:41PM (#42124423)

    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

    • 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 b

  • I'm attracted to the robust correctness requirements of PostgreSQL, but there don't seem to be many prospective employers using it.

    Look harder; they're plenty of them out there.

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

    Cowards!

  • Drizzle (Mysql fork) has a lot of low-hanging fruit & its modular nature helps.
    Otherwise if you're really contributing just for notoriety, consider Sqlite. It has plenty of work needed & it's critical for 100s of big companies: Google, Apple, Adobe (Photoshop), many more.
  • Choose MongoDB, its web-scale. http://www.mongodb-is-web-scale.com/ [mongodb-is-web-scale.com]
  • You think an employer that's using mysql is going to turn up their nose at you because you've been using postgresql?
  • by linuxwrangler ( 582055 ) on Wednesday November 28, 2012 @11:36PM (#42126349)

    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.

A morsel of genuine history is a thing so rare as to be always valuable. -- Thomas Jefferson

Working...