Print

Print


On Mon, 12 Apr 2010, Jonathan Rochkind wrote:

> So, as usual, the right tool for the job. If all you really need is a 
> key-value store on ID, then a "NoSQL" solution may be the right thing.  But 
> if you need actual querrying and joining, then personally I'd stick with 
> rdbms unless I had some concrete reason to think a more complicated 
> "nosql"+solr solution was required.  Certainly if you are planning on using 
> Solr _anyway_ because your application is a search engine of some type, that 
> would lessen the incremental 'cost' of a nosql+solr solution.

I'm surprised that I keep hearing so much about "NoSQL" for key-value 
stores, and everyone seems to forget the *old* key-value stores, such as 
directory services (X.500 and LDAP, although that's actually the protocol 
used to query them, not the storage implementation).

Yes, there are things that LDAP doesn't do so well (relationships being 
one of them), but it supports querying, you can adjust the matching by 
attribute (ie, this one's matched as a number, this one's matched as a 
string, this one's a case insensitive string ... I think some 
implementations have functionality to run the search term through a 
functions for things like soundex, so it might be possible add hooks for 
stemming and query expansion, etc.)


I think that NoSQL got a lot of press because of Google having used it 
(and their having a *VERY* large data system -- but not everyone has that 
large of a system; also, Google did it 10+ years ago -- you can now 
through a lot more CPU and RAM at an RDBMS, so the point at which the 
database becomes a problem isn't the same as it was when Google first came 
out.)

...

So, I think that there are cases where NoSQL is the right solution for the 
job, and I think there are times when an DRBMS is the right solution ... 
there are also plenty of times for flat file databases, XML, LDAP, and a 
slew of other storage standards.

-Joe


hmm ... now I'm going to have to try to bring back my attempt to put my 
catalogs into a directory service ... I have a feeling I'm going to run 
into issues with unit conversions when searching.