[squeak-dev] Squeak packages for accessing SQL databases and for report generation

Göran Krampe goran at krampe.se
Tue Mar 24 07:59:37 UTC 2009


Hi!

Mariano Martinez Peck wrote:
> That's why we developed (and we are still developing) SqueakDBX. With it,
> you can talk with mayor databases like PostgreSQL, MySQL, Oracle, SQL
> Server, Sqlite3, and so on.
[SNIP lots of nice info]

First of all - I really like the SqueakDBX project because it fills a 
hole that has been largely empty for quite some time and is very 
important in many projects. So having a good SqueakDBX will surely open 
up more uses for Squeak. Kudos!

Secodnly - the original question was about SQL and how to access legacy 
stuff I think, but there are several new interesting database 
alternatives around that is worth mentioning. I have toyed with two of 
them lately:

CouchDB. The "new hip" db in town. There is a working API on 
SqueakSource for it that uses the Curl plugin. I have also written a so 
called "view server" for Squeak so that you can define server side 
"views" in Squeak instead of Javascript. CouchDB is a very, very 
interesting piece of software. Kinda like an OODB but in web2.0 style 
with a REST API and JSON as native "object" format.

TokyoCabinet/TokyoTyrant. Another of these new hip dbs, although a 
lurker. Developed and used by "Japanese facebook" mixi.jp. It is a very 
attractive and extremely performant database with lots of cool features. 
I just published a first "almost complete" implementation of its binary 
Socket protocol on SS, project "TokyoTyrant".

Enough rant. :) I just find these new beasts to be "fresh air". For an 
example on how terribly easy it is to use TokyoTyrant:

1. Download and install TokyoCabinet and TokyoTyrant. There are packages 
and the "./configure; make; make install"-dance worked perfectly for me.

2. Start a vanilla TokyoTyrant server: Just type "ttserver" and press enter.

3. Install "TokyoTyrant" from SS. Then try a doit:

| db |
"This opens localhost:1978 by default"
db := TokyoTyrantDB new.
db open.

"Store a value at a key, will be converted to ByteArrays before stored"
db at: 'key' put: 'my little value'.

"Fetch value, if we use #at: we get a ByteArray back"
db stringAt: 'key'


There is also a test suite that should be green given that you started 
"ttserver" first. Note that the above is just a little bit of the API.

regards, Göran




More information about the Squeak-dev mailing list