A Backend to tie them all?

994 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
994
On SlideShare
0
From Embeds
0
Number of Embeds
59
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

A Backend to tie them all?

  1. 1. A backend to tie them all ?
  2. 2. Emmanuel Lécharny Apache Software Foundation member Chairman of MINA project PMC of Apache Directory Project IKTEK Owner (www.iktek.com) www.iktek@com, elecharny@iktek.com
  3. 3. What is the Backend anyway ? Entries + Indexes
  4. 4. Entries/Index dn: dc=example,dc=com objectclass: top objectclass: domain dc: example dn: cn=user1,dc=example,dc=com objectClass: top objectClass: person cn: user1 sn: User one dn: cn=user2,dc=example,dc=com objectClass: top objectClass: person cn: user2 sn: User two
  5. 5. Criteria Performance Size Cost reliability
  6. 6. In Memory Backend
  7. 7. In memory Backend Internal data structures : Btrees, AVLs, HashMap, Lists, ...
  8. 8. In Memory Backend Usage Cache Ultra-fast server No local storage Tests
  9. 9. In Memory Backend Performance Size Cost reliability
  10. 10. LDIF Backend
  11. 11. LDIF Backend version: 1 dn: dc=example,dc=com objectclass: top objectclass: domain dc: example dn: cn=user1,dc=example,dc=com objectClass: top objectClass: person cn: user1 sn: User one dn: cn=user2,dc=example,dc=com objectClass: top objectClass: person cn: user2 sn: User two
  12. 12. LDIF Backend Usage Configuration Schema Tests
  13. 13. LDIF Backend Performance Size Cost reliability
  14. 14. BTree Backend
  15. 15. BTree Backend
  16. 16. BTree Backend Various possible Implementations Btree, B+tree, B*Tree, ...
  17. 17. BTree Backend Average Worst Case Space Search O( n ) O( n ) O( log n ) O( log n ) Insert O( log n ) O( log n ) Delete O( log n ) O( log n )
  18. 18. BTree Backend Usage : Pretty much everything Improvements : Hashed keys Cache
  19. 19. MVCC Backend Performance Size Cost reliability
  20. 20. MVCC Backend
  21. 21. MVCC Backend
  22. 22. MVCC Backend Usage : Pretty much everything
  23. 23. MVCC Backend Performance Size Cost reliability
  24. 24. RDBMS Backend
  25. 25. RDBMS Database
  26. 26. RDBMS Backend Usage : Existing DBAs... ApacheDS experimentation : Oracle Partition http://svn.apache.org/viewvc/directory/apacheds/branches/ldif-partition/oracle-partition/?pathrev=982537
  27. 27. RDBMS Backend Performance Size Cost reliability
  28. 28. NoSQL Backend
  29. 29. NoSQL Backend Distributed Configuration Service Distributed File System
  30. 30. 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/
  31. 31. NoSQL Backend Performance Size Cost reliability
  32. 32. Thanks!

×