DyBASE

Delete This Page: unrelated to Common Lisp

DyBASE is one of a number of Database systems which Konstantin Knizhnik has implemented. It can be used to provide persistence for PHP, Ruby, and Python, and is based on the same core as the object-relational GigaBASE? database. It can be found at http://www.garret.ru/~knizhnik/

From the documentation:

"DyBASE is very simple object oriented embedded database for languages with dynamic type checking. The specific of such languages is that types of class instance variables are not known at compiler time. Moreover the same instance variable can be used to store integers and string and later be assigned reference to some other object. So it means that database could not keep information about object format in class descriptor and should store type for each instance variable. DyBASE provides APIs to the most popular scripting languages with OO extensions: PHP, Ruby and Python.

DyBASE is easy to use and provide high performance. It is intended to be used in applications which needs to deal with persistent data in more sophisticated way than load/store object tree provided by standard serialization mechanism. Although DyBASE is very simple, it provides fault tolerant support (ACID transactions) and concurrent access to the database.

The main advantage of DyBASE is tight integration with programming language. There is no gap between database and application data models - DyBASE directly stores language objects. So there is no need in packing/unpacking code, which has to be written for traditional relational databases. Also DyBASE (unlike many other OODBMS) requires no special compiler or preprocessor. And still it is able to provide high level of transparency."


What am I missing? Is this related to Lisp somehow? -- Erik Enge


I'm assuming he means that it would be a snap to put together an object database for Lisp using this. -- Johannes Grødem


That's right. The 0.01 release came 20.03.2003. The 0.03 release came 27.03.2003 which means that it is brand new and something to look at. -- Alexander Kjeldaas


Adding CLOS support to DyBASE or another product of the same author, GOODS stops mainly by the ill-assorted FFI implementation in Lisp systems... -- Victor Sovetov


What exactly was it that makes it impossible (or even only unlikely) to create a FFI binding to it? In what way are the FFI implementations of Lisp systems (all?) "ill-assorted"? Maybe UFFI would be enough to create bindings to DyBASE but did not look at it very carefully (neither UFFI nor DyBASE) -- Jochen Schmidt


And if it *is* impossible (or even only unlikely) to support CLOS, what possible value does this have on a CL wiki?


Heh... UFFI looks like great stub for starting something with Lisp<->C interaction :), especially for making bindings to Knizhnik's products. Writing a MOP layer to support his databases shouldn't be hard to implement...

CLiki pages can be edited by anyone at any time. Imagine a fearsomely comprehensive disclaimer of liability. Now fear, comprehensively