Non-SQL Linux Databases and ToolsThis page attempts to
list all of the Free or Open Source databases available on
Linux that do not fit cleanly into the SQL arena
(SQL databases are covered on a separate page). Thus,
this page lists OODBMS'es, xBase-style databases and tools,
Pick-compatible systems, free-text systems, and a variety of
other, hard-to-pigeonhole database systems.
Why use a non-SQL database?Why does one want a
non-traditional database? What's wrong with SQL? Why not use an
established SQL database, of which there are many? There are
several unappealing aspects, several shortcomings of SQL.
Because the mainstream SQL vendors are too pre-occupied with
other things, you cannot easily find tools to deal with these
issues. And so one turns to non-traditional databases. Some of
these issues are:
- Premature Codification
- Also Known As "fast setting concrete". In SQL, you must
define your tables and fields and the relationships between
them, pretty much before you can do anything else. Great
for version 1.0 of 'your app here', but for version
2.0, you typically want to change your tables and fields
all around. That, and you wnat to be compatible with
version 1.0 to keep your users happy. In SQL, it turns out
this is really hard.
-
-
Typically, your have to write a lot of extra code to
migrate your 1.0 user to your 2.0 table layout. Dealing
with intermediate versions is almost worse: adding
small things for 'your version 1.1' often
causes changes to cascade through your code. So we
conclude: SQL may be great for mature applications. But
for rapidly-developing new applications, it can be a
real blocker to progress. Different tools, or maybe
some whiz-b ang layr over SQL is needed.
- No Automatic Table-to-Object Mapping
-
If you code in an object-oriented style (and almost
everyone does these days), you will find yourself
developing a layer whose only function is to map SQL
tables to the objects that your program really uses,
and then back again. This is a real waste of time and
effort, and one can easily leave with the impression
that this process can almost be automated. The 'Holy
Grail' would be 'SQL object persistance-on-demand',
some tool that automatically took and instance of your
object, and, on command, stored it or retreived it from
an SQL database. Although the differences between
tables in a database and the objects that your
program/application/GUI actually uses can be subtle, it
sure would be nice of most of this task was automated.
Synonyms: Object-relational mapping.
Object Query Systems
- QOF
- QOF, the Query
Object Framework allows a collection of C/C++
objects to be queried, returning a list of matching
objects. Notable in that it does not require (or provide) a
database backend. QOF can act as an object cache: if a SQL
or other database backend is defined, then the queries can
be passed to them. QOF is an offshoot of the GnuCash project, where
it is used as the accounting-independent part of the data
engine. GPL'ed. Disclosure: I maintain this project.
Object-Oriented Databases (OODBMS)
- FramerD
- FramerD is
an object-oriented database especially designed for
frames-and-slots style knowledgebase programming. It is
optimized for pointer-intensive data structures, that is,
for semantic networks, where many items reference other
items. Distributed, can run over multiple networked
machines. Uses a scheme-like scripting language.
Implemented in C, and has Java and Lisp interfaces. Runs on
Windows, Many Unix's. GPL'ed.
-
- MOOD-SX
- MOOD-SX is
a research project to build a database system for making
queries over collections of irregular data. GPL'ed.
-
- Ozone
- Ozone is a
Java-based OODBMS. GPL'ed.
-
- XL2
- XL2 is a Java
Serialized Object datastore. GPL'ed.
-
- POET
-
POET offers
a variety of object database products and services.
Proprietary.
POET Persistent
Objects and Extended Database Technology- ist das
führende Objekt Datenbanksystem für Desktops,
Workstations und lokale Neztwerke.
- SHORE
-
Shore - A
Scalable, High-Performance, Persistent Object
Repository.
- LINCKS
- LINCKS is
an object-centered multi-user database system. The original
file release is a research prototype from the University of
Rinkjobing; this doesn't seem to be an active proejct.
GPL'ed.
Specs, standards, other information
-
An overview of the ODMG 3.0 specification, from the
Object Data Management Group, which specifies the object
model, the query language, the language bindings for
object-relational database systems.
Other Non-SQL Databases
dBase/xBase/Clipper
Compatible Databases
Pick and
Pick-Compatible Databases
Other non-SQL
Databases
Portions
copyright (c)
1996-2003 Linas Vepstas.
|