In the sidebar to Part 4 of this series, I'll sketch the alternatives to Oracle, and tell how you can decide for yourself between them. Computing specialists are likely to label this general category persistence methods or simply data. Database is reserved for more specific capabilities. A general-purpose data system has fixed basic operations such as read, write, create, update, and so on. In contrast, a developer-defined transaction system collects basic operations into an aggregate that is meaningful at the application level.
Transactions are more than just a conceptual or design device.
That's why Greenspun dismisses MySQL in the text of this installment. For the simple task of storing and retrieving individual data elements, MySQL is quite capable and reliable. However, a MySQL developer who needs his transactions to observe the ACID rules which Philip describes in the article must write all his own logic. These ideas are fundamental to all data management operations. The particular datastore you use might advertise itself as relational, object-oriented, directory, XML, hierarchical, or a combination of these.