summaryrefslogtreecommitdiffstats
path: root/libraries/upscaledb/README
blob: 8de72d231569544be66da329f73642dbc7ce3782 (plain)
upscaledb is a database engine written in C/C++. It is fast,
production-proven and easy to use.

Features:
- Very fast sorted B+Tree with variable length keys
- Basic schema support for POD types (i.e. uint32, uint64, real32 etc)
- Very fast analytical functions
- Can run as an in-memory database
- Multiple databases in one file
- Record number databases ("auto-increment")
- Duplicate keys
- Logging and recovery
- Unlimited number of parallel Transactions
- Transparent AES encryption
- Transparent CRC32 verification
- Various compression codecs for journal, keys and records using zlib,
  snappy, lzf
- Compression for uint32 keys
- Network access (remote databases) via TCP/Protocol Buffers
- Very fast bi-directional database cursors
- Configurable page size, cache size, key sizes etc
- Runs on Linux, Unices, Microsoft Windows and other architectures
- Uses memory mapped I/O for fast disk access (but falls back to
  read/write if mmap is not available)
- Uses 64bit file pointers and supports huge files (>2 GB)
- Easy to use and well-documented
- Open source and released under APL 2.0 license
- Wrappers for C++, Java, .NET, Erlang, Python, Ada and others

Optional auto-detected dependencies:
- snappy
- protobuf or protobuf3