A common idea in modern applications is that they \u201crun forever\u201d. That\u2019s a fine objective, and a valuable one. But it is elusive, particularly for applications that were never cloud-native in the first place. And it raises quite fundamental issues at the data management layer of the stack. Diamonds may be forever but they are non-trivial to produce; applications that are forever may be nearly as challenging to create.\nDowntime cost estimates generally produce arresting numbers, but for many CIOs they don\u2019t really tell the story. Your downtime costs could be measured in hundreds of dollars per hour or millions of dollars per hour, and your downtime risks could be measured in billions of dollars. An automated trading system that is down during a market correction event could quickly represent a multi-billion dollar loss. But in truth downtime is no longer about the costs and risks of crisis. It has become the new norm: \u201cAll systems up, all the time.\u201d Welcome to nonstop IT.\nSo we have become quite excited about redundant microservices that neatly avoid overload by \u201cjust adding nodes,\u201d and that enable graceful node failure by seamlessly redirecting load to live nodes. Elastic microservices address both capacity adjustment and transparent failover at the application layer. Nice.\nNonstop IT is also how BlueGreen has gone from a classic Crayola color to a model for continuous deployment of applications, the Julia Child approach of one-I-prepared-earlier. Switching over between full application stacks at the web service level is an elegantly blunt solution for live application evolution.\nSo for all greenfield applications that are stateless, the recipe for nonstop IT is in place. For everything else there is, of course, a much bigger problem. The world of databases, specifically, is considerably more challenging.\n\u201cBest practices\u201d for zero-downtime with databases are \u201cbest\u201d not because they are good ideas, but because of a paucity of alternatives. Planned database downtime and unplanned database downtime are the hardest challenges as we strive for the plenty-of-nines service-level agreement (SLA).\nHigh availability (HA) solutions for traditional relational database management systems (RDBMS) are complex and fragile. The RDBMS administrator is faced with a spectrum of alternatives, with a set of trade-offs for each. A typical answer to live upgrades is to use Oracle Data Guard to create an active standby and bravely leap from old to new. In the best case, these help to reduce downtime but are not architected as zero-downtime solutions. And naturally, the people and tools costs can be quite significant.\nThe dream is a database system with:\n\nNo single point of failure (SPOF)\nDynamic provisioning\nPush-button backup and restore\nOnline maintenance (upgrades, schema changes, storage management, etc.)\nEasy automation of administrative tasks\nA Jobs-esque insane simplicity of usage\n\nYou might call that a \u201ccloud-native database.\u201d\nIf the nonstop IT imperative leads away from traditional single-server databases and toward cloud-native databases, then what realistic alternative directions are emerging for an organization building and migrating applications for elastic infrastructures? The answers really fall into three categories:\n\nDatabase as a service (DBaaS)\nNoSQL solutions\nElastic SQL solutions\n\nDBaaS offerings are pay-by-the-drink services available from cloud providers (IaaS) and third parties. The great advantage is that the challenges of managing the service are not your problem. You pay for a service with an SLA, and someone else takes care of how it is performed. However, there is typically much less functional and operational flexibility than is usually expected for enterprise applications. And there is much less control.\nNoSQL solutions provide database capabilities that have advantages in terms of scale-out. Unlike traditional database systems, they are neither single-server solutions nor tightly clustered solutions. This enables them to provide resilience to failure and much better support for nonstop IT. On the downside, NoSQL solutions do not use the industry-standard query language (SQL) and do not provide the data guarantees (such as consistency and durability) that traditional databases provide and that applications generally expect.\nElastic SQL solutions aim to provide all of the advantages of a SQL RDBMS but with all the capabilities of a cloud-native database system. Applications interact with them in an identical manner to the way that they interact with a traditional database system, but under the covers the system is built as an elastic, distributed system. The disadvantage is that most of elastic SQL solutions are relatively young -- only just out of beta or have varying degrees of SQL support. The trick here is to find one that has been in production use for a few years so that the bugs have all been worked out, and with sufficient SQL support such that you can easily migrate your existing applications.\nDifferent answers are appropriate in different circumstances, of course. But if your strategic need is to deliver nonstop IT, then it may be time to review your plans on data management. An always-on application needs an always-on database system, and naturally enough that was never a design objective of the client-server RDBMS.