<pre><tt><tt>Date: July 31st, 2007<br>Time: 7 PM<br>Location: 242 Bell Hall, UB North Campus<br><br>Topic: Embedded Databases - Ben Bixby<br>Agenda:<br><br>Intro<br>    What is an embedded database?<br>    How do they work<br>    What are the advantages<br>    What are the disadvantages<br>    Why/When would you want to use one<br><br>Some available embedded databases<br>    BerkeleyDB<br>    Cache::FastMmap<br>    Embedded MySQL<br>    File System<br>    GDBM_File<br>    SQLite<br><br>Using embedded databases<br>    Code should be abstract<br>    Might want to swap database type<br>    Some are better than others for certain purposes<br>    Performance<br>    Correctness<br>    Concurrency<br><br>Abstract embedded database code<br>    Data Access Layer (DAL)<br>    init<br>    get<br>    set<br>    list<br>    remove<br><br>Correctness<br>    Does the database do what you need how you need<br>        LRU<br>        Automatic resizing<br>    Does it work as
 expected<br><br>Concurrency<br>    Special considerations for a multi-process environment<br>    Readers<br>    Writers<br>    Locking<br>    Synchronization<br><br>Performance comparison<br>    Is it fast enough for your application<br>    Benchmarking<br><br>Conclusion<br>    Get requirements straight<br>    Reduce pain</tt></tt></pre>