Mark R.D. Jones

A few of DabbleDB’s foundations

Modest and incomplete links to conceptual descriptions and publicly available components created or used by the developers in implementing the online database DabbleDB, along with a modest description of a couple of aspects of non-public components. Embedded in Avi Bryant’s numerous talks are passing references to DabbleDB’s design and implementation, especially during its development and early public use, 2005 through 2008: Avi Bryant’s Presentations. The DabbleDB blog outlines some of the thinking that went into development.

Seaside Smalltalk web application framework
History of Seaside Smalltalk web framework
Initially created by by Avi Bryant, Julian Fitzell and others.
(first publicly released as version 0.9 in 2002)

Winning the Application Server Arms Race: Using Smalltalk to Redefine Web Development (PDF)
Avi Bryant (keynote), Smalltalk Solutions Conference (STS) 2004, Seattle WA (May 2004)
(Summary of keynote speech, starting on the 3rd or 4th page.)
Also, James Robertson’s summary of Avi’s presentation (May 3, 2004)

  • “Seaside is to other smalltalk web toolkits as Smalltalk is to most other Object Oriented programming languages; it’s as simple as that.” Cees de Groot.
  • “Seaside is not (just) better, but better in the same way that Smalltalk is better, by using live objects not dead data.” Avi Bryant

Monticello Smalltalk version control
Motivations behind Monticello version control system for Smalltalk (Colin Putney & Julian Fitzell, July 24, 2003)
Monticello was initially worked on by Avi Bryant, Colin Putney, Julian Fitzell and others.

CSV parser
Parsing comma separated values (CSV) from a file or data stream. Avi Bryant published a CSV parser-reader in 2005 on the Smalltalk open source repository, SqueakSource.

Data persistence
A custom object-oriented data base was developed, which resides in the user’s Smalltalk image. When active on the server, the data is loaded in RAM, with the image. When swapped out, the entire image and data is saved to disk. Apparently commercial OODB backends were considered, such as Gemstone, but licensing costs were too high to incorporate into DabbleDB.
• Does DabbleDB use a database? (May 17, 2006) (Seaside mailing list.)
• Ask YC: Object databases (October 30, 2007)
• Examples of in-image data persistence: Ramon Leon, Simple Image Based Persistence in Squeak (January 14, 2008); and Sean DeNigris, Smalltalk Simple Image-based Persistence (May 30, 2011).

Easy migration of data
Data Refactoring for Amateurs (slides) Avi Bryant – Dynamic Languages Symposium 2006

Rapid development
Avi Bryant estimated in a 2006 interview that in the vicinity of two and a half man-years of effort went into the initial launch of DabbleDB.


Comments are closed.