Description
LDBA is a high-performance, low-memory-footprint, single-file embedded database for key/value storage and retrieval written in pure PHP.
It is inspired by Erlang's Dets and Berkeley DB sofware and includes implementation of extended linear hashing for fast key/value access and implementation of a fast buddy storage allocator for file space management.
LDBA supports insertion and deletion of records and lookup by exact key match only. Applications may iterate over all records stored in a database, but
the order in which they are returned is undefined. Fault tolerance is achieved by automatic crash recovery thanks to transactional style writes. The size of LDBA files cannot exceed 2GB.
LDBA provides functions compatible with php_dba (Database Abstraction Layer) for easy adoption in existing software.
Requirements: PHP 5.4+
The library is being used, for example, as base storage interface in the PrivMX WebMail software.
LDBA alternatives and similar libraries
Based on the "Database" category.
Alternatively, view LDBA alternatives based on common mentions on social networks and blogs.
-
Doctrine Extensions
Doctrine2 behavioral extensions, Translatable, Sluggable, Tree-NestedSet, Timestampable, Loggable, Sortable -
ProxyManager
🎩✨🌈 OOP Proxy wrappers/utilities - generates and manages proxies of your objects -
Eloquent
[READ ONLY] Subtree split of the Illuminate Database component (see laravel/framework) -
Baum
Baum is an implementation of the Nested Set pattern for Laravel's Eloquent ORM. -
Idiorm
A lightweight nearly-zero-configuration object-relational mapper and fluent query builder for PHP5. -
Propel
Propel2 is an open-source high-performance Object-Relational Mapping (ORM) for modern PHP -
Doctrine2 Behaviors
Doctrine2 behavior traits that help handling Blameable, Loggable, Sluggable, SoftDeletable, Uuidable, Timestampable, Translatable, Tree behavior -
Spot2
Spot v2.x DataMapper built on top of Doctrine's Database Abstraction Layer -
Aura.SqlQuery
Independent query builders for MySQL, PostgreSQL, SQLite, and Microsoft SQL Server. -
Cake ORM
[READ-ONLY] A flexible, lightweight and powerful Object-Relational Mapper for PHP, implemented using the DataMapper pattern. This repo is a split of the main code that can be found in https://github.com/cakephp/cakephp -
Elasticsearch Eloquent
⚡️ Models like Eloquent for Elasticsearch. -
Simple MySQLi Class
:gem: Simple MySQLi Abstraction Layer + Doctrine/DBAL support -
PHP library access Firebase RESTful API
A working Firebase http client -
Symfony-RDM
Helps with the use of domain driven design & rich domain model in symfony / doctrine applications. -
LazyRecord
The fast ORM for PHP. (This is a history repo, please visit maghead/maghead)
Updating dependencies is time-consuming.
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of LDBA or a related project?
Popular Comparisons
README
LDBA - a fast, pure PHP, key-value database.
Information
LDBA is a high-performance, low-memory-footprint, single-file embedded database for key/value storage and retrieval written in pure PHP.
It is inspired by Erlang's Dets and Berkeley DB sofware and includes implementation of extended linear hashing for fast key/value access and implementation of a fast buddy storage allocator for file space management.
LDBA supports insertion and deletion of records and lookup by exact key match only. Applications may iterate over all records stored in a database, but the order in which they are returned is undefined. Fault tolerance is achieved by automatic crash recovery thanks to transactional style writes. The size of LDBA files cannot exceed 2GB.
LDBA provides functions compatible with php_dba (Database Abstraction Layer) for easy adoption in existing software.
Requirements: PHP 5.4+
The library is being used, for example, as base storage interface in the PrivMX WebMail software.
Instalation
Run the following command to install the lib via composer:
composer require simplito/ldba-php
An example
$dbh = ldba_open("test.ldb", "c");
if (ldba_exists("counter", $dbh)) {
$counter = intval(ldba_fetch("counter", $dbh));
} else {
$counter = 0;
}
ldba_replace("counter", $counter + 1);
ldba_close($dbh);