Unoffical empeg BBS

Quick Links: Empeg FAQ | RioCar.Org | Hijack | BigDisk Builder | jEmplode | emphatic
Repairs: Repairs

Topic Options
#207122 - 26/02/2004 15:40 Need Database/Lib recommendations for a project...
hybrid8
carpal tunnel

Registered: 12/11/2001
Posts: 7738
Loc: Toronto, CANADA
Ok, here's the deal. I have minimal "real-world" database experience so I need some help to narrow down my search for suitable candidates to use in my project. I know there are people here with significant experience in this area, so I hope I can get some good suggestions.

Here some base requirements and concerns (though I can't give details of the actual project itself right now):

-The project is for Mac OS X. So any solution has to have compatible code available - or something easy to recompile if provided in source.

-Small memory footprint while in use is nice, small HD footprint for binaries and libraries is nice.

-This is not a commerce-server or anything related, so I'd like to stay away from an active-server setup that may require a heavy infrastructure on the machine just to deal with the database stuff.

-The project is an application that will have the ability to be run and quit and needs to access the data in the database at any time while it's active.

-There will also be some type of external cron type program that will also need access to the database.

-This project will be a commercial piece of software and we're sensitive on licencing fees for such database tools. A one time fee of a few hundred or even $1000 to $2000 is not unreasonable, but something like $1 per copy of the program is not acceptable. Free is also nice.

I'm sure there are any numbers of libraries out there for accessing data, but I'd also like something that isn't going to collapse when we decide to throw more records and fields at it, something that we can easily restructure without having to start from scratch.

Any help suggesting things to look at will be appreciated. I'll also answer more questions if needed, as I don't know if I've given enough information for people to make the best suggestions yet.

Thanks.

Bruno
_________________________
Bruno
Twisted Melon : Fine Mac OS Software

Top
#207123 - 26/02/2004 15:47 Re: Need Database/Lib recommendations for a projec [Re: hybrid8]
wfaulk
carpal tunnel

Registered: 25/12/2000
Posts: 16706
Loc: Raleigh, NC US
What kind of data access are you attempting? Is it going to be simple hashes or do you need complex SQL-like queries? Or something in between?
_________________________
Bitt Faulk

Top
#207124 - 26/02/2004 15:53 Re: Need Database/Lib recommendations for a project... [Re: hybrid8]
tman
carpal tunnel

Registered: 24/12/2001
Posts: 5528
SQLite? It's small and public domain so you can do what you like with it.

Top
#207125 - 26/02/2004 16:28 Re: Need Database/Lib recommendations for a project... [Re: hybrid8]
trs24
old hand

Registered: 20/03/2002
Posts: 729
Loc: Palo Alto, CA
Or possibly mSQL (miniSQL)? They say to contact them about redistributing mSQL with a product.

- trs
_________________________
- trs

Top
#207126 - 26/02/2004 17:05 Re: Need Database/Lib recommendations for a project... [Re: hybrid8]
Daria
carpal tunnel

Registered: 24/01/2002
Posts: 3937
Loc: Providence, RI
OS X server appears to come with mySQL. I'd guess, then, that it's had some work done to make it suitable for OS X. The databases I have for my own use are all PostgreSQL.

Top
#207127 - 26/02/2004 17:13 Re: Need Database/Lib recommendations for a projec [Re: wfaulk]
hybrid8
carpal tunnel

Registered: 12/11/2001
Posts: 7738
Loc: Toronto, CANADA
I would say that yes, the queries could be complex. I did forget to mention this. Ideally it would be possible to query on X + Y + Z.

Let me make an example. Let's ay my data will be a large index of recipe books and each book is a collection of recipes by different people. Recipes have names, ethnicities, date of origin, authors, ingredients, etc...

I may want to do a search for an Italian recipe that features a specific ingredient. Or any recipe that is in a book that has a title starting with Red and the recipe itself has the word Pie in its name and was written before 1990.

I have also been informed that it's quite the science knowing how to structure the database itself, including what to index, to make sure it is of a desired size (doesn't bloat), performs at a reasonable speed, etc...

Damn, I'm just the project coordinator and designer, not a database guru. I just know we need some type of one. We can make our own in house which would be suitable for a smaller number of indeces, but we could not develop something that is as robust as mySQL and that would stand up in performance to the same brute-force or convoluted searching.

Keep in mind I don't want to be saddled with having to run a daemon on the system at all times. Access should be able to be made dynamically by our application(s) whenever we need to. When we're not running there shouldn't be any overhead on the system other than the disk space our data takes up.

Thanks for the very fast responses. I knew this would be one of the best places to ask (when isn't it?)

Bruno
_________________________
Bruno
Twisted Melon : Fine Mac OS Software

Top
#207128 - 26/02/2004 20:53 Re: Need Database/Lib recommendations for a projec [Re: hybrid8]
wfaulk
carpal tunnel

Registered: 25/12/2000
Posts: 16706
Loc: Raleigh, NC US
You might check out Sleepycat Software. They have products that should fit your needs (I think -- not entirely sure how complex "select"s can be), but I've no idea of the cost or licensing.
_________________________
Bitt Faulk

Top
#207129 - 27/02/2004 17:52 Re: Need Database/Lib recommendations for a projec [Re: hybrid8]
AndrewT
old hand

Registered: 16/02/2002
Posts: 867
Loc: Oxford, UK
I have also been informed that it's quite the science knowing how to structure the database itself, including what to index, to make sure it is of a desired size (doesn't bloat), performs at a reasonable speed

A subject you should spend a bit of time reading up on before you design the database is database normalization. A rough description is available here.

It's covered in the meatier Sql books and I'm sure a Google will get you going too. I can't offer much more than that; all my books are packed ready to move house.

I think you need to strike a balance between learning 'enough' about normalization to 'get by' and spending too much time becoming an expert on this sub-topic of database design.

Top
#207130 - 28/02/2004 14:37 Re: Need Database/Lib recommendations for a projec [Re: AndrewT]
hybrid8
carpal tunnel

Registered: 12/11/2001
Posts: 7738
Loc: Toronto, CANADA
Thanks for this heads up. This is definitely something I'll do a little reading on and something I'll make sure I pass on to someone else to do a LOT of reading on.

I hope that at some point later in the year (perhaps the summer) I can open up the floor to takers for an early beta for this product. I know there are a number of people here that would be great subjects for both usability testing as well as technical bug-tracking.

Bruno
_________________________
Bruno
Twisted Melon : Fine Mac OS Software

Top