Prev: Buy Genuine Google Adsense Account only for Rs.200/- for indian people.
Next: Getting Windows ACLs in Java
From: Jim Janney on 1 Apr 2010 15:11 I need to maintain a data base of small text snippets keyed by arbitrary strings, without the overhead of a full SQL relational database. We will have several people putting data into it so it needs to support concurrent access over a network. JDBM catches my eye (http://jdbm.sourceforge.net/) but I can't find any place that says whether it supports concurrent access or not. Berkeley DB would be perfect but would need a license from Oracle since this is a commercial product. Gdbm apparently does not support concurrent access. TDB (http://sourceforge.net/projects/tdb/) looks good but would require a JNI interface and probably some work to get it to compile under Windows. Any recommendations? I can do JNI if neccessary but would be just as happy not to need to. I need something I can get going quickly -- management wants it yesterday, as usual... -- Jim Janney
From: Arne Vajhøj on 1 Apr 2010 15:38 On 01-04-2010 15:11, Jim Janney wrote: > I need to maintain a data base of small text snippets keyed by > arbitrary strings, without the overhead of a full SQL relational > database. We will have several people putting data into it so it > needs to support concurrent access over a network. > > JDBM catches my eye (http://jdbm.sourceforge.net/) but I can't find > any place that says whether it supports concurrent access or not. > Berkeley DB would be perfect but would need a license from Oracle > since this is a commercial product. Gdbm apparently does not support > concurrent access. TDB (http://sourceforge.net/projects/tdb/) looks > good but would require a JNI interface and probably some work to get > it to compile under Windows. > > Any recommendations? I can do JNI if neccessary but would be just as > happy not to need to. I need something I can get going quickly -- > management wants it yesterday, as usual... Why are you so sure that a full SQL relational database has too much overhead? They work. They are widely used. They are optimized a lot. They support ACID. Chosing some rarely used ISAM package, that may have concurrency problems & other bugs and may not even be optimized very well seems as a high risk for little gain to me. Sure Google, Yahoo, Facebook etc. uses NOSQL databases today. But they can also afford to spend 2 digit millions of dollars on the development without blinking. Can you? Arne
From: Jim Janney on 1 Apr 2010 16:08 Arne Vajhøj <arne(a)vajhoej.dk> writes: > On 01-04-2010 15:11, Jim Janney wrote: >> I need to maintain a data base of small text snippets keyed by >> arbitrary strings, without the overhead of a full SQL relational >> database. We will have several people putting data into it so it >> needs to support concurrent access over a network. >> >> JDBM catches my eye (http://jdbm.sourceforge.net/) but I can't find >> any place that says whether it supports concurrent access or not. >> Berkeley DB would be perfect but would need a license from Oracle >> since this is a commercial product. Gdbm apparently does not support >> concurrent access. TDB (http://sourceforge.net/projects/tdb/) looks >> good but would require a JNI interface and probably some work to get >> it to compile under Windows. >> >> Any recommendations? I can do JNI if neccessary but would be just as >> happy not to need to. I need something I can get going quickly -- >> management wants it yesterday, as usual... > > Why are you so sure that a full SQL relational database has > too much overhead? Five years of experience using a relational database in the application for which this is intended. They're great for some things, and we use it for those things. This is not one of them. > They work. They are widely used. They are optimized a lot. > They support ACID. > > Chosing some rarely used ISAM package, that may have > concurrency problems & other bugs and may not even be optimized > very well seems as a high risk for little gain to me. > > Sure Google, Yahoo, Facebook etc. uses NOSQL databases > today. But they can also afford to spend 2 digit millions > of dollars on the development without blinking. Can you? If I had time to debate this I wouldn't have asked the question. I was hoping someone might have a quick, constructive suggestion. -- Jim Janney
From: Spud on 1 Apr 2010 16:19 Jim Janney wrote: > I need to maintain a data base of small text snippets keyed by > arbitrary strings, without the overhead of a full SQL relational > database. We will have several people putting data into it so it > needs to support concurrent access over a network. > > JDBM catches my eye (http://jdbm.sourceforge.net/) but I can't find > any place that says whether it supports concurrent access or not. > Berkeley DB would be perfect but would need a license from Oracle > since this is a commercial product. Gdbm apparently does not support > concurrent access. TDB (http://sourceforge.net/projects/tdb/) looks > good but would require a JNI interface and probably some work to get > it to compile under Windows. > > Any recommendations? I can do JNI if neccessary but would be just as > happy not to need to. I need something I can get going quickly -- > management wants it yesterday, as usual... > Google "key value stores". There are a bunch of them. Unfortunately most aren't very far along yet, and some have way more overhead than I think you want. But Tokyo Cabinet gets good reviews, as do a few others.
From: Arne Vajhøj on 1 Apr 2010 16:43 On 01-04-2010 16:08, Jim Janney wrote: > Arne Vajhøj<arne(a)vajhoej.dk> writes: >> On 01-04-2010 15:11, Jim Janney wrote: >>> I need to maintain a data base of small text snippets keyed by >>> arbitrary strings, without the overhead of a full SQL relational >>> database. We will have several people putting data into it so it >>> needs to support concurrent access over a network. >>> >>> JDBM catches my eye (http://jdbm.sourceforge.net/) but I can't find >>> any place that says whether it supports concurrent access or not. >>> Berkeley DB would be perfect but would need a license from Oracle >>> since this is a commercial product. Gdbm apparently does not support >>> concurrent access. TDB (http://sourceforge.net/projects/tdb/) looks >>> good but would require a JNI interface and probably some work to get >>> it to compile under Windows. >>> >>> Any recommendations? I can do JNI if neccessary but would be just as >>> happy not to need to. I need something I can get going quickly -- >>> management wants it yesterday, as usual... >> >> Why are you so sure that a full SQL relational database has >> too much overhead? > > Five years of experience using a relational database in the > application for which this is intended. They're great for some > things, and we use it for those things. This is not one of them. And the simple solution of buying some more powerful database hardware is not an option? >> They work. They are widely used. They are optimized a lot. >> They support ACID. >> >> Chosing some rarely used ISAM package, that may have >> concurrency problems& other bugs and may not even be optimized >> very well seems as a high risk for little gain to me. >> >> Sure Google, Yahoo, Facebook etc. uses NOSQL databases >> today. But they can also afford to spend 2 digit millions >> of dollars on the development without blinking. Can you? > > If I had time to debate this I wouldn't have asked the question. I > was hoping someone might have a quick, constructive suggestion. The fact that using a relational database does not perform well does not guarantee that a non-relational database will perform well. That is just wishful thinking. If you ask questions for free in a public forum, then you should be prepared for suggestions about other approaches than the one you prefer. Arne
|
Next
|
Last
Pages: 1 2 3 Prev: Buy Genuine Google Adsense Account only for Rs.200/- for indian people. Next: Getting Windows ACLs in Java |