Embedded XML databases offer the same data management services as their client/server counterparts. Applications can get transactions, scalability, and reliability by storing data in an embedded XML database. Because the database code runs directly in the address space of the application, performance can be orders of magnitude better in an embedded XML database. However, embedded products require more sophistication on the part of the software developer and suit a narrower range of uses. End users generally cannot use embedded XML databases directly. An application programmer must write code to store and retrieve XML documents in the database.