OpenBSD Journal

The Day the Database Died

Contributed by Dengue on from the thank-god-for-backups dept.

Well, we finally died. I knew this day would come. MySQL gaak'd and corrupted one of the database tables. isamchk -r only made it worse. So, we rolled everything back a day. Sorry for the inconvenience. And to top it all off, I spent another frustrating day at work trying to make broken, poorly supported commercial software work as marketed.

c'est la guerre.

(Comments are closed)

  1. By Anonymous Coward () on

    > I spent another frustrating day at work trying to make broken,
    > poorly supported commercial software work as marketed

    sounds familiar... what piece of software would that be?

  2. By tim () on

    It has some bugs too, but they do not ever cause database corruption as best as I can tell. (the one I have found is only apparent upon updates to rows that are foreign keys for multiple other tables; this does not affect selects, inserts, or dumps on that table, even concurrently). It's also not as fast as MySQL until you start seeing many, many concurrent reads and writes, at which point it becomes faster. (this is due to different concurrency models in MySQL and PGSQL)

    If you do choose to give it a try, be sure and recompile your kernel (OpenBSD I assume) to handle SysV semaphores, messages, and shared memory, as Postgres relies upon these primitives.

    I think you may be pleased with the results; PGSQL has got much, much better over the past 2 years, and is the only reasonable open-source alternative to Oracle. It's also BSD-licensed. And I've never seen Postgres lose a committed transaction, though it used to have plenty of memory leaks (7.0.2 is a VAST improvement IMHO).

    Hiverworld uses OpenBSD and Postgres for their network security appliances, they may be willing to help you out if you choose this combination.

    Good luck with whatever you choose, I only recently discovered this site and have been enjoying it as I switch to OpenBSD on my laptop and other uniprocessor machines (firewalls, etc). You have some very stylish graphics as well, which are evocative of the general OpenBSD perfectionism; I'd love to see you extend that focus on correctness to your database ;-).

  3. By Nobody You'd Know () on

    [Note to Mr. Phillips: this isn't aimed at you. I'm willing to bet you've taken enough punishment without the following rant; please resist the urge to infer "I told you so" from this, as it is not implied :) ]

    IMHO, MySQL is a perfect example of what -can- be wrong with the free software frenzy we have today. Today, there are superior free databases, but they aren't being used because MySQL was available and in usable shape first. Nevermind that -by design- it doesn't even try to provide data integrity. People know it, therefore they use it.

    You can't really blame them for using what they know; that is what people do. However, it does not bode well for the claims of various people that "Open Source" or "Free Software" (with capital letters:) or whatever other great movement is going to produce universally superior software.

    Then again, this problem is not particular to free software. Quality suffers almost everywhere.

  4. By AngryAnon () on

    Man, it is a pity no one understands how much effort you are putting into this even of they DO. I also operate a completely free project (I cannot name it for self protection reasons) and am amazed at how ppl take it for granted that when you walk home from work, you will maintain this site. All the power to you man and I will keep it up too, the irony is in a few years the web (as we know it) may very well be gone.

    Anyway, I still give credit where credit is due, regardless of what you use to power the site, you still took your free() time to fix it - thx and keep it up.

    --OPenBSD convert


Copyright © - Daniel Hartmeier. All rights reserved. Articles and comments are copyright their respective authors, submission implies license to publish on this web site. Contents of the archive prior to as well as images and HTML templates were copied from the fabulous original with Jose's and Jim's kind permission. This journal runs as CGI with httpd(8) on OpenBSD, the source code is BSD licensed. undeadly \Un*dead"ly\, a. Not subject to death; immortal. [Obs.]