Interview: Avi Bryant on DabbleDB, Smalltalk and Persistence
DabbleDB is built on Squeak Smalltalk and uses the Seaside web framework. Avi discusses Seaside's influences, such as WebObjects (when WebObjects was still written in Objective-C).
DabbleDB doesn't use an RDBMs - instead it uses Smalltalk's image concept to store data. A Smalltalk VM can persist the state of the VM to disk, basically performing a core dump. The VM can later load the image and continue running the program from the point where the image was persisted, similar to the way tools like VMWare can suspend, store, and later resume execution of a virtualized machine.
DabbleDB uses this capability to persist data, but also to easily move applications between servers. The data in DabbleDB can also be extracted with a tool that walks all the domain objects and stores this object graph to disk - which allows to update the code in the Smalltalk seperatly from the data.
The interview contains more information - such as whether Seaside applications need to use continuations, the Smalltalk SCM tool Monticello, whether lack of kernel threads is a problem for Squeak and more.
Watch "Avi Bryant on DabbleDB, Smalltalk and Persistence".
Ben Linders May 28, 2015