db4o open source object database
About Developers Customers
Specifications :: db4o V7.0
Skip Navigation Links.

Platforms

Java
  • J2EE
  • J2SE
  • J2ME with reflection: CDC, PersonalProfile, Symbian, JavaFX Mobile and Zaurus; on demand(2): J2ME w/o reflection (CLDC and MIDP), including RIM/Blackberry and Palm OS.
  • Android (Open Handset Alliance)
  • Harmony
  • Supported Frameworks: Spring, OSGi, Tomcat, JPOX
.NET
  • .NET Framework (1.0(1), 2.0, 3.0, 3.5)
  • .NET Compact Framework 1.0(1), 2.0
  • Windows (XP, Vista)
  • Windows Mobile / PocketPC
  • Mono(1)
  • Supported Frameworks: Castle, Eiffel, Spring.net
Cross-platform
  • Connect to .NET server with Java client
  • Connect to Java server with .NET client

Languages

Java
  • JDK 1.1.x - JDK 6.0
.NET
  • All managed .NET languages
    (C#, VB.NET, ASP.NET, Boo, Managed C++ etc.)

Commands

Sessions
  • Start and end
Database files
  • Create, open, close, and delete
Transactions
  • Commit, and Rollback
Objects
  • Store, retrieve, update (incl. cascaded), replicate, delete (incl. cascaded)
Messaging
  • TCP/IP

Transparency

Language constructs
  • Primitive types
  • Strings
  • Arrays
  • Multi-dimensional arrays
  • Inner classes
  • Java/C# collections
  • Classes without public constructors
  • .NET structs
  • Blobs (stored outside of DB file)
Non-Intrusive
  • Without deriving from a specific base class
  • Without implementing a specific interface
  • Without modifications to source code
  • Without implementing Serializable
Private Fields
  • Storable
File I/O
  • Pluggable
Reflector
  • Pluggable
  • Generic
Aliases
  • Class aliasing for class-to-class mappings

Query Languages / APIs

Object oriented
  • Native Queries (NQ)
  • Query By Example (QbE)
  • S.O.D.A.
SQL
  • Via replication to many relational databases
XML
  • With Third-Party products (e.g., Xstream)

Modes / Concurrency

Operation Modes
  • Local
  • Client/Server
Threads
  • Multiple
Transactions
  • Multiple, parallel
Semaphores
  • Available
Read-Only Mode
  • Available

Scalability and Performance

Performance benchmark
Examples of Scalability
In Memory Mode
  • Available
Client-side
  • Single-process execution available
Server-side
  • Server-side query execution available
DB-aware Collections
  • Available
Object Caching
  • Available
Pagination
  • Server-side cursors (lazy queries)
Indexing
  • BTree field indexes
  • BTree query processor

Replication

db4o Replication System (dRS)
  • 100% object-oriented: simply replicate objects, not tables
  • Uni- and bi-directional
  • db4o to db4o
  • db4o to relational databases (RDBMS), wrapped in Hibernate (Java only)
  • Hibernate/RDBMS to Hibernate/RDBMS (Java only)
UUID
  • Unique Universal Identity over all DB instances
Synchronization
  • Querying
  • Update
  • Delete
  • Conflict resolution

Reporting

For Java objects
For .NET objects

Security and Encryption

DB file Protection
  • Password
DB file Encryption
  • Simple database encryption
  • Pluggable File I/O for custom encryption
  • With Third-Party products (e.g., XTEA)

Availability, Reliability, Zero-Admin

Transactions
  • ACID
  • Commit-recovery on system failures
Thread Safety
  • Available
Automatic Recovery
  • Available
Online-Backup
  • Available
Free Space Management
  • Available

Internationalization

Unicode
  • Available

Refactoring

Schema Versioning
  • Automatic recognition and maintenance
Schema Merge
  • Available
Renaming
  • Classes, fields by API
  • Access to values of removed fields by API or with ObjectManager UI

Memory and file size

DB library footprint
  • <1 MB
  • Small footprint (~600k) available on demand(2)
Minimal RAM footprint
  • Application dependent; deterministic; below 3 MB for all but one PolePosition benchmark (www.polepos.org)
Maximum DB file size
  • 254 GB / database file
Class size
  • No increase when persisted
Instance size
  • No increase when persisted

(1) available through 3rd party providers or db4o developer community projects
(2) available on demand, built to order against services contract



Mobile Database | Java Database | .NET Database | Mono Database | Android Database | LINQ Database
Object Database | Open Source Database | Embedded Database | Database Benchmark | C# Database
Visual Basic Database | Symbian Database | Pocket PC Database | Compact Framework Database