Menu

Specification

silex6

This is WhiteBear technical specification. Scope of this page is to give some ideas and guidelines on how the database engine should be implemented. As the database management software is an old industry, many technologies mentioned are well known, documented, and of course already used in current commercial and free software. Knowledge on the covered technologies is not required, as the covered technologies are explained in this specification.

Main Topics

Covered features

The below features can be implemented following the specification:

  • Database server and component usage (so-called embedded database)
  • Zero-administration database
  • Single-file database with paged and memory mapped access
  • Support for both relational and object databases (both relational and object APIs)
  • Multi-processor support (option dependant, see micro-thread scheduler)
  • Support for standard function-based API, as CLI, ODBC, JDBC and OLE DB.
  • Support for standard object-based API, like the ODMG object model and JDO.
  • ACID transaction (READ COMMITED and SERIALIZABLE standard modes)
  • SQL-99 compatible parser with object support.
  • Support for LOB, Full-text and bitmap indexes
  • Unicode and collation support
  • Cursor support
  • Standard INFORMATION_SCHEMA support
  • Triggers and tracing support
  • Stored procedures and views
  • High portability and platform independency

Not covered

The features below will not be implemented following this specification:

  • SAVEPOINTs
  • Fragmentation
  • Design and administration tools (see note)
  • Data compression

Technology usage

Here are some of the technologies that are mentioned in this specification:

  • Shadow paging
  • B+ trees and bitmap indexes
  • Multi version concurrency control and garbage collection
  • Serialized transactions through 2 phase locking protocol.
  • Timeout based deadlock detection.
  • Memory mapping
  • Multilanguage collation through Unicode standard tables
  • Relational algebra
  • Pipes-and-filters architecture
  • Coroutines and threads
  • Message-passing.
  • Cost-based optimization
  • Merge sort and join.
  • Indexed pattern filtering
  • Hierarchical locking with intent locks.
  • Serialization and object factories
  • Frameworks
  • Stateless connections.
  • Persistence

Related

Wiki: CLI_API
Wiki: Catalog_management
Wiki: Disk_cache
Wiki: File_format
Wiki: General_architecture
Wiki: Notification
Wiki: Object_API
Wiki: Object_storage
Wiki: Physical_engine
Wiki: Query_factory
Wiki: Runtime_framework
Wiki: SQL_Parser
Wiki: Server_process
Wiki: Set_engine
Wiki: User_tools
Wiki: Whitebear

MongoDB Logo MongoDB