…the embedded database company tm gizmo databases margo seltzer sleepycat software and harvard...
TRANSCRIPT
![Page 1: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/1.jpg)
…the embedded database company tm
Gizmo Databases
Margo Seltzer
Sleepycat Software and Harvard University
June 10, 1999
![Page 2: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/2.jpg)
2
What Is a Gizmo Database?
• Gizmo:– A device, not a general-purpose computer– Application oriented– Examples: toaster, telephone, lightswitch– Also: an LDAP server, messaging servers,
DHCP servers
• A gizmo database is a database for a gizmo.
![Page 3: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/3.jpg)
3
Why Do Gizmos Have Databases?
• Gizmos have computers.
• Once there is a computer, people can't help but collect data.
These are not your normal Enterprise databases.
![Page 4: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/4.jpg)
4
Outline
• A summary of the 1999 SIGMOD panel on "small" databases.
• Working definition of an embedded database.
• Challenges in embedded databases.
• Berkeley DB as an embedded database.
• Conclusions.
![Page 5: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/5.jpg)
5
The SIGMOD Panelon Gizmo Databases
• Honey, I shrunk the database.– Emphasis on mobility more than embedded.
• Panelists– CTO: Cloudscape– VP of mobile and embedded systems: Sybase– Founder of Omniscience: built ORDBMS that
was sold to Oracle as Oracle Lite– Me
![Page 6: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/6.jpg)
6
Caveats
• You are getting my (biased) interpretation of the panel.
• You are also getting my (biased) definition of what embedded database systems are.
• You are getting my (biased) definition of what is important.
The SIGMOD Panel
![Page 7: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/7.jpg)
7
What Is the Domain?
• Different points of view:– Mobility is the key.– Embedded is the key.
• These lead to very different perspectives.
The SIGMOD Panel
![Page 8: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/8.jpg)
8
Cloudscape
• They sell a persistent cache.
• If there is no backing database, a persistent cache is a database.
• Key features:– ability to run anywhere– ability to synchronize with main database– rich schema
The SIGMOD Panel
![Page 9: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/9.jpg)
9
Sybase
• Three products:– SQL Anywhere: dialect of SQL for use on
small platforms.– UltraLite: allows you to construct a application-
specific server for a particular database application
– MobiLink: allows automatic synchronization with an enterprise database
The SIGMOD Panel
![Page 10: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/10.jpg)
10
Sybase, continued
• Key features:– ability to synchronize with a main database– full SQL support
The SIGMOD Panel
![Page 11: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/11.jpg)
11
Oracle/Omniscience
• Developed with small footprint in mind.
• (Omniscience) Goal was robustness, not mobile or embedded support.
• Oracle target is mobile applications.
The SIGMOD Panel
![Page 12: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/12.jpg)
12
Oracle/Omniscience, continued
• Key features:– small footprint– Object-relational model– Java support– database synchronization
The SIGMOD Panel
![Page 13: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/13.jpg)
13
Sleepycat
• Target is embedded applications, not mobile.
• "Users" are other programs, not people.
• General-purpose query interface not important.
The SIGMOD Panel
![Page 14: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/14.jpg)
14
Sleepycat, continued
• Key features:– transparency (can't tell you exist)– small footprint– high performance– not necessarily related to any enterprise
application
The SIGMOD Panel
![Page 15: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/15.jpg)
15
Major Points of Agreement
• Footprint matters.
• Implementation language does not matter.
• Wireless networking does not change the landscape much.
The SIGMOD Panel
![Page 16: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/16.jpg)
16
Major Points of Disagreement
• Does SQL matter?
• What is the application domain?
The SIGMOD Panel
![Page 17: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/17.jpg)
17
Outline
• A summary of the 1999 SIGMOD panel on "small" databases.
• Working definition of an embedded database.
• Challenges in embedded databases.
• Berkeley DB as an embedded database.
• Conclusions.
![Page 18: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/18.jpg)
18
Embedded Databases:A Working Definition
• Embedded in an application.
• End-user transparency.
• Instant recovery required.
• Database administration is managed by application (not DBA).
Not necessarily the same as mobile applications.
Working Definition
![Page 19: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/19.jpg)
19
Outline
• A summary of the 1999 SIGMOD panel on "small" databases.
• Working definition of an embedded database.
• Challenges in embedded databases.
• Berkeley DB as an embedded database.
• Conclusions.
![Page 20: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/20.jpg)
20
Challenges inEmbedded Databases
• Hands-off administration.
• Simplicity and robustness.
• Low latency performance.
• Small footprint.
![Page 21: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/21.jpg)
21
The User Perspective
• Traditionally, database administrators perform:– backup and restoration– log archival and reclamation– data compaction and reorganization– recovery
Challenges
![Page 22: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/22.jpg)
22
The User Perspective, continued
• In an embedded application, the application must be able to perform these tasks:– automatically– transparently
• Challenges are similar to the fault tolerant market, except– smaller, cheaper systems– no redundant hardware
Challenges
![Page 23: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/23.jpg)
23
Backup on Big Gizmos
• Fairly traditional meaning– Create a consistent snapshot of the database– Snapshots taken hourly, daily, weekly, etc.
• Special requirements– Hot backups– Restoration on a different system
Challenges: The User Perspective
![Page 24: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/24.jpg)
24
Backup on Small Gizmos
• This is not your standard tape backup!
• Opportunistic synchronization.
• Explicit synchronization.
• Backup to a remote repository.
Challenges: The User Perspective
![Page 25: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/25.jpg)
25
Log Archival and Reclamation
• Probably only necessary on big gizmos.
• Users do not manage logs (they don't want to know they exist).
• Logs cannot take up excessive space.
• Must be able to backup and remove logs easily.
• Intimately tied to backup.
Challenges: The User Perspective
![Page 26: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/26.jpg)
26
Data Compaction and Reorganization
• Important for big gizmos.
• No down time.
• No user (DBA) input.– When and what to reorganize– How to reorganize
• Simple dump and restore
• Change underlying storage type
• Add/Drop indices
Challenges: The User Perspective
![Page 27: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/27.jpg)
27
Recovery
• Instantaneous (especially for small gizmos).
• Automatically triggered.
• Cannot ask the end-user any questions.
• Must support reinitialization as well as recovery.
Challenges: The User Perspective
![Page 28: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/28.jpg)
28
The Developer’s Perspective
• Small footprint.
• Short code-path.
• Programmatic interfaces.
• Configurability.
Challenges
![Page 29: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/29.jpg)
29
Small Footprint
• Small gizmos are resource constrained.
• Large gizmos are (probably) running a complex application– The database is only a small part of it
• Small gizmos compete on price:– He who runs in the smallest memory wins.
Challenges: The Developer’s Perspective
![Page 30: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/30.jpg)
30
Short Code Path
• Read: Fast
• Big gizmos compete on performance:– The right speed matters (not TPC-X).
• Most gizmos do not need general-purpose queries.
• Queries are either hard-coded or restricted.
Challenges: The Developer’s Perspective
![Page 31: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/31.jpg)
31
Programmatic Interfaces
• Small footprint + short code-path = programmatic interface.
• ODBC and SQL add overhead:– size– complexity– performance
Challenges: The Developer’s Perspective
![Page 32: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/32.jpg)
32
Programmatic Interfaces, continued
• Note that Sybase UltraLite + SQL Anywhere creates custom server capable of executing only a few specific queries.– So why support SQL?
• “Programmatic” can imply multiple languages.
Challenges: The Developer’s Perspective
![Page 33: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/33.jpg)
33
Configurability
• Gizmos come in all different shapes and sizes.– May not have a file system.– May be all non-volatile memory.– May not have user-level.– May not have threads.
• Data manager must be happy under all conditions.
Challenges: The Developer’s Perspective
![Page 34: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/34.jpg)
34
Outline
• A summary of the 1999 SIGMOD panel on "small" databases.
• Working definition of an embedded database.
• Challenges in embedded databases.
• Berkeley DB as an embedded database.
• Conclusions.
![Page 35: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/35.jpg)
35
Berkeley DB
• What is Berkeley DB?
• Core Functionality
• Extensions for embedded systems
• Size
![Page 36: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/36.jpg)
36
What Is Berkeley DB?
• Database functionality + UNIX tool-based philosophy.
• Descendant of the 4.4 BSD hash and btree access methods.
• Full blown, concurrent, recoverable database management.
• Open Source licensing.
Berkeley DB
![Page 37: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/37.jpg)
37
Using Berkeley DB
• Multiple APIs– C– C++– Java– Tcl– Perl
Berkeley DB
![Page 38: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/38.jpg)
38
Data Model
• There is none.
• Schema is application-defined.
• Benefit: no unnecessary overhead.– Write structures to the database.
• Cost: application does more work.– Manual joins.
Berkeley DB
![Page 39: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/39.jpg)
39
Core Functionality
• Access methods
• Locking
• Logging
• Shared buffer management
• Transactions
• Utilities
Berkeley DB
![Page 40: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/40.jpg)
40
Access Methods
• B+ Trees: in-order optimizations.
• Dynamic Linear Hashing.
• Fixed & Variable Length Records.
• High concurrency queues.
Berkeley DB
![Page 41: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/41.jpg)
41
Locking
• Concurrent Access– Low-concurrency
mode
– Lock at the interface
– Allow multiple readers OR single writer in DB
– Deadlock-free
• Page-oriented 2PL– Multiple concurrent
readers and writers
– Locks acquired on pages (except for queues)
– Updates can deadlock
– In presence of deadlocks, must use transactions
Both can be used outside of the access methods to provide stand-alone lock management.
Berkeley DB
![Page 42: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/42.jpg)
42
Logging
• Standard write-ahead logging.
• Customized for use with Berkeley DB.
• Extensible: can add application-specific log records.
Berkeley DB
![Page 43: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/43.jpg)
43
Shared Buffer Management(mpool)
• Useful outside of DB.
• Manages a collection of caches pages.
• Read-only databases simply mmapped in.
• Normally, double-buffers with operating system (unfortunately).
Berkeley DB
![Page 44: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/44.jpg)
44
Transactions
• Uses two-phase locking with write-ahead logging.
• Recoverability from crash or catastrophic failure.
• Nested transactions allow partial rollback.
Berkeley DB
![Page 45: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/45.jpg)
45
Utilities
• Dump/load
• Deadlock detector
• Checkpoint daemon
• Recovery agent
• Statistics reporting
Berkeley DB
![Page 46: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/46.jpg)
46
Core Configurability
• Application specified limits:– mpool size– number of locks– number of transactions– etc.
• Architecture: utilities implemented in library.
Berkeley DB
![Page 47: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/47.jpg)
47
Configuring the Access Methods
• Btrees:– sort order: application-specified functions.– compression: application-specified functions.
• Hash:– application-specified hash functions.– pre-allocate buckets if size is specified.
Berkeley DB
![Page 48: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/48.jpg)
48
Configuring OS Interaction
• File system– explicitly locate log files– explicitly locate data files– control over page sizes– etc.
• Shared memory– specify shared memory architecture (mmap,
shmget, malloc).
Berkeley DB
![Page 49: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/49.jpg)
49
Extensions forEmbedded Systems
• So far, everything we've discussed exists.
• The rest of this talk is R & D.– Areas we have identified and are working on
especially for embedded applications.
Berkeley DB
![Page 50: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/50.jpg)
50
Automatic Compression and Encryption
• Mpool manages all reading/writing from disk, byte-swapping of data.
• Library or application-specified functions can also be called on page read/write.
• Using these hooks, we can provide:– page-based, application-
specific compression
– page-based, application-specific encryption
– Encrypted key lookup
Berkeley DB: Futures
![Page 51: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/51.jpg)
51
In-Memory Logging and Transactions
• Transactions provide consistency as well as durability.
• This can be useful in the absence of a disk.
• Provide full transactional capabilities without disk.
Berkeley DB: Futures
![Page 52: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/52.jpg)
52
Remote Logs
• Connected gizmos might want remote logging.
• Example:– Set top box may not have disk, but is connected
to somewhere that does– Enables automatic backups, snapshots,
recoverability
Berkeley DB: Futures
![Page 53: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/53.jpg)
53
Application Shared Pointers
• Typically we copy data from mpool to the application.– This means pages do not remain pinned at the
discretion of the application.
• In an embedded system, we can trust the application.
• Sharing pointers saves copies; improves performance.
Berkeley DB: Futures
![Page 54: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/54.jpg)
54
Adaptive Synchronization
• Shared memory regions must be synchronized.• Normally, a single lock protects each region.• In high-contention environments, these locks can
become bottleneck.• Locking subsystem already supports fine-grain
synchronization.• Challenge is correctly adapting between the two
modes.
Berkeley DB: Futures
![Page 55: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/55.jpg)
55
Size Statistics
Berkeley DB
LinesText Data BSS of Code
Access methods (total) 108,697 52 0 22,000Locking 12,533 0 0 2,500Logging 37,367 0 0 8,000Transactions/Recovery 26,948 8 4 5,000Include 15,000Total 185,545 60 4 52,500
Object Size in Bytes
![Page 56: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/56.jpg)
56
Outline
• A summary of the 1999 SIGMOD panel on "small" databases.
• Working definition of an embedded database.
• Challenges in embedded databases.
• Berkeley DB as an embedded database.
• Conclusions.
![Page 57: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/57.jpg)
57
Conclusions
• Embedded applications market is bursting.• Data management is an integral part.• This is a fundamentally different market from the
enterprise database market, and requires a fundamentally different solution.
• Lots of challenges facing embedded market.• Winners will make the right trade-off between
functionality and size/complexity.
![Page 58: …the embedded database company tm Gizmo Databases Margo Seltzer Sleepycat Software and Harvard University June 10, 1999](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d205503460f949f4cd0/html5/thumbnails/58.jpg)
…the embedded database company tm
Come visit us in Booth #401!Margo Seltzer
Sleepycat Software
http://www.sleepycat.com