Professional Documents
Culture Documents
(Download PDF) Azure SQL Hyperscale Revealed High Performance Scalable Solutions For Critical Data Workloads 1St Edition Zoran Barac Full Chapter PDF
(Download PDF) Azure SQL Hyperscale Revealed High Performance Scalable Solutions For Critical Data Workloads 1St Edition Zoran Barac Full Chapter PDF
https://ebookmass.com/product/azure-sql-hyperscale-revealed-high-
performance-scalable-solutions-for-critical-data-workloads-1st-
edition-zoran-barac/
https://ebookmass.com/product/developing-cloud-native-solutions-
with-microsoft-azure-and-net-build-highly-scalable-solutions-for-
the-enterprise-1st-edition-ashirwad-satapathi/
https://ebookmass.com/product/modern-data-architecture-on-azure-
design-data-centric-solutions-on-microsoft-azure-1st-edition-
sagar-lad/
https://ebookmass.com/product/practical-graph-structures-in-sql-
server-and-azure-sql-enabling-deeper-insights-using-highly-
connected-data-1st-edition-louis-davidson-2/
Practical Graph Structures in SQL Server and Azure SQL:
Enabling Deeper Insights Using Highly Connected Data
1st Edition Louis Davidson
https://ebookmass.com/product/practical-graph-structures-in-sql-
server-and-azure-sql-enabling-deeper-insights-using-highly-
connected-data-1st-edition-louis-davidson/
https://ebookmass.com/product/pro-sql-server-2022-wait-
statistics-a-practical-guide-to-analyzing-performance-in-sql-
server-and-azure-sql-database-3rd-edition-thomas-larock/
https://ebookmass.com/product/pro-sql-server-2022-wait-
statistics-a-practical-guide-to-analyzing-performance-in-sql-
server-and-azure-sql-database-3rd-edition-thomas-larock-2/
https://ebookmass.com/product/beginning-azure-functions-building-
scalable-and-serverless-apps-2nd-edition-rahul-sawhney/
https://ebookmass.com/product/beginning-azure-functions-building-
scalable-and-serverless-apps-2nd-edition-rahul-sawhney-2/
Azure SQL Hyperscale
Revealed
High-performance Scalable Solutions
for Critical Data Workloads
Zoran Barać
Daniel Scott-Raynsford
Azure SQL Hyperscale Revealed: High-performance Scalable Solutions for Critical
Data Workloads
Zoran Barać Daniel Scott-Raynsford
Resolution Drive, Auckland, 0930, New Zealand Victory Road, Auckland, 0604, New Zealand
Introduction�������������������������������������������������������������������������������������������������������������xv
Part I: Architecture����������������������������������������������������������������������������������������� 1
Chapter 1: The Journey to Hyperscale Architecture in Azure SQL��������������������������� 3
SQL on Azure��������������������������������������������������������������������������������������������������������������������������������� 5
The Basics of Azure SQL���������������������������������������������������������������������������������������������������������� 5
Azure SQL Platform as a Service�������������������������������������������������������������������������������������������������� 7
Deployment Models����������������������������������������������������������������������������������������������������������������� 9
Purchasing Models and Service Tiers����������������������������������������������������������������������������������� 10
Availability Models and Redundancy������������������������������������������������������������������������������������� 13
Standard Availability Model: Locally Redundant Availability�������������������������������������������������� 15
General Purpose Service Tier: Zone-Redundant Availability�������������������������������������������������� 16
Premium and Business Critical Service Tier: Locally Redundant Availability������������������������ 18
Premium and Business Critical Service Tier: Zone-Redundant Availability��������������������������� 19
Protecting Against Regional Outages Using Failover Groups with
Geo-redundant Availability���������������������������������������������������������������������������������������������������� 21
The Hyperscale Service Tier������������������������������������������������������������������������������������������������������� 22
Hyperscale Architecture Overview���������������������������������������������������������������������������������������� 24
Deploying Your First Hyperscale Database���������������������������������������������������������������������������� 25
Cleaning Up��������������������������������������������������������������������������������������������������������������������������� 34
Summary������������������������������������������������������������������������������������������������������������������������������������ 35
iii
Table of Contents
iv
Table of Contents
Deploying the Starting Environment Using the Azure Cloud Shell��������������������������������������� 133
Creating a SQL Administrators Group���������������������������������������������������������������������������������� 136
Deploying a Highly Available Hyperscale Database into a Virtual Network������������������������������� 139
Basic Configuration of the Database����������������������������������������������������������������������������������� 141
Configuring Network Connectivity��������������������������������������������������������������������������������������� 146
The Final Configuration Tasks and Deployment������������������������������������������������������������������� 150
Deleting the Example Environment������������������������������������������������������������������������������������������� 155
Summary���������������������������������������������������������������������������������������������������������������������������������� 157
Chapter 6: Configuring Transparent Data Encryption to Bring Your Own Key������ 171
Enabling Customer-Managed Key Transparent Data Encryption����������������������������������������������� 172
Creating a User-Assigned Managed Identity����������������������������������������������������������������������� 174
Granting the Key Vault Crypto Officer Role to a User����������������������������������������������������������� 175
Generating a Key in the Azure Key Vault������������������������������������������������������������������������������ 178
Granting Access to the Key by the User-Assigned Managed Identity���������������������������������� 180
Assigning the User-Assigned Managed Identity to the Logical Server�������������������������������� 182
Enabling Customer-Managed TDE��������������������������������������������������������������������������������������� 184
Summary���������������������������������������������������������������������������������������������������������������������������������� 185
v
Table of Contents
Chapter 10: Deploying Azure SQL DB Hyperscale Using Bash and Azure CLI������� 241
Deploying Hyperscale Using the Azure CLI������������������������������������������������������������������������������� 241
The Azure CLI����������������������������������������������������������������������������������������������������������������������� 242
Deploying the Starting Environment������������������������������������������������������������������������������������ 243
The Complete Deployment Bash Script������������������������������������������������������������������������������� 245
Azure CLI Commands in Detail�������������������������������������������������������������������������������������������� 247
Summary���������������������������������������������������������������������������������������������������������������������������������� 264
Chapter 11: Deploying Azure SQL DB Hyperscale Using Azure Bicep������������������� 267
About Azure Bicep��������������������������������������������������������������������������������������������������������������������� 268
Deploying Using Azure Bicep���������������������������������������������������������������������������������������������������� 268
A Complete Azure Bicep Deployment���������������������������������������������������������������������������������� 268
Hyperscale Resources in Azure Bicep��������������������������������������������������������������������������������� 271
Summary���������������������������������������������������������������������������������������������������������������������������������� 284
vi
Table of Contents
vii
Table of Contents
viii
Table of Contents
Index��������������������������������������������������������������������������������������������������������������������� 461
ix
About the Authors
Zoran Barać is a cloud architect and data specialist
with more than 15 years of hands-on experience in
data optimization, administration, and architecture. He
is a Certified Microsoft Trainer (MCT) and Microsoft
Certified Solutions Expert (MCSE) with a master‘s degree
in information technology. Sharing knowledge and
contributing to the SQL Server community are his passions.
He is also an organizer of the Auckland SQL User Meetup
Group, an active blogger, and a speaker at different SQL events such as Data Summits,
SQL Saturdays, SQL Fridays, meetups, etc.
xi
About the Technical Reviewers
Jonathan Cowley is a cloud infrastructure engineer,
DevOps practitioner, and technical documentation writer
with more than 15 years of experience in various roles and
environments, in both small and large corporations and
public organizations. He has been Microsoft Azure and AWS
certified. He enjoys connecting people and information and
solving challenging problems.
xiii
Introduction
Azure SQL is a platform-as-a-service (PaaS) relational database management system
(RDBMS) that is provided as part of the Azure cloud and based on the Microsoft SQL
Server platform. This offering contains service tiers that make it suitable for a wide
range of use cases, from small single-user applications to mission-critical lines of
business workloads. However, there is only one service tier that provides the high level
of scalability and resilience that is required by some of today’s largest cloud-based
workloads: Hyperscale.
In this book, we’ll take you through the capabilities and basics of the Azure SQL
Database Hyperscale service tier. You’ll learn the basics of designing, deploying, and
managing Azure SQL Hyperscale databases. We’ll look in detail at the resilience (high
availability and disaster recovery) and scalability of Azure SQL Hyperscale databases and
how to tune them. We will also look at the different techniques you can use to deploy and
configure Azure SQL Hyperscale.
Monitoring and securing Azure SQL Hyperscale databases will also be covered to
ensure your workloads continue to perform and operate securely. This book will be your
guide to deciding when Hyperscale is a good fit for migrating your existing workloads
and what architectural considerations you should make in your application. Finally,
you’ll learn how to migrate existing workloads to Azure SQL Database Hyperscale.
This book is intended for data architects, software engineers, cloud engineers,
and site reliability engineers and operators to learn everything they need to know to
successfully design, deploy, manage, and operate Azure SQL Database Hyperscale.
You’ll learn what makes Azure SQL Database Hyperscale architecture different
from a more traditional database architecture and why it’s important to understand the
architecture.
To get the most out of this book, you should have a basic knowledge of public cloud
principles and economics as well as a fundamental knowledge of Azure, Microsoft SQL
Server, and RDBMSs. It is not required to have experience using Azure SQL Database.
This book will provide you with everything you need to know to effectively build and
operate the Hyperscale tier of Azure SQL Database without prior experience.
xv
Introduction
Although this book covers concepts that apply to Azure SQL Database in general,
it is intended to provide everything you need to know to run an Azure SQL Database
Hyperscale tier in Azure without requiring any other material. You may find content that
is covered in other more general books on running SQL in Azure, but this book looks at
these concepts through the Hyperscale lens. Hyperscale has special use cases that make
it unique, which also require specific knowledge to get the most out of it.
Thank you for venturing into the world of Hyperscale database technology.
A note about the recently announced automatic compute scaling with serverless for
Hyperscale in Azure SQL Database: At the time of writing this book, the possibility of
an automatically scaling Hyperscale with a serverless compute tier was merely an item
on the roadmap. We did not, therefore, cover it in detail, even though we were aware it
was planned. However, serverless Hyperscale has just arrived in public preview. This
development does not change the guidance provided in this book, but serverless should
be considered for Hyperscale workloads that need high levels of elasticity. It is yet another
tool in the amazing array of data storage services available in Microsoft Azure and should
be on your list of considerations when determining if Hyperscale is right for you.
Serverless Hyperscale automatically adjusts the compute resources of a database
based on its workload and usage patterns. It also allows different replicas of the
database to scale independently for optimal performance and cost efficiency. Serverless
Hyperscale is different from provisioned compute Hyperscale, which requires a fixed
number of resources and manual rescaling.
For more information on the serverless Hyperscale announcement, see this page
https://techcommunity.microsoft.com/t5/azure-sql-blog/automatic-compute-
scaling-with-serverless-for-hyperscale-in/ba-p/3624440.
xvi
CHAPTER 1
The Journey to
Hyperscale Architecture
in Azure SQL
Every day, many billions or even trillions of transactions are processed by the ever-
growing number of Azure SQL databases deployed globally in the Microsoft Azure public
and government clouds. The number of transactions and the size of these databases
are continuously increasing. The accelerating adoption of public cloud technology has
enabled new use cases for Azure SQL databases as well as the migration of larger line-of-
business applications from on-premises SQL servers.
As the public cloud continues to mature, businesses are moving more of their
mission-critical workloads to Azure. This results in the need to support larger and larger
databases.
Accompanying this move to the cloud, the demand for IT departments and
engineering teams to provide more application features with greater resilience and
security has also increased. This pressure has caused organizations to look at how
they can cut down on the operational costs of maintaining their infrastructure. The
requirement to reduce operational expenditure has led toward running more databases
as platform-as-a-service (PaaS) solutions—where the cloud provider takes care of the
day-to-day operations of the infrastructure—freeing the organization to focus on higher-
value tasks.
As well as the migration of enterprise-scale databases, an increase in the adoption
of software-as-a-service (SaaS) solutions by consumers and organizations has led to
SaaS providers needing larger databases, higher transaction throughput, and increasing
resilience—while also being able to scale quickly.
3
© Zoran Barać and Daniel Scott-Raynsford 2023
Z. Barać and D. Scott-Raynsford, Azure SQL Hyperscale Revealed,
https://doi.org/10.1007/978-1-4842-9225-9_1
Chapter 1 The Journey to Hyperscale Architecture in Azure SQL
This explosive shift by organizations to adopting SaaS has also facilitated a need by
SaaS providers to manage costs as they scale. This has often resulted in a change from a
single database per tenant to a multitenant approach. A multitenant approach can help
to reduce costs, but it also increases the need for larger capacities and throughput, while
being able to assure isolation and avoid challenges such as noisy neighbors. For an in-
depth explanation on that, see https://learn.microsoft.com/azure/architecture/
antipatterns/noisy-neighbor/noisy-neighbor.
The growth trend toward SaaS is expected to continue as organizations and SaaS
providers accommodate the expectations of their customers to gain greater value
from their data with analytics and machine learning. This growth in demand for better
analytics and machine learning abilities also facilitates the need to collect more data,
such as usage telemetry and customer behavior data.
New types of application workloads and patterns, such as event streaming
architectures and the Internet of Things (IoT), have also increased the demands on
relational database management systems. Although alternative architectures exist to
reduce the impact of these application workloads on the relational database, they don’t
completely mitigate the need for larger relational databases as a part of applications.
Customers are expecting solutions that can integrate with and accept data from other
services and data sources. This is leading organizations and SaaS providers to build a
greater level of integration into their software and also to be seen as platforms with an
ecosystem of third-party applications and extensions springing up around them. This is
further pushing the scale and elasticity required by the relational database management
system (RDBMS) underlying these platforms.
Applications are also consuming data from more and more systems and providing
their own combined insights and enhancements. For example, applications that
integrate with Microsoft Teams might retrieve calling and messaging data and combine
it with other data sources to provide additional functionality. As the volume of data
increases within these systems, so does the need for more capacity in the application
database that collects it.
Azure provides the Azure SQL Database service, a PaaS product, that includes
several different tiers offering options for capacity and resilience while also enabling a
high degree of scale.
The changing data landscape, driven by the cloud, SaaS, and newer workloads, has
resulted in the need for a design change to the Azure SQL Database architecture to be
pushed to the limit, requiring a completely new internal architectural approach: the
Hyperscale architecture.
4
Chapter 1 The Journey to Hyperscale Architecture in Azure SQL
Hyperscale is the newest service tier of the Azure SQL Database and provides
highly scalable compute and storage that enables it to significantly exceed the limits of
the other tiers of service. This is achieved by substantial alterations to the underlying
architecture. These changes are discussed in more detail in Chapter 2.
Tip Throughout this book we’ll often refer to the Azure SQL Database Hyperscale
service tier as just Hyperscale to make it easier on you, the reader.
SQL on Azure
It’s been a long and progressive journey of more than 12 years from the beginnings of
Azure SQL called CloudDB all the way up to the new Azure SQL Database Hyperscale
service tier and Hyperscale architecture.
Before we can get into the details of Hyperscale, we will start by looking at the
different ways that SQL workloads can be hosted in Azure. This will give us a view of
where Hyperscale fits within the portfolio and when it is a good choice for a workload.
5
Chapter 1 The Journey to Hyperscale Architecture in Azure SQL
Both Azure SQL deployment types (IaaS and PaaS) offer you redundant, secure, and
consistent cloud database services. However, with IaaS you are responsible for more of
the system, requiring a greater amount of effort from you in maintaining and ensuring
the system is resilient and secure.
Tip Azure SQL MI is a PaaS database service with a higher level of isolation and
compatibility with SQL Server on Azure VMs or on-premises SQL Servers.
Running SQL Server on Azure VMs provides you with the ability to configure every
aspect of the underlying infrastructure, such as compute, memory, and storage as well
as the operating system and SQL Server configuration. This high level of configurability
comes with an increased operational cost and complexity. For example, operating
system and SQL Server upgrades and patching are the user’s responsibility.
By comparison, Azure SQL DB (and Azure SQL MI) is a managed database service
where users do not need to worry about SQL Server maintenance tasks—such as
upgrades, patching, or backups—or service availability. The Azure platform abstracts
and manages these important aspects of your environment automatically, significantly
reducing operational costs and complexity. This often results in a much lower total cost
of ownership (TCO).
Generally, PaaS provides significant benefits that make it extremely attractive;
however, in some cases, IaaS is still required. Some applications might need access to the
underlying SQL instance or features of SQL Server that are not available on Azure SQL DB.
Tip For some workloads that need features that Azure SQL DB does not provide,
Azure SQL MI might still be an option. This could still allow the workload to be
moved to Azure, while leveraging the significant benefits of PaaS. For a comparison
between Azure SQL DB and Azure SQL MI features, see https://learn.
microsoft.com/azure/azure-sql/database/features-comparison.
Workloads that are being migrated from on-premises or a private cloud often require
IaaS when they are first migrated into Azure but will be able to be re-platformed onto
Azure SQL DB after some modernization. The benefits of this usually far outweigh the
engineering costs of modernization. Another reason that IaaS might be needed is to gain
a higher level of infrastructure isolation for regulatory compliance reasons.
6
Chapter 1 The Journey to Hyperscale Architecture in Azure SQL
Figure 1-1 compares the administration needs and costs of on-premises, private
cloud machines, IaaS, and PaaS. We can see that PaaS has lower administration needs
and costs than IaaS.
We will be focusing primarily on Azure SQL DB, as this is the only deployment model
that supports the newest service tier: Hyperscale.
7
Chapter 1 The Journey to Hyperscale Architecture in Azure SQL
There are four key decisions you need to make when deploying a SQL workload
on Azure.
1. Choose a deployment model.
2. Specify a purchasing model.
3. Specify a service tier.
4. Choose an availability model; this will depend on which service
tiers you deployed.
Figure 1-2 shows a map of the deployment models, purchasing models, service tiers,
and availability models available when selecting Azure SQL PaaS. As this book is all
about Hyperscale, the most important area is the Hyperscale service tier.
Figure 1-2. Azure SQL DB deployment models, purchasing models, service tiers,
and availability models
8
Chapter 1 The Journey to Hyperscale Architecture in Azure SQL
Deployment Models
The PaaS deployment models are divided into two types.
When you deploy an instance of Azure SQL DB, you have two deployment options:
a single database or elastic pools. When using elastic pools, you can allow multiple
databases to share a specified number of resources at a set price.
Tip Elastic pools are an excellent model for building SaaS applications, where
each tenant has their own database; however, elastic pools don’t currently support
Hyperscale.
Azure SQL MI offers both single-instance and instance pool deployment options.
Single instance supports only a single SQL Server instance, while instance pools allow
multiple SQL Server instances.
Table 1-1 shows the deployment options available with Azure SQL PaaS, as well as
the features and recommended use cases.
9
Chapter 1 The Journey to Hyperscale Architecture in Azure SQL
• Supports most on-premises instance/ • The most used SQL Server features are
database-level capabilities. supported.
• High compatibility with SQL Server • 99.99 percent to 99.995 percent availability
on-premises. guaranteed.
• At least 99.99 percent availability • Built-in backups, patching, recovery.
guaranteed. • Latest stable database engine version.
• Built-in backups, patching, recovery.
• Latest stable database engine version.
• Easy migration from SQL Server.
Tip You can use the Azure Portal to check the usage and properties for an
existing MI pool, but not to deploy a pool. Instead, use a PowerShell session or the
Azure CLI.
10
Chapter 1 The Journey to Hyperscale Architecture in Azure SQL
Figure 1-3 shows the compute tier and hardware configuration for the General
Purpose service tier for the Azure SQL Database deployment option.
Figure 1-3. Service and compute tier: Azure SQL DB General Purpose service tier
There are two different purchasing models—vCore and DTU—each with multiple
service tiers. The DTU purchasing model is based on data transaction units (DTUs).
DTUs are a blended measurement of a machine’s specifications—CPU, memory, reads,
and writes. Figure 1-4 shows available purchasing models and service tiers for single
Azure SQL Database deployment.
11
Chapter 1 The Journey to Hyperscale Architecture in Azure SQL
Figure 1-4. Single Azure SQL DB purchasing models and service tiers available
Tip For more information on DTU modeling, review this page: https://learn.
microsoft.com/azure/azure-sql/database/service-tiers-dtu.
There are multiple service tier options within the DTU purchasing model:
12
Chapter 1 The Journey to Hyperscale Architecture in Azure SQL
There are multiple service tier options within the vCore purchasing model.
• General Purpose
• Business Critical
• Hyperscale
You can choose the vCore purchasing model only for managed instances with the
General Purpose or Business Critical service tier.
13
Chapter 1 The Journey to Hyperscale Architecture in Azure SQL
Depending on which service tiers you deployed, it may leverage the Standard
availability architecture for the Basic, Standard, and General Purpose service tiers or the
Premium availability architecture for the Premium and Business Critical service tiers.
There are three types of redundancy when running SQL workloads in Azure.
14
Chapter 1 The Journey to Hyperscale Architecture in Azure SQL
Depending on which service tier you select, it may leverage either the Standard or
Premium availability architecture model.
15
Chapter 1 The Journey to Hyperscale Architecture in Azure SQL
16
Chapter 1 The Journey to Hyperscale Architecture in Azure SQL
Tip Be aware that with the General Purpose service tier, the zone-redundant
option is available only when the Gen5 (or newer) hardware configuration is
selected. Selecting zone redundancy incurs an additional cost.
Figure 1-6 shows the Azure SQL PaaS Standard availability model with zone
redundancy used by the General Purpose service tier.
Figure 1-6. Azure SQL PaaS Standard availability model with zone
redundancy enabled
17
Chapter 1 The Journey to Hyperscale Architecture in Azure SQL
18
Chapter 1 The Journey to Hyperscale Architecture in Azure SQL
19
Chapter 1 The Journey to Hyperscale Architecture in Azure SQL
Tip Azure SQL Database service tiers using the Standard availability model
provides a greater than 99.99 percent uptime availability guarantee. Nevertheless,
Premium and Business Critical service tiers—leveraging the Premium availability
model with zone-redundant deployments—provide a greater than 99.995 percent
uptime guarantee.
Figure 1-8 shows the Azure SQL PaaS Premium availability model with zone
redundancy enabled for the Premium and Business Critical service tiers.
20
Chapter 1 The Journey to Hyperscale Architecture in Azure SQL
Figure 1-8. Azure SQL PaaS Premium availability model with zone
redundancy enabled
21
Chapter 1 The Journey to Hyperscale Architecture in Azure SQL
Figure 1-9 shows geo-replication using failover groups via asynchronous replication
between multiple Azure regions.
Figure 1-9. Geo-replication between multiple Azure regions using failover groups
22
Chapter 1 The Journey to Hyperscale Architecture in Azure SQL
The goal of the new model has been to decouple compute, storage, and log services,
while at the same time offering highly scalable storage and compute performance tiers.
At the time of writing, there is an Azure SQL database deployment model and the
Hyperscale service tier under the vCore purchasing model, which leverages a new
architecture, which in this book we will call the Hyperscale architecture.
Table 1-2 compares the traditional Azure SQL architecture and the Azure Hyperscale
architecture.
Table 1-2. Traditional Azure SQL Architecture vs. Azure Hyperscale Architecture
Traditional Architecture Hyperscale Architecture
Tip The main question you should ask yourself is whether your data workload
demands are exceeding the limits of your current Azure SQL service tier—in which
case you might consider moving your data workload to a more suitable service tier
such as Azure SQL Hyperscale, leveraging the Hyperscale architecture scale-out
capability.
24
Chapter 1 The Journey to Hyperscale Architecture in Azure SQL
25
Chapter 1 The Journey to Hyperscale Architecture in Azure SQL
Tip Deploying services using the Azure Portal is a great way to get started,
but it is strongly recommended that as you mature in your use of Azure, you
adopt infrastructure as code. To learn more about infrastructure as code,
refer to https://learn.microsoft.com/devops/deliver/what-is-
infrastructure-as-code. We will favor using infrastructure as code in the
examples throughout this book.
You will need access to an Azure subscription that you have appropriate permissions
to create new services in. The Contributor or Owner role in the Azure subscription will
be adequate permissions. If you’re not the subscription owner, you should first check
with the account owner for the subscription if you may deploy a Hyperscale database as
there will be a cost for every hour that you have the service deployed.
Tip If you don’t have access to an Azure subscription, you can sign up for a free
Azure one with USD $200 credit to use within 30 days; see https://aka.ms/
AzureFree. After you have consumed the USD $200 credit, the free services will
still be available to you for one year, but unfortunately the Hyperscale tier of Azure
SQL DB is not currently among the free services.
The Azure Portal is under constant improvements, and it is quite possible that the
user interface you see by the time this book is released will be slightly different. But
the fundamental elements should remain. That is a reason why we will provide many
examples as code.
In our example, we’re going to deploy a zone-redundant Hyperscale database with
two vCores running on Gen5 hardware in the Azure East US region with one high-
availability secondary replica.
So, let’s get started.
1. Open your browser and navigate to https://portal.azure.com.
2. Sign in using credentials that give you access to the Azure
subscription you’ll be deploying your Hyperscale database into.
3. Click the “Create a resource” button in the home dashboard.
26
Chapter 1 The Journey to Hyperscale Architecture in Azure SQL
5. The Create a SQL Database blade will open showing the Basics
configuration options of our database.
27
Chapter 1 The Journey to Hyperscale Architecture in Azure SQL
7. Set the resource group to an existing resource group that you want
to create your Hyperscale database into or click New to create
a new resource group. In our example, we are going to create
our hyperscale resources in an existing resource group called
sqlhyperscalerevealed-rg that is in the Azure East US region.
28
Chapter 1 The Journey to Hyperscale Architecture in Azure SQL
10. Every SQL Database server must have a unique name, not just
within our environment, but globally. For this example, we are
using sqlhyperscalerevealed01, but you should use a name that
is likely to be globally unique.
11. Set the location to the Azure region in which you want to deploy
the SQL Database server. This is the Azure region where your
Hyperscale database will be stored and should usually be as
geographically close to your application or users as possible.
12. Set the authentication method to “Use only Azure Active Directory
(Azure AD) authentication.”
Tip You can choose to use SQL authentication or to use both SQL and Azure AD
authentication, but it is recommended you use Azure AD authentication to enable
the central management of identities. However, some third-party applications may
not support this. We will cover security best practices in detail in Chapter 15.
13. Click the “Set admin” button to select the Azure AD user or
group that will be granted the admin role on this SQL Database
server. But for this example, we will select our own Azure AD user
account to be the admin.
Tip It is good practice to set the admin role to a separate Azure AD group that is
created for this SQL Database server. Membership in this group should be carefully
governed.
29
Chapter 1 The Journey to Hyperscale Architecture in Azure SQL
30
Chapter 1 The Journey to Hyperscale Architecture in Azure SQL
23. Specify Yes when asked if you would like to make this database
zone redundant.
25. We will return to the Create SQL Database blade again. We will not
change any of the other deployment options, such as Networking
and Security for this example, as we can change most of them
after deployment.
31
Chapter 1 The Journey to Hyperscale Architecture in Azure SQL
27. Review the estimated cost per month and scan through the
configuration to confirm we’re configuring what we expected.
There are ways to reduce the estimated cost per month (such
as purchasing reserved capacity), but these will be discussed in
Chapter 16.
Important The Azure SQL Database Hyperscale tier is billed hourly. So, once the
resources are deployed, you’ll begin to be billed. Deleting the database resource
will cause you to stop being billed, but you will be charged for at least one hour.
29. After a few seconds, our resources will begin to be deployed, and a
deployment progress window will be displayed.
32
Chapter 1 The Journey to Hyperscale Architecture in Azure SQL
30. Once the deployment has been completed, we can click the
sqlhyperscalerevealed01/hyperscaledb resource (or whatever
you called it in your subscription) to be taken directly to the
database.
Congratulations! You have deployed your first Hyperscale database and can begin
to use it. There are other administrative tasks we would typically do from here, such
as granting access to the database and opening network access to our applications
and users, but they will all be covered in later chapters. For now, this is enough to
demonstrate just how easy it is to get a Hyperscale database up and running in Azure.
33
Another random document with
no related content on Scribd:
The Project Gutenberg eBook of The binding of
Language: English
AND
BY THE HON.
SIDNEY PEEL
Late Fellow of Trinity College, Oxford
Author of ‘Trooper 8008 I.Y.’
LONDON
EDWARD ARNOLD
Publisher to H. M. India Office
1904
[All rights reserved]
PR EFACE
I have tried to tell in outline the story of the regulation of the Nile and
some of its consequences. A rash project, perhaps, for one who is
not an engineer; but, then, this book is not written for engineers, and
politics enter largely into it.
I have had some special opportunities of observation, and I have
many friends to thank for the help which they have given me. In
particular I am much indebted to the Standard, whose special
correspondent in Egypt and the Soudan I had the good fortune to be
during a part of 1902-1903.
Anyone who wishes to gain a real acquaintance with the
principles and details of Egyptian Irrigation should read the
monumental and interesting work by Sir W. Willcocks, K.C.M.G., on
that subject, to which my indebtedness is large.
The standard work on the Soudan is not yet written. There is but
one man who combines the necessary knowledge, experience, and
attainments to do it, and he, fortunately for the Soudan, is—and will
be for a long time to come—too fully occupied with his arduous and
multifarious duties. I mean, of course, the present Governor-General,
Sir Reginald Wingate. No official of the Soudan Government, least of
all he, has leisure to write a book; but I sincerely hope that the
materials for it are steadily collecting.
S. P.
C O NT ENT S
PART I
I. THE NILE 3
II. BASIN IRRIGATION 13
III. PERENNIAL IRRIGATION 23
IV. THE CULTURE OF THE FIELDS 32
V. THE DELTA BARRAGE AND THE ENGLISH ENGINEERS 43
VI. THE CORVÉE 59
VII. RESERVOIR PRELIMINARIES 68
VIII. THE DAM AND THE NEW BARRAGES 81
IX. THE INAUGURATION OF THE RESERVOIR 91
X. BRITISH RULE IN EGYPT 101
XI. SCHEMES FOR THE FUTURE 111
XII. THE SUDD 124
XIII. THE UNITY OF NILELAND 134
PART II
INDEX 278
PORTRAIT
MEHEMET ALI Frontispiece
(From the painting by T. Brigstock in the possession of the Oriental
Club.)
PART I
THE BINDING OF THE NILE
CHAPTER I
THE NILE
Far back in the world’s history a fracture of the earth’s crust took
place in the region which is now Egypt, and the sea filled the valley
as far as a point not much north of Assouan. Into this fiord ran
several rivers from the high ground east and west, bearing down with
them heaps of detritus, and forming small deltas like the plain of
Kom-Ombos. On the sea-bottom were laid down deposits of sand
and gravel, and then the land began to rise. Meantime the volcanic
movements of East Central Africa had shaped the country into its
present configuration, and the rivers which drained from the great
lakes and swamps of the south, and those which flowed down from
the high plateau on the east, combining their waters somewhere
about Khartoum, pushed their marvellous course northwards, and
began the creation of the fertile soil of Egypt. From this time onwards
the climatic conditions must have continued very much what they are
to-day. Changes, of course, there have been in the level of the land;
but the sea-valley had become a river-valley, and year by year the
annual flood increased the cultivable soil, and refreshed it with
moisture, just as it would be doing to-day if left untrammelled by the
devices of man.
Late in the history of the river-valley, but very early in the history
of humanity, this favoured strip of country became the home of men,
who doubtless cast their seed upon the slime left by the retreating
waters, and reaped their crops long before the dawn of history. It is
remarkable and characteristic of the conditions of the country that
tradition ascribes to the earliest King of Egypt, Menes, the first King
of the First Dynasty, the first attempts to regulate the flow of the river
—in other words, the first scheme of irrigation proper.
If it were possible to divert the river from its course, and effectually
to bar its way before it reached the boundaries of Egypt, what an
appalling catastrophe would follow—no mere disaster, but absolute
annihilation! On the coast lands of the Mediterranean a sparse
population might still eke out a miserable existence by storing the
scanty rainfall, but nowhere else. The very oases of the desert would
be dried up, and in a short time the shifting sands of the Sahara
would have overlaid the deposits in the river-valley, and buried out of
sight even the ruins of the past. The waters of the Nile are, and ever
have been, the sole giver of all life in Egypt.
Whoever finds himself in Cairo should lose no time in taking his
stand upon the bridge, and in reflecting upon the history of the water
that goes sliding and eddying beneath him, on the way to perform its
last duties among the cotton-fields of the delta. Some of it has been
travelling for three months from its sources beyond the Victoria
Nyanza, itself over 1,100 metres[1] above sea-level. From the
Victoria Nyanza it has passed down the Somerset Nile into the Albert
Nyanza, thence a five days’ journey to Lado, past Duffile and the
Fola Rapids. From Lado to Bor the fall is still rapid, but henceforward
as far as Khartoum, some 1,000 miles, the stream is on a very feeble
slope. Between Bor and the junction of the Ghazal River on the left
bank is the region of the sudd, floating masses of compressed
vegetation, which, if neglected entirely, block the course of the river.
Here, too, are the wide and desolate marshes, inhabited by myriads
of mosquitoes and that strange, melancholy bird, the whale-headed
stork (Balæniceps rex).
The Ghazal River contributes very little to the flow of the Nile,
owing to wide lagoons through which it passes, and which cause
great evaporation. The river then passes sharply to the right, and
sixty miles further on is joined by the Sobat from the eastern hills,
which in flood brings down a volume equal to that of the Nile, but
during summer contributes little or nothing. From the white sediment
brought down by the Sobat the White Nile derives its name and
colour. Hence it flows in a wide bed, a mile across on the average,
540 miles to its junction with the Blue Nile at Khartoum. Khartoum is
still 1,800 miles from the sea, and 390 metres above it. Two hundred
miles north of Khartoum, near to Berber, the Atbara River flows in,
and hence the Nile pursues its solitary way through the desert until,
after a circuitous bend round Dongola, it bursts through the rocky
defiles of Nubia, and emerges at Assouan into Egypt proper. Of the
distance between Khartoum and Assouan about 350 miles consist of
so-called cataracts, during which the total drop is 200 metres; about
750 miles are ordinary channel, with a total drop of nearly 100
metres.
Of all the affluents of the Nile, the Blue Nile (assisted by its
tributaries, the Rahad and the Dinder) and the Atbara have been of
infinitely the greatest importance to Egypt in the past. Not only do
their waters contribute the largest proportion of the annual flood, but
also down them comes the rich volcanic detritus swept from the
Abyssinian hills by the heavy summer rains, which composes the
red-brown silt so dear to the Egyptian cultivator. To understand the
system of irrigation in Egypt it is necessary to have a clear view of
the amount of water derived from the different sources at different
times of the year.
The great lakes and swamps of Uganda, acting as reservoirs,
prevent any great differences in the discharge of water above Lado.
At that place the low Nile discharge is about 500 cubic metres[2] per
second; but, in spite of the Ghazal River and the Sobat, so great is
the loss by diffusion in the marshes and by direct evaporation, that at
Khartoum the discharge is no more than 300 cubic metres per
second. At this time the Blue Nile is giving no more than 160 cubic
metres per second at Khartoum, and the Atbara is not running at all.
The loss between Khartoum and Assouan is about 50 cubic metres,
and consequently the amount of water passing Assouan in May in an
ordinary year is 410 cubic metres per second. This is the summer
supply of Egypt.
Meantime heavy rains have been falling about Lado and on the
Sobat. Towards April 15 the river begins to rise, the effect of which is
felt at Khartoum about May 20, and at Assouan about June 10. A
most curious phenomenon accompanies this preliminary increase—
the appearance of the ‘green’ water. It used to be thought that this
‘green’ water proceeded from the sudd region. During the previous
months the swamps in that country have been lying isolated and
stagnant under the burning tropical sun; their waters have become
polluted with decaying vegetable matter. When once more the rising
river overtops its banks, this fœtid water was supposed to be swept
out into the stream, and finally make its appearance in Egypt. But a
closer examination of the facts, which has only been possible since
the Soudan was re-opened, has caused this view to be abandoned.
The ‘green water’ is caused by the presence of an innumerable
number of microscopic algæ, which give it a very offensive taste and
smell. So far as can be ascertained, their origin is in the tributaries of
the Sobat above Nasser. The rains in April carry them out into the
White Nile, and thence they pass down to Nubia and Egypt. Under a
hot sun and in clear water they increase with amazing rapidity, and
sometimes they form a column 250 to 500 miles long. These weeds
go on growing, drying, and decaying, until the arrival of the turbid
flood-water, which at once puts an end to the whole process, as they
cannot survive except in clear water.
Horrible as the ‘green’ water is, its appearance is hailed with
delight by the Egyptian, for he knows that it is the forerunner of the
rushing waters of the real flood-time, and the first sign of the coming
close of the water-famine. By September 1 the Nile at Lado has
reached its maximum of 1,600 cubic metres. In the valley of the
Sobat the rains last till November, with the result that by September
15 or 20 the White Nile at Khartoum has attained its maximum
discharge of 4,500 cubic metres per second.
Meanwhile great things have been happening on the Blue Nile
and the Atbara. About July 5 the Blue Nile begins to rise, and the
flood comes down with considerable rapidity till it reaches its
maximum of 5,500 cubic metres per second on August 25. The
famous ‘red’ water reaches Assouan on July 15, and is seen ten
days later at Cairo. The flood on the Atbara would begin at nearly the
same time as on the Blue Nile, but for the fact that it spends a month
in saturating its own dry bed and the adjoining country. Once it
begins, however, about July 5, it comes very rapidly, and about
August 20 reaches its maximum, which is usually some 3,400 cubic
metres per second, but occasionally amounts to as much as 4,900.
If these three contributors, the White Nile, the Blue Nile, and the
Atbara, all reached their maximum at the same time, the result in an
ordinary year would be a discharge at Assouan of some 13,000 to
14,000 cubic metres per second, and in occasional years a very
great deal more. But this is not the case. In an ordinary year the Nile
is at its lowest at Assouan at the end of May, discharging no more
than 410 cubic metres per second. After the arrival of the ‘green’
water it rises slowly till July 20. By that time the ‘red’ water is fairly on
the move, and the rise goes on with increased rapidity till the
maximum is reached, on September 5, of 10,000 cubic metres. But
both date and amount are liable to variation. If the White Nile flood is
a weak one, and the Atbara early, the maximum may be reached a
day or two earlier; but if the White Nile is very strong it will not be
attained until September 20. A late maximum, in other words, means
a good supply of water in the White Nile, and as the White Nile is the
principal source of supply after the flood is over, this fact is of
inestimable importance to Egypt. But occasionally, as in 1878, this is
carried to excess. In that year the White Nile flood was very late and
very high. The maximum was not reached till September 30, when
13,200 cubic metres per second were passing Assouan, with very
disastrous results in Egypt. All through the following summer the
supply was very good, and at its lowest, in May, was more than three
times as great as the average.[3]
Curiously enough, the preceding year offered a startling contrast.
It was the lowest Nile on record. The maximum was reached on
August 20, and was some 3,500 cubic metres below the average,
and in the following May the discharge at Assouan fell to 230 cubic
metres per second, as against the average 410.
By the end of October the Atbara has usually disappeared
altogether, and the Blue Nile falls very quickly after the middle of
September. The White Nile, however, owing to the regulating effect
of its natural reservoirs and the slackness of its current, is very much
more deliberate in its fall, and the results at Assouan are as follows
in a normal year: By the end of September the discharge has fallen
to 8,000 cubic metres per second; end of October to 5,000; end of
November to 3,000; end of December to 2,000; end of January to
1,500; end of March to 650; and end of May to 410.
In other countries the year is divided into seasons, reckoned
according to the position of the sun and the temperature, or
according to the rainfall. In Egypt the state of the all-important river is
the principal factor in determining the seasons. These are, first, the
months of the inundation, or Nili, August to November; second, the
winter, or Shitwi, December to March; and, third, the summer, or
Sefi, April to July, when the river is at its lowest. Nowhere else do the
actual seasons correspond with the nominal in a manner so regular
and unfailing. But, of course, within these limits there is a great
variation in the amounts of both the maximum and the minimum of
the volume of the Nile, and the dates at which they occur from year
to year. During the twenty-six years 1873-1898 the maximum flood at
Assouan varied from the exceptional height of 9·15 metres above
zero on the gauge to the equally exceptional 6·40 metres. And the
dates on which these maxima were attained varied from October 1 in
the first case to August 20 in the other. The dates on which the
volume of water passing through reached its minimum varied from
May 8 to June 24; while the worst lowest on record was ·71 metre
below zero, and the best was 1·88 metres above it. (Zero, it should
be explained, is the lowest level which the river would touch in an
average year.)
These figures are the result of the free and unimpeded flow of the
Nile. To us, with our wider field of observation, with our knowledge of
the sources of the Nile, and preciser information as to the conditions
prevailing in those distant countries, the behaviour of the river
seems, after all, but the resultant of many natural causes, and
capable of prediction, and even regulation. But to those who, living in
a country where rain was practically unknown, knew nothing of the
tropical lakes or the rain-shrouded hills of Abyssinia, and who merely
saw the great river issuing from the burning deserts of the south in
flood at the very time when other rivers were parched and dried, how
marvellous it must have seemed, and how inexplicable must have
appeared those occasional variations, threatening destruction, on
the one hand by excessive inundation, and on the other by famine
and drought! Few floods in the history of Egypt can have been higher
than that of 1878, and few lower than that of 1877, when 1,000,000
acres were left without water. But several great famines have been
recorded in the past. Perhaps the worst of these began in A.D. 1064.
A succession of low Niles took place, lasting for seven years, like the
seven lean kine of Pharaoh’s dream. Terrible results followed. Even
human flesh was eaten, and the Caliph’s family had to flee to Syria.
Similar disasters occurred in A.D. 1199.
Such extraordinary catastrophes are rare, but their possibility is
always present to the minds of those responsible for the government
and welfare of Egypt. We shall see what steps have been taken to
guard against them, and first we shall examine the different systems
of irrigation which have prevailed, and the nature of the services
which the water, whose variations we have described, is made to
perform before it finally reaches the sea.
CHAPTER II
BASIN IRRIGATION