Ir al contenido principal

Ralsina.Me — El sitio web de Roberto Alsina

Unknown jewels of Unix: NoSQL

I have known about Car­lo Strozzi's NoSQL for about 6 years. I don't think many oth­ers do (it's google score is 39500, com­pared with 81200000 for MySQL) , and I think it's a shame, be­cause it's a much more in­ter­est­ing idea.

What is it? It's a re­la­tion­al data­base.

Sure, I can al­most hear you think [1] , "like Mysql!" or "like Post­gres!" and you are wrong be­cause it's very dif­fer­en­t.

NoSQL is a re­la­tion­al data­base im­ple­ment­ed in AWK and op­er­at­ed via the unix shel­l. Yes, NoSQL is the most unixy RDBMS in the world. So all of you so-­called unix lover­s, shell freak­s, you are gonna love this.

In­stalling it is per­haps a bit hard­er than it should (who knew there are no MAWK RPMs any­more!), but it seems to be packed for De­bian at least ;-)

You can learn to use NoSQL with a nice [2] tu­to­ri­al that was pub­lished on Lin­ux Jour­nal.

The ta­bles are plain text files, and lat­er you can do things like this (from the doc­s):

% column Item Cost Value < inventory |
row 'Cost > 50' | mean -l Value
Item   Cost  Value
----   ----  -----
3      80    400
6      147   13083
7      175   875
----   ----  -----

Is­n't that cool? What it does is take the in­ven­to­ry table, se­lect over col­umns Item, Cost, Val­ue the rows with Cost > 50, then cal­cu­late the mean of the Val­ue col­umn :-)

It even sup­ports re­port­s, join­s, a bazil­lion things.

Hon­est­ly, I am not sure I can find a prac­ti­cal use for it [3], but it is a great piece of soft­ware, writ­ten by a ded­i­cat­ed guy, it is ex­treme­ly orig­i­nal, and it does work. I'd even say it's pret­ty pow­er­ful, and you must ac­cep­t, it's unixy as all hel­l.

So, Car­lo Strozzi, here's a toast for you and NoSQL. You are cool.

[1] So good is my hear­ing

[2] Sad­ly it's quite old

[3] I did on­ce, but that was when I was a re­al pro­gram­mer ;-)

an anonymous coward / 2006-04-04 04:48:

AWK and shell script are 'standards' in fact in UNIX

Why do use a "not standard" query language ?

Fergie / 2006-04-04 04:49:

Hmmm, I am not sure why this is better than *awk or sed. What _would_ be interesting is a language that could query data text files (such as *.csv) using sql as the query language, thus removing the need to use awk (even though it awk is so cool and unixy godammit that I would keep on using it anyway)

Grohl / 2006-04-04 04:50:

Yes. I means something like that : a uniform way for access. In this case, ANSI SQL. Could be a plugin or extension for NoSQL :-)

This would require , maybe, a more complex parser, but has got advantages:

- known for many people. A global interface is a good feature

- portability. Maybe I would like migrate from my MySQL personal database to NoSQL, but I wouldn't like rewrite my SQL sentences into NoSQL query languages. Maybe quick, but maybe not.

Disadventages: change name project !!! :-) and lost personality. And I like project with personality.

( Sorry my poor English )

Contents © 2000-2024 Roberto Alsina