No developer knows Microsoft SQL Server, but some developers certainly do not know what SQL Azure is. SQL Azure is one of the three major components of Microsoft's cloud computing platform (Windows azure platform). It is a relational database engine deployed on the cloud. It supports the vast majority of SQL server functions related to development. You can also simply think that SQL Azure is the cloud version of SQL Server, but there are still some differences, we will introduce it below. This article provides an overview of SQL Azure, mainly from the architecture, main functions, access to SQL azure data, comparison of SQL and SQL server functions, we hope you will have a holistic understanding of SQL azure.
SQL azure Architecture
Just like the Microsoft cloud computing service platform (here I think that the Microsoft cloud computing service platform includes the Microsoft cloud computing platform and the services built on this platform, such as living service, of course, this is just the author's understanding and is worth discussing .) Like other services, SQL Azure is also a highly available and Scalable Data entity service, which runs on the cloud, or on Microsoft's data centers around the world.
Data Center (DC) achieves the goal of data sharing and use by implementing unified data definition and naming rules and a centralized data environment. A typical data center often involves components of multiple suppliers and products, including: host devices, data backup devices, data storage devices, high-availability systems, data security systems, database systems, and so on. The reference architecture of the current data center and next-generation Data Center 1:
Figure 1 data center architecture
In fact, we can see from the next-generation data center architecture. Currently, the data center for building a cloud computing platform is the implementation of the next-generation data center architecture. The Microsoft Data Center also provides load balancing, Data Disaster Tolerance, and backup and recovery functions. Of course, in the future, it may support the following functions: Mars support, spatial coordinate data, and 50 GB capacity options. SQL azure labs will also provide enhanced features that may be available in the future, such as the odata services to be unveiled. The overall architecture of SQL azure 2 is as follows:
Figure 2 SQL azure Architecture
As shown in figure 2, SQL Azure is a layer-4 architecture, with the infrastructure layer (infrastructure layer), platform layer (platform layer), and service layer (service layer) the client layer, infrastructure layer, platform layer, and service layer constitute the Microsoft Data Center. Next we will introduce them separately.
Infrastructure Layer
Basic settings provide hardware support and operating systems, as well as service management for the service layer. It is also the core data layer that provides multiple shared services for a data center.
Platform layer
The platform layer consists of three parts: SQL server instance, SQL Server fabric, and management service. An SQL server instance is an SQL Server database engine. Each SQL Server database engine instance has a set of systems and user databases that are not shared by other instances. Because each instance has a set of systems and user databases that are not shared by other instances, the operation of each instance is independent, and the operation of one instance is not affected by the operation of other instances, it does not affect the operation of other instances. Installing Multiple SQL Server instances on a computer is equivalent to simulating this computer into multiple database servers, and these simulated database servers run independently and simultaneously.
SQL Server fabric is a distributed framework that integrates networks, servers, and storage, therefore, this framework enables SQL azure to automatically perform load balancing, Data Disaster Tolerance, and backup and recovery.
Management services can perform health checks, upgrades, or patches on services running on them. It also provides hardware and software support for SQL Server fabric.
Service Layer
The service layer connects the Client layer and platform layer, including three main functions: Provisioning, billing and metering, and connection routing ), provisioning lists Microsoft cloud computing platform accounts. The service layer also exposes the list data stream (tabular data stream, TDS) with SSL to the Client layer.
Client layer
The client layer is the only layer running outside the Microsoft Data Center. Instead of using any special components of SQL Azure, it uses the SQL server features installed on the current client, such as ADO.. net, WCF Service, ODBC, and SQL server management tools. The client layer uses APIs to initialize a TDS connection and connects to SQL azure through port 1433. At the Client layer, we use SQL Server, a data tool, to build cloud applications.
Main functions of SQL azure
SQL azure currently does not fully support all functions on SQL Server, such as analysis services, images, report services, and the ability to select different service providers to provide different services. This is determined by the current network conditions and cloud computing platform deployment requirements. More functions will be provided in the future, such as Dallas. The main functions of SQL azure are divided into three parts: database functions, application functions, and management functions.
Database functions
The supported database functions are as follows:
(1) add, delete, modify, query (crud) of the table, attempt to, Index
(2) tsql query join statements
(3) triggers
(4) tsql Functions
(5) Application stored procedures (only tsql)
(6) Table Constraints
(7) Session-based temporary table
(8) Table Variables
(9) local transactions
(10) security roles
(11) suser_sname function, returns the current security login name
(12) Mars, multi-activity result set
Unsupported database functions are as follows:
(1) Distributed Query
(2) distributed transactions
(3) Any tsql query and views changes or restores physical resource information
(4) Custom Data Types
Application functions
Applications do not support the following features:
(1) Service Broker
(2) HTTP access
(3) CLR Stored Procedures
Management Functions
SQL azure supports data-tier applications. A Database Application Layer Program is an entity that contains databases and instance objects required by almost one application, such as tables, views, stored procedures, and logon. With the entity, the original independent login, deployment, and maintenance can be integrated into a unified whole through development by developers. Such a whole is called an application package, in this way, DBA can regard the original independent object as a Database Application Layer Program for deployment, monitoring and management. Currently, data-layer applications are supported, including deleting, deploying, extracting, and registering data-layer application packages. In addition, the following management functions are supported:
(1) plan and statistics
(2) Enable the index
(3) query Enabled
SQL azure does not support the following management functions:
(1) Database Replication
(2) SQL profiler
(3) SQL trace flag
(4) command line backup
(5) configure and use the Stored Procedure sp_configure
For more unsupported functions of SQL Azure, the difference between SQL Server 2008 (R2) and SQL Server 2005 can be found:
Http://msdn.microsoft.com/en-us/library/ff394115.aspx
Access Data in SQL azure
To access data in SQL Azure, we can access data through APIS, such as ADO. net, ODBC, or PHP databases. They can access data through TDS + SSL. You can also use HTTP or HTTPS to access data in the cloud through web clients, such as browsers, WCF data service clients, and Silverlight. 3:
Figure 3 access data in SQL azure
In scenario A, application code is used to store access permissions to the data center, but data exists in SQL Azure, and the application accesses SQL azure using the client library. Its advantage is to directly connect to the database in SQL azure. Its disadvantage is that each client must use the provided data access method such as ADO. Net to access the database in SQL azure.
In scenario B, the application code is on Windows Azure, and the application database is on the database in SQL azure. You can use the client data access class library in Scenario A to access the data. Scenario B allows more client types for access, such as access to data by Desktop client applications and Silverlight applications. This access method has the following advantages: the business logic is closer to the database and some standard interfaces are exposed. For example, HTTP, soap, and client programs do not have to rely on SQL Server Client APIs. If you use Windows azure as the middle layer to access data, database performance is the biggest drawback.
SQL azure vs SQL Server
For SQL azure and SQL Server detailed function comparison, here will not explain, interested readers can refer to the Microsoft cloud computing Chinese Blog, its address is: http://blogs.msdn.com/ B /azchina/archive/2010/05/25/sql-azure-vs-sql-server.aspx
You can also refer to the csdn blog on its image site to compare the functions of SQL azure and SQL Server. Address: http://blog.csdn.net/azurechina/archive/2010/05/18/5604059.aspx
Summary
This article introduces the cloud computing platform version of SQL Server-SQL Azure, but we cannot simply regard SQL azure as an SQL server built on the cloud. SQL Azure is a four-layer structure: infrastructure layer, platform layer, service layer, and client layer. The first three layers constitute the Microsoft Data Center, the client layer uses APIs or web-based clients to access data stored in the cloud.
It168: http://tech.it168.com/a2010/0623/1069/000001069636_all.shtml