RDBMS Rage
December 19, 2010 4:26 PM   Subscribe

Every time I try to get a RDBMS for home use, I run into a problem that is so boring or annoying to deal with that I give up.

I'm a developer. You would think it would be easy for me to pick an RDBMS, but it's not.

I had spent many hours entering my data into an Oracle database, then I decided to reformat my hard drive. Of course I backed everything up, and of course I couldn't easily restore my tables after reinstalling everything. I spent a few hours trying to figure it out, then realized that although it was probably possible to restore my tables, it could potentially take me just as long as recreating the database and re-entering the data would take.

This is always the point at which I get fed up and try something else. I know as a developer I should just LOVE problems like this and my heart should be filled with JOY and ENTHUSIASM at yet another chance to use my problem solving skills, but really, I don't have time for that shit. I get 10 hours a day of bug fixing at work. All I want is to slap an RDBMS on my system and start working. I don't have eight years to spend on configuration settings or God knows what.

Other things that make me give up are: it doesn't have a foreign key; I think I'm just installing a MySQL implementation but it turns out to expect me to have already rectally inserted PHP which means 18 hours spent screaming at a stack trace with absolutely no hope whatsoever of ever forcing a configuration into place; the front-end is ugly or flaky; the download site is confusing and is actively trying to prevent me from downloading the product; the download takes three weeks and/or requires me to jump through hoops of fire and/or is so enormous that it obliterates my whole hard drive; the download site requires me to register with a password so strong even I don't know what it is and then requires a login on every other page and has chipping that locks me out after my third login failure; and on and on.

I tried TapForms and got annoyed because I couldn't easily figure out how to link forms on a field value. Don't get me wrong, I'm sure it can be done and done easily. I'm just sick of every single minute I have to spend figuring it out. I spent about ten minutes on it before giving up in disgust. I have been creating databases for ten effing years, please don't make me have to spend ten minutes figuring out stuff that should be really obvious.

Yes, I'm a disgrace to my profession and I have a bad attitude, &c. But does anybody know of a RDBMS I can just slap on my system and start using right out of the box? Bonus points if there's an easy way of getting a front end that's usable through my iPhone and desktop, but really, I'll be happy just to have a desktop version.

I'd be the only user. It's purely for personal use.
posted by tel3path to Computers & Internet (23 answers total) 2 users marked this as a favorite
 
You could install mysql via WAMP or XAMPP. Bonus: PHP and Apache come with it.
posted by !Jim at 4:33 PM on December 19, 2010


What problem are you trying to solve with the database?
posted by gjc at 4:33 PM on December 19, 2010 [2 favorites]


Try WAMP for Windows or MAMP for Mac. You'll get phpMyAdmin and you should be good to go (although I don't know what you mean by "rectally inserted PHP".... installation?)
posted by chrillsicka at 4:34 PM on December 19, 2010


What about something using Sqlite? What features do you need anyway?
posted by gregglind at 4:36 PM on December 19, 2010


Response by poster: I've tried WAMP, MAMP and XAMPP. They went like this: nearly works! (tweak setting) nearly works! (tweak setting) nearly works! (stack trace) despair. I go through this cycle every few months with always the same result. I do not want anything to do with PHP. I've had experienced friends spend hours
trying to configure it for me, to absolutely no avail. It's the main reason I decided against Wordpress - I couldn't get past the PHP issues.

All I need is the usual stuff, tables, views, foreign keys, that sort of thing. Only a few hundred records per table.
posted by tel3path at 5:21 PM on December 19, 2010


MS SQL Server has a free edition, is very easy to set up with the MS Web Platform Installer, and has a fantastic set of GUI management tools. Microsoft also supplies their own (officially supported) PHP driver.

I'm a *nix guy most of the time, but find MS-SQL to actually be a joy to work with on small installations.
posted by schmod at 5:31 PM on December 19, 2010 [1 favorite]


You still haven't exactly provided any info on what you wanna do. RDBMS for home use and you started with Oracle?

Depending your use case, why dont you just use text files? If that's not structured enough, there's always SQLite, a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine. It stores the database in one file. Easy backup.
posted by aeighty at 5:34 PM on December 19, 2010 [1 favorite]


From the problems you describe, ("how to link forms on a field value", &c.) I don't think you want an RDBMS, which is a back-end engine that stores relational data and runs SQL queries but doesn't normally include the front-end tool that lets you build a graphical user interface to the data. You want a form layout tool with an integrated backing store, like Access or Filemaker. How about Access, or Filemaker?

If you actually just need a full-featured RDBMS, you could install PostgreSQL from source and use the 'psql' command-line tool to define, populate, and query the tables, or install a packaged version and use the pgAdmin graphical query tool.
posted by nicwolff at 5:35 PM on December 19, 2010


I'm really confused here. I'm a great big geeky dorky nerd, and I can't imagine any reason I need a relational database at home. I barely need one at work.

If you're hacking on a personal project, and you want a backing store, I recommend either SQLite or BerkeleyDB (or its gnockoff). SQLite does basic SQL stuff, while BDB implements a simple Key:Value store (although it provides indexes, so you can do some extensive stuff with it).

If you just want a database to, like, keep track of your CDs and your underwear, then you should find something like Access. I'm sure there's a FOSS implementation. However, I've never needed one, so I haven't searched.

All that to say: Oracle, MySQL, and Postgres are all way more goddamn trouble than I can ever, in a million years, imagine being worth on my home systems. I fucking hate configuring the bastards at work; I can't imagine any need whatsoever that would require them in my home.
posted by Netzapper at 5:44 PM on December 19, 2010 [2 favorites]


Yeah, Sqlite + CrunchyFrog should be adequate on a FOSS system for hobby-scale use. You can back up sqlite simply by copying the database file.
posted by i_am_joe's_spleen at 5:53 PM on December 19, 2010


I have a cheap webhosting account that provides mysql that I use for all this kinda stuff. All the configuration is taken care of, not really a headache at all.

I'm with netzapper -- I'm a professional web developer and I don't know that I'd want to maintain any kind of db at home... or, at least, not on a windows box. With linux or whatever -- especially a distro like ubuntu -- installing all that stuff and keeping it current is pretty trivial.

Doesn't open office have some kind of an access clone now? I'd look at that before I went too much further...
posted by ph00dz at 5:54 PM on December 19, 2010


Why host your own? Throw it up on something like HostGator = implementation solved + backup solved.
posted by Lukenlogs at 5:59 PM on December 19, 2010


ph00dz: that'd be Open Office Base.
posted by i_am_joe's_spleen at 5:59 PM on December 19, 2010


Sqlite is simpler than MySQL since it is a file based embedded DB (as opposed to server based). What language do you want to use? Ruby, Javascript, or Perl + Sqlite are all about as easy as it gets. Rails + Ruby + Sqlite is still probably the fastest thing out their for quickie database backed web apps.

If Java is your preferred language, H2 has worked out well on one project I'm on. Standard JDBC interfaces. The usual front end UI hell.
posted by stp123 at 8:02 PM on December 19, 2010


I've tried WAMP, MAMP and XAMPP. They went like this: nearly works! (tweak setting) nearly works! (tweak setting) nearly works! (stack trace) despair. I go through this cycle every few months with always the same result. I do not want anything to do with PHP. I've had experienced friends spend hours trying to configure it for me, to absolutely no avail.
This is, I would have to say, rather puzzling. The one defining characteristic of those packages is that they Just Work. That's the whole point of them.

Perhaps you could try being a lot more specific? What exactly didn't work? What did your experienced friends say was the problem? Going by the different package names, you've tried this on Windows and Mac, and possibly other computers, but every time, you had problems so serious that, not just the Apache/PHP/MySQL combination, but PHP itself just plain didn't work?

More detail please.
posted by AmbroseChapel at 8:50 PM on December 19, 2010


If you're trying to get foreign key support, or transactional service in a MySQL database, the usual method is load the InnoDB engine (or one of its clones like XtraDB), and make sure all tables in your database design are type_InnoDB when created. It's not particularly cumbersome to configure MySQL to use InnoDB (a one line entry in the MySQL config file), and the binaries are readily available for most platforms, free for home/non-profit use; no PHP configuration required. InnoDB has some performance issues that make it non-optimal for large multi-user projects, but for what you want, it's simple, and effective.
posted by paulsc at 9:12 PM on December 19, 2010


Filemaker Pro Server Advanced. It's an RDBMS designed by Apple (and since spun off into its own company, tho Apple retains a controlling stake, IIRC.) Developers who use it swear by it, and are as annoying as iPhone or Mac zealots - and for much the same reason. Everything just works, and it offers a lot of power in a pretty interface.
posted by Slap*Happy at 6:29 AM on December 20, 2010


If you are hand entering data, you probably shouldn't be using a RDBMS. If you want iPhone and desktop access, why don't you use an online tool like DabbleDB or Zoho Creator?
posted by wongcorgi at 10:23 AM on December 20, 2010


DabbleDB went bye-bye in June.
posted by nicwolff at 6:19 PM on December 20, 2010


I just dropped in to express my sympathy. I love dbs and find them useful for all kinds of things. But I've never managed to get anywhere with anything on Ubuntu, to get the ease of use I really loved with Access and VB. (A love affair that lasted until MS destroyed all my prior work with "upgrades" on the controls. And now, I avoid MS as much as possible, and depend on Ubuntu, as a fall slowly into dementia for want of the proper brain exercise I always got from programming).
posted by Goofyy at 1:03 AM on December 21, 2010


Response by poster: Thanks everybody. I'd like to assure you that I do know what a database is for, and that I am not mistaken about wanting to use one, even though it's going to be a small one. Flat files aren't adequate for my purpose because I want to do a lot of complex querying.

The OpenOffice suggestion looked good. I remembered that although I'd failed with OpenOffice's database app in the past - I can't remember why since it was a few years ago - it obviously must have been updated since then, so I eagerly opened it up to try it.

Turns out I only had to jump through a few hoops to get it started http://wiki.services.openoffice.org/wiki/Documentation/FAQ/Platform/Mac_OS_X_10.6 and was able to open up a new db for editing after only about 20 minutes. So I happily created a test table and tried to add - oops, try again - oops, it's read only, maybe I have to grant myself permissions.... no, that's not it...

It turns out to be because it doesn't have a primary key http://user.services.openoffice.org/en/forum/viewtopic.php?f=39&t=5884 despite my having created one several times over, and I don't seem to be able to create one and make it stick despite saving the table over and over and over and over and over.

This is the point at which I usually decide it's not worth it and give up. I mean, if I can't even create a sodding primary key, why would I bother to keep trying? Even if I get past this, it'll only break the next thing, and the next. I would rather be able to create a primary key and have it stay created, and then be able to edit my table, without having to keep on looking up the reasons why I can't do these things.

"Perhaps you could try being a lot more specific? What exactly didn't work? What did your experienced friends say was the problem? Going by the different package names, you've tried this on Windows and Mac, and possibly other computers, but every time, you had problems so serious that, not just the Apache/PHP/MySQL combination, but PHP itself just plain didn't work?"

Ambrose, I see your point, but I don't have access to the computer my friend was working on (it was a work computer from a previous job) or indeed to the friend, who probably wouldn't remember anyway. And when I tried it at home, it was before I reformatted the hard drive. On my Mac (with XAMPP), I can't reproduce the problems because none of the logins I try are working and I'm not motivated to try any more. So I can't remember what was causing the problems (even if it had been completely clear) nor reproduce the fault. In any case, solving one error would invariably just cause another error to pop up somewhere else. So if I seemed to solve one problem it would just pop up again somewhere else. This has completely killed my motivation to ever deal with PHP again, despite the fact that it "just works".
posted by tel3path at 3:41 AM on December 21, 2010


Response by poster: ...cooling down, going to try some of the other suggestions...

GRAR.
posted by tel3path at 3:58 AM on December 21, 2010


Response by poster: Ahem.

I've downloaded the latest OpenOffice on my Windows machine and given the database a cautious poke.

This time it is letting me create and edit tables.

So I am going to cancel my slavering rampage of frustration and just keep going with this until I can't any more, whereupon I'll give another one of the suggestions a try.

Thanks, MeFites :-)
posted by tel3path at 1:46 PM on December 23, 2010


« Older Am I hosting a HSBC phishing scam?   |   Dear AskMeFi . . . Newer »
This thread is closed to new comments.