Virtualization is Bad for Database Integrity

One of the lessons about Amazon’s cloud failure last week is that the cloud is incredibly overhyped. The cloud doesn’t necessarily deliver a lot of the things implicitly promised – such as improved uptime or reliability, or even cost savings. But the real problem with the cloud is that you actually get less database reliability than proper hardware. This is because each layer of indirection introduces an additional unknown that must be accounted for. Continue reading “Virtualization is Bad for Database Integrity”

Databases: Null is not a value

Many programming languages contain the concept of a null “value,” which can mean “nothing,” or may be precisely equal to integer zero. When encountering this in a database, it would be natural to assume it means roughly “nothing.” This is a naive, although workable definition of null. As we’ve seen, simplified and even incorrect definitions can nonetheless sometimes be helpful. In this case, it is better to have absolute clarity. Continue reading “Databases: Null is not a value”