Microsoft is improving the database features of Azure, with a number of features shown off at Build 2017, Microsoft's annual developer conference.

Among a number of data related announcements, Cosmos DB was the most interesting. It is a continuation of Document DB, Microsoft's NoSQL database, but the changes make Cosmos DB more of a replacement rather than an upgrade.

Cosmos DB is a globally distributed, multi-model database service that lets you scale throughput and storage independently across any number of Azure's geographic regions.

Scott Guthrie, executive vice president of the Microsoft Cloud and Enterprise group, said Cosmos DB provides:

“the first globally distributed, multi-model database service delivering turnkey global horizontal scale out with guaranteed uptime and millisecond latency at the 99th percentile.”

The core of Azure Cosmos DB was started in 2010 for internal use within Microsoft for large scale applications. The service was made available more widely as Azure DocumentDB, and Azure Cosmos DB is the next stage in the development. DocumentDB users and their data will be moved automatically to Azure Cosmos DB.

Under the covers, Cosmos DB is based on a write optimized database engine that is resource governed and schema-agnostic. In other words, all data is automatically indexed without you having to define schema or indexes. Cosmos DB natively supports multiple data models: key-value, documents, graphs, and columnar. Developers also get APIs for accessing data including MongoDB and DocumentDB SQL. Preview versions of APIs for Gremlin and Azure Tables are also included.

One problem faced by all distributed databases is that of ensuring consistency, and most current distributed databases let you choose between strong and eventual consistency. Essentially, the trade-off is whether the system insists on fully replicating the data for a write operation to be considered complete, so ensuring strong consistency but high latency, or whether it allows reading of potentially incorrect data before changes are replicated.

The Cosmos DB team says it supports five consistency models from strong, through bounded staleness, session, consistent prefix, to eventual, with latency getting lower, availability increasing, and read scalability increasing from the strong to the eventual.

Alongside the announcement of Cosmos DB, Microsoft also announced new Azure Databases for MySQL and PostgreSQL at Build. This will mean you can use MySQL and PostgreSQL without having to set up, administer and work within VMs, instead using the platform-as-a-service model. The services will offer an alternative to Azure SQL.Microsoft is also offering a preview of a migration service that takes data from on-premises Microsoft SQL Server and Oracle databases, and migrates it to Azure SQL Database.

PHP is focus for this roundup of external blog posts. While PHP may not be the most trendy web development language, it is what is behind the scenes of many of the websites we use daily. Here we prese [ ... ]