A Backend to tie them all?
-
Upload
ldapcon -
Category
Technology
-
view
586 -
download
2
description
Transcript of A Backend to tie them all?
A backend to tie them all ?
Apache Software Foundation member
Chairman of MINA project
PMC of Apache Directory Project
IKTEK Owner (www.iktek.com)
www.iktek@com, [email protected]
Emmanuel Lécharny
What is the Backend anyway ?
Entries+
Indexes
Entries/Index
dn: dc=example,dc=comobjectclass: topobjectclass: domaindc: example
dn: cn=user1,dc=example,dc=comobjectClass: topobjectClass: personcn: user1sn: User one
dn: cn=user2,dc=example,dc=comobjectClass: topobjectClass: personcn: user2sn: User two
Criteria
Performance
Size
Cost
reliability
In MemoryBackend
In memory Backend
Internal data structures :
Btrees,
AVLs,
HashMap,
Lists,
...
In Memory Backend Usage
Cache
Ultra-fast server
No local storage
Tests
In Memory Backend
PerformanceSize
Cost
reliability
LDIFBackend
LDIF Backend
version: 1
dn: dc=example,dc=comobjectclass: topobjectclass: domaindc: example
dn: cn=user1,dc=example,dc=comobjectClass: topobjectClass: personcn: user1sn: User one
dn: cn=user2,dc=example,dc=comobjectClass: topobjectClass: personcn: user2sn: User two
LDIF Backend Usage
Configuration
Schema
Tests
LDIF Backend
Performance
Size
Cost
reliability
BTreeBackend
BTree Backend
BTree Backend
Various possible
Implementations
Btree, B+tree, B*Tree, ...
BTree Backend
Average Worst Case
Space O( n ) O( n )
Search O( log n ) O( log n )
Insert O( log n ) O( log n )
Delete O( log n ) O( log n )
BTree Backend
Usage :
Pretty much everything
Improvements :
Hashed keys
Cache
MVCC Backend
Performance
Size
Cost
reliability
MVCCBackend
MVCC Backend
MVCC Backend
Usage :
Pretty much everything
MVCC Backend
PerformanceSize
Cost
reliability
RDBMSBackend
RDBMS Database
RDBMS Backend
Usage :
Existing DBAs...
ApacheDS experimentation :Oracle Partition
http://svn.apache.org/viewvc/directory/apacheds/branches/ldif-partition/oracle-partition/?pathrev=982537
RDBMS Backend
Performance
SizeCost
reliability
NoSQLBackend
NoSQL Backend
Distributed File SystemDistributed Configuration Service
NoSQL Backend
Usage :
Replicated backend
Huge base
ApacheDS experimentation :http://www.stefan-seelmann.de/media/presentations/3rdOpenHUG2010_Seelmann_ApacheDirectoryHBase.pdf
http://svn.apache.org/repos/asf/directory/sandbox/seelmann/
NoSQL Backend
Performance
SizeCost
reliability
Thanks!