Download Now

Specifications :: db4o v8.0


Platforms

Java
  • J2EE
  • J2SE
  • Android (Open Handset Alliance)
  • Supported Frameworks: Spring, OSGi, DataNucleus, Restlet, Griffon, Guice
.NET
  • .NET Framework (3.5, 4.0)
  • .NET Compact Framework (2.0-3.5)
  • Windows (XP, Vista)
  • Windows Mobile / PocketPC, Windows Phone
  • Mono (partial)
  • Supported Frameworks: Castle, Eiffel, Spring.net

Languages

Java
  • JDK 5+
  • Scala
.NET
  • C#
  • Visual Basic

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
Transparent Persistence
  • Programmatic or via byte-code instrumentation

Query Languages / APIs

Object oriented
  • LINQ
  • Native Queries (NQ)
  • Query By Example (QbE)
  • S.O.D.A.
SQL
  • Only via replication to many relational databases
  • With Third-Party products (e.g. DataNucleus' Sql4o)
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
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
  • Big Sets

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), via Hibernate (Java only)
  • db4o to Versant Object Database (VOD, 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 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
  • Defragmentation API available

Internationalization

Unicode
  • Available

Refactoring

Schema Versioning
  • Automatic recognition and maintenance
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
Minimal RAM footprint
  • Application-dependent; deterministic; typically < 3 MB
Maximum DB file size
  • 254 GB / database file