DP-900:
Microsoft Azure
Data
Fundaments
Modül 02:
Azure’da İlişkisel
Veriler
Önder Değer
Azure Solutions Architect –
Microsoft Azure MVP
https://www.devcloudops.com
Azure’da İlişkisel
Veriler
• Azure'da ilişkisel veri hizmetleri
• Azure'da ilişkisel veritabanı
hizmetlerini sağlama ve dağıtma
• Azure'da ilişkisel verileri
sorgulama
Azure'da ilişkisel
veri hizmetleri
Azure Veri Hizmetleri Nedir?
IaaS / PaaS
Azure'da SQL Sunucusu
Azure Sanal Makinelerinde SQL
Server
Infrastructure as a Service
Azure SQL Managed Instance Azure SQL Database
Platform as a Service
Azure Sanal Makinelerinde SQL Server
Sanal Makinelerde SQL Server, kullanıcıların herhangi bir şirket içi donanımı yönetmek zorunda kalmadan Bulutta
SQL Server'ın tam sürümlerini kullanmalarını sağlayan bir IaaS çözümüdür.
• Şirket içi SQL Server ile garantili Uyumluluk
• Müşteri her şeyi yönetir – işletim sistemi yükseltmeleri,
yazılım yükseltmeleri, yedeklemeler, çoğaltma
• Veritabanı başına değil, sunucu ve lisans için ödeme yapın
Azure SQL Database
Azure SQL Database, kullanıcıların bulutta yönetilen bir veritabanı sunucusu oluşturduğu ve ardından
veritabanlarını sunucuda dağıttığı bir PaaS teklifidir.
• Minimum yönetim ile düşük maliyetli seçenek
• Esnek uygulama tasarımıyla yeni bulut projeleri için en iyisi
• Değişken yüklere sahip sistemleri destekler - yeniden başlatmadan hızla yukarı ve aşağı ölçeklendirme
Single Database
Bulutta bir veritabanı sunucusu
oluşturun ve çalıştırın ve veritabanına
sunucu üzerinden erişin.
Elastic Pool
Birden çok veritabanı, bellek, depolama
ve işlem gücü gibi aynı kaynakları
paylaşır.
Azure SQL Managed Instance
Azure SQL Managed Instance, bilgi işlem kaynaklarını önceden sağlamanıza ve önceden sağlanan işlem düzeyinize
kadar birkaç ayrı yönetilen örneği dağıtmanıza olanak tanır.
• Otomatik yedeklemeler, yazılım yamaları, veritabanı izleme ve diğer yönetim görevleri
• Şirket içi SQL Server ile %100'e yakın Uyumluluk
• Diğer Azure hizmetleri tarafından desteklenir
Single Instance
Bir SQL Server instance, birden
çok veritabanı.
Instance Pool
Birden çok instance aynı
kaynakları paylaşır.
Azure SQL Managed Instance ya da Azure SQL Database
Azure SQL Managed Instance
Single instance:
SQL Server yüzey alanı (büyük
çoğunluk)
Yerel sanal ağ desteği
Tümüyle yönetilen hizmet
Instance pool:
Geçiş için ön provizyon işlem
kaynakları
Uygun maliyetli geçiş sağlar
Daha küçük örnekleri
barındırma yeteneği (2Vcore)
Şu anda genel önizlemede
Azure SQL Database
Single database:
Hiper ölçekli depolama (100
TB'a kadar)
Serverless
Tümüyle yönetilen hizmet
Elastic pool:
Fiyat optimizasyonu için
birden çok veritabanı
arasında kaynak paylaşımı
Birden çok veritabanı için
basitleştirilmiş performans
yönetimi
Tümüyle yönetilen hizmet
PostgreSQL, MySQL, MariaDB
Azure Database for PostgreSQ, Microsoft bulutunda PostgreSQL Community
Edition veritabanı motorunu temel alan ilişkisel bir veritabanı hizmetidir.
Azure Database for MySQL, MySQL Community Edition'a dayalı, Azure
bulutunda MySQL'in bir PaaS uygulamasıdır.
Azure Database for MariaDB, Azure'da çalışacak şekilde uyarlanmış MariaDB
veritabanı yönetim sisteminin bir uygulamasıdır. MariaDB Community Edition'a
dayanmaktadır.
Azure Database for PostgreSQL, MySQL, MariaDB Avantajları
Tümüyle yönetilen topluluk veritabanı:
Bildiğiniz araçları ve dilleri kullanmaya devam ederken tam olarak yönetilen bir hizmetten yararlanın
En düşük toplam sahip olma maliyeti için yerleşik yüksek kullanılabilirlik:
Ek maliyetlere gerek kalmadan verilerinizin her zaman kullanılabilir olduğundan emin olun
Akıllı performans ve ölçek:
Yerleşik zeka, 16 TB'a kadar depolama ve 20 bin IOPs ile performansı artırın
Sektör lideri güvenlik ve uyumluluk:
Gelişmiş Tehdit Koruması dahil gelişmiş güvenlik özellikleriyle verilerinizi koruyun
Azure ekosistemiyle entegrasyon:
Azure hizmetleriyle uygulamaları daha hızlı derleyin ve Azure IP Advantage ile inovasyonunuzu koruyun
Azure'da ilişkisel
veritabanı
hizmetlerini
sağlama ve dağıtma
İlişkisel veri hizmetlerini yapılandırın
Temel bilgiler
Abonelik
Kaynak grubu
Yönetilen Örnek/Sunucu
adı
Veritabanı Adı (DB)
Yönetici Girişi
Parola
Bölge
Compute + depolama
Ağ bağlantısı
Genel ve Özel erişim
VNet/Güvenlik Duvarı
kuralları
Bağlantı türü (MI)
Ek ayarlar
Veri kaynağı (DB)
Sunucu Collation (MI)
Veritabanı Collation (DB)
Saat dilimi (MI)
Gelişmiş veri güvenliği
(DB)
Etiketler (DB) İncele ve oluştur
Terms and Privacy
Azure dışından bağlantı
Proxy Politikası
1. Bir uygulama, ağ geçidi aracılığıyla Azure SQL
veritabanına bağlantı kurar
2. Tüm istekler ağ geçidinden geçecektir
3. Uygulama, kümedeki başka bir sunucuda çalışan
veritabanının farklı bir kopyasına yönlendirilebilir.
Azure Role Based Access Control (RBAC)
• Security principal: Azure kaynağına erişim isteyen bir kullanıcıyı veya
hizmeti temsil eden bir nesne
• Role: Bir dizi izin
• Scope: Erişimin geçerli olduğu kaynak kümesini listeler
Azure Role Based Access Control (RBAC) Azure kaynaklarına kimlerin erişimi
olduğunu ve bu kaynaklarla neler yapabileceklerini yönetmenize yardımcı olur.
Rol atamalarını kullanarak kaynaklara erişimi kontrol edersiniz. Bir rol ataması
üç öğeden oluşur:
Azure DB – Read Replikalar
Read replikaları, BI ve analitik gibi okuma yoğun iş
yüklerinin performansını ve ölçeğini iyileştirmeye
yardımcı olur
Birincil ve replikalar arasında veri
senkronizasyonunda gecikmelerin kabul edilebilir
olduğu senaryolarda read replikası özelliklerini göz
önünde bulundurun.
Bir olağanüstü durum kurtarma planı için birincilden
farklı bir Azure bölgesinde bir çoğaltma oluşturun;
burada, bölgesel olağanüstü durumlarda bir
çoğaltma birincilin yerini alır
Replika sunuculardaki veri depolama, iş yüklerini
etkilemeden otomatik olarak büyür
Azure'da ilişkisel
verileri
sorgulama
SQL'e Giriş
SQL, ilişkisel veritabanlarıyla kullanım için standart bir dildir
SQL standartları ANSI ve ISO tarafından korunur
Tescilli RDBMS sistemlerinin T-SQL, PL/SQL, pgSQL gibi kendi SQL uzantıları vardır.
SQL deyimi türleri
DML
Data Manipulation Language
Verileri sorgulamak ve işlemek
için kullanılır
SELECT, INSERT, UPDATE,
DELETE
DDL
Data Definition Language
Veritabanı nesnelerini
tanımlamak için kullanılır
CREATE, ALTER, DROP,
RENAME
DCL
Data Control Language
Güvenlik izinlerini yönetmek
için kullanılır
GRANT, REVOKE, DENY
DML ifade kullanımı
Statement Tanım
SELECT Bir tablodan seçin/okuyun
INSERT Tabloya yeni satırlar ekleme
UPDATE Bir tablodaki mevcut satırları düzenleyin/güncelleyin
DELETE Tablodaki mevcut satırları silme
SELECT İfadesinin Elemanları
Clause İfade
SELECT <liste seç>
FROM <tablo veya view>
WHERE <arama koşulu>
GROUP BY <listeye göre gruplandır>
ORDER BY <listeye göre sırala>
SELECT ifadesi örneği
SELECT EmployeeId, YEAR(OrderDate) AS OrderYear
FROM Sales.Orders
WHERE CustomerId = 71
GROUP BY EmployeeId, YEAR(OrderDate)
HAVING COUNT(*) > 1
ORDER BY EmployeeId, OrderYear;
INSERT ifadesi örneği
The INSERT ... VALUES statement inserts a new row
INSERT INTO Sales.OrderDetails
(orderid, productid, unitprice, qty, discount)
VALUES (10255,39,18,2,0.05);
Table and row constructors add multirow capability to INSERT ... VALUES
INSERT INTO Sales.OrderDetails
(orderid, productid, unitprice, qty, discount)
VALUES
(10256,39,18,2,0.05),
(10258,39,18,5,0.10);
DDL ifade kullanımı
Statement Tanım
CREATE Veritabanında tablo veya view gibi yeni bir nesne oluşturun
ALTER
Bir nesnenin yapısını değiştirin. Örneğin, yeni bir sütun eklemek için bir tabloyu
değiştirmek.
DROP Veritabanından bir nesneyi kaldırın.
RENAME Mevcut bir nesneyi yeniden adlandırın.
CREATE ifadesi örneği
CREATE TABLE Mytable
(Mycolumn1 int NOT NULL PRIMARY KEY, Mycolumn2 VARCHAR(50) NOT
NULL , Mycolumn3 VARCHAR(10) NOT NULL
Azure Database for PostgreSQL – İlişkisel verileri sorgulama
Bir veritabanını sorgulamak için PSQL kullanın
Azure Cloud Shell
psql --host=<server-name>.postgres.database.azure.com
--username=<admin-user>@<server-name> --
dbname=postgres
CREATE DATABASE "Adventureworks";
CREATE TABLE PEOPLE(NAME TEXT NOT NULL, AGE INT NOT
NULL);
INSERT INTO PEOPLE(NAME, AGE) VALUES ('Bob', 35);
INSERT INTO PEOPLE(NAME, AGE) VALUES ('Sarah', 28);
CREATE TABLE LOCATIONS(CITY TEXT NOT NULL, STATE
TEXT NOT NULL);
INSERT INTO LOCATIONS(CITY, STATE) VALUES ('New York',
'NY’);
INSERT INTO LOCATIONS(CITY, STATE) VALUES ('Flint', 'MI');
SELECT * FROM PEOPLE;
SELECT * FROM LOCATIONS;
Azure Data Studio
Azure Database for MySQL – İlişkisel verileri sorgulama
Bir veritabanını sorgulamak için MySQL Workbench'i kullanın
Teşekkürler

DP:900 Azure Data Fundamentals - Azure'da ilişkisel veriler-02

  • 1.
    DP-900: Microsoft Azure Data Fundaments Modül 02: Azure’daİlişkisel Veriler Önder Değer Azure Solutions Architect – Microsoft Azure MVP https://www.devcloudops.com
  • 2.
    Azure’da İlişkisel Veriler • Azure'dailişkisel veri hizmetleri • Azure'da ilişkisel veritabanı hizmetlerini sağlama ve dağıtma • Azure'da ilişkisel verileri sorgulama
  • 3.
  • 4.
  • 5.
  • 6.
    Azure'da SQL Sunucusu AzureSanal Makinelerinde SQL Server Infrastructure as a Service Azure SQL Managed Instance Azure SQL Database Platform as a Service
  • 7.
    Azure Sanal MakinelerindeSQL Server Sanal Makinelerde SQL Server, kullanıcıların herhangi bir şirket içi donanımı yönetmek zorunda kalmadan Bulutta SQL Server'ın tam sürümlerini kullanmalarını sağlayan bir IaaS çözümüdür. • Şirket içi SQL Server ile garantili Uyumluluk • Müşteri her şeyi yönetir – işletim sistemi yükseltmeleri, yazılım yükseltmeleri, yedeklemeler, çoğaltma • Veritabanı başına değil, sunucu ve lisans için ödeme yapın
  • 8.
    Azure SQL Database AzureSQL Database, kullanıcıların bulutta yönetilen bir veritabanı sunucusu oluşturduğu ve ardından veritabanlarını sunucuda dağıttığı bir PaaS teklifidir. • Minimum yönetim ile düşük maliyetli seçenek • Esnek uygulama tasarımıyla yeni bulut projeleri için en iyisi • Değişken yüklere sahip sistemleri destekler - yeniden başlatmadan hızla yukarı ve aşağı ölçeklendirme Single Database Bulutta bir veritabanı sunucusu oluşturun ve çalıştırın ve veritabanına sunucu üzerinden erişin. Elastic Pool Birden çok veritabanı, bellek, depolama ve işlem gücü gibi aynı kaynakları paylaşır.
  • 9.
    Azure SQL ManagedInstance Azure SQL Managed Instance, bilgi işlem kaynaklarını önceden sağlamanıza ve önceden sağlanan işlem düzeyinize kadar birkaç ayrı yönetilen örneği dağıtmanıza olanak tanır. • Otomatik yedeklemeler, yazılım yamaları, veritabanı izleme ve diğer yönetim görevleri • Şirket içi SQL Server ile %100'e yakın Uyumluluk • Diğer Azure hizmetleri tarafından desteklenir Single Instance Bir SQL Server instance, birden çok veritabanı. Instance Pool Birden çok instance aynı kaynakları paylaşır.
  • 10.
    Azure SQL ManagedInstance ya da Azure SQL Database Azure SQL Managed Instance Single instance: SQL Server yüzey alanı (büyük çoğunluk) Yerel sanal ağ desteği Tümüyle yönetilen hizmet Instance pool: Geçiş için ön provizyon işlem kaynakları Uygun maliyetli geçiş sağlar Daha küçük örnekleri barındırma yeteneği (2Vcore) Şu anda genel önizlemede Azure SQL Database Single database: Hiper ölçekli depolama (100 TB'a kadar) Serverless Tümüyle yönetilen hizmet Elastic pool: Fiyat optimizasyonu için birden çok veritabanı arasında kaynak paylaşımı Birden çok veritabanı için basitleştirilmiş performans yönetimi Tümüyle yönetilen hizmet
  • 11.
    PostgreSQL, MySQL, MariaDB AzureDatabase for PostgreSQ, Microsoft bulutunda PostgreSQL Community Edition veritabanı motorunu temel alan ilişkisel bir veritabanı hizmetidir. Azure Database for MySQL, MySQL Community Edition'a dayalı, Azure bulutunda MySQL'in bir PaaS uygulamasıdır. Azure Database for MariaDB, Azure'da çalışacak şekilde uyarlanmış MariaDB veritabanı yönetim sisteminin bir uygulamasıdır. MariaDB Community Edition'a dayanmaktadır.
  • 12.
    Azure Database forPostgreSQL, MySQL, MariaDB Avantajları Tümüyle yönetilen topluluk veritabanı: Bildiğiniz araçları ve dilleri kullanmaya devam ederken tam olarak yönetilen bir hizmetten yararlanın En düşük toplam sahip olma maliyeti için yerleşik yüksek kullanılabilirlik: Ek maliyetlere gerek kalmadan verilerinizin her zaman kullanılabilir olduğundan emin olun Akıllı performans ve ölçek: Yerleşik zeka, 16 TB'a kadar depolama ve 20 bin IOPs ile performansı artırın Sektör lideri güvenlik ve uyumluluk: Gelişmiş Tehdit Koruması dahil gelişmiş güvenlik özellikleriyle verilerinizi koruyun Azure ekosistemiyle entegrasyon: Azure hizmetleriyle uygulamaları daha hızlı derleyin ve Azure IP Advantage ile inovasyonunuzu koruyun
  • 13.
  • 14.
    İlişkisel veri hizmetleriniyapılandırın Temel bilgiler Abonelik Kaynak grubu Yönetilen Örnek/Sunucu adı Veritabanı Adı (DB) Yönetici Girişi Parola Bölge Compute + depolama Ağ bağlantısı Genel ve Özel erişim VNet/Güvenlik Duvarı kuralları Bağlantı türü (MI) Ek ayarlar Veri kaynağı (DB) Sunucu Collation (MI) Veritabanı Collation (DB) Saat dilimi (MI) Gelişmiş veri güvenliği (DB) Etiketler (DB) İncele ve oluştur Terms and Privacy
  • 15.
    Azure dışından bağlantı ProxyPolitikası 1. Bir uygulama, ağ geçidi aracılığıyla Azure SQL veritabanına bağlantı kurar 2. Tüm istekler ağ geçidinden geçecektir 3. Uygulama, kümedeki başka bir sunucuda çalışan veritabanının farklı bir kopyasına yönlendirilebilir.
  • 16.
    Azure Role BasedAccess Control (RBAC) • Security principal: Azure kaynağına erişim isteyen bir kullanıcıyı veya hizmeti temsil eden bir nesne • Role: Bir dizi izin • Scope: Erişimin geçerli olduğu kaynak kümesini listeler Azure Role Based Access Control (RBAC) Azure kaynaklarına kimlerin erişimi olduğunu ve bu kaynaklarla neler yapabileceklerini yönetmenize yardımcı olur. Rol atamalarını kullanarak kaynaklara erişimi kontrol edersiniz. Bir rol ataması üç öğeden oluşur:
  • 17.
    Azure DB –Read Replikalar Read replikaları, BI ve analitik gibi okuma yoğun iş yüklerinin performansını ve ölçeğini iyileştirmeye yardımcı olur Birincil ve replikalar arasında veri senkronizasyonunda gecikmelerin kabul edilebilir olduğu senaryolarda read replikası özelliklerini göz önünde bulundurun. Bir olağanüstü durum kurtarma planı için birincilden farklı bir Azure bölgesinde bir çoğaltma oluşturun; burada, bölgesel olağanüstü durumlarda bir çoğaltma birincilin yerini alır Replika sunuculardaki veri depolama, iş yüklerini etkilemeden otomatik olarak büyür
  • 18.
  • 19.
    SQL'e Giriş SQL, ilişkiselveritabanlarıyla kullanım için standart bir dildir SQL standartları ANSI ve ISO tarafından korunur Tescilli RDBMS sistemlerinin T-SQL, PL/SQL, pgSQL gibi kendi SQL uzantıları vardır.
  • 20.
    SQL deyimi türleri DML DataManipulation Language Verileri sorgulamak ve işlemek için kullanılır SELECT, INSERT, UPDATE, DELETE DDL Data Definition Language Veritabanı nesnelerini tanımlamak için kullanılır CREATE, ALTER, DROP, RENAME DCL Data Control Language Güvenlik izinlerini yönetmek için kullanılır GRANT, REVOKE, DENY
  • 21.
    DML ifade kullanımı StatementTanım SELECT Bir tablodan seçin/okuyun INSERT Tabloya yeni satırlar ekleme UPDATE Bir tablodaki mevcut satırları düzenleyin/güncelleyin DELETE Tablodaki mevcut satırları silme
  • 22.
    SELECT İfadesinin Elemanları Clauseİfade SELECT <liste seç> FROM <tablo veya view> WHERE <arama koşulu> GROUP BY <listeye göre gruplandır> ORDER BY <listeye göre sırala>
  • 23.
    SELECT ifadesi örneği SELECTEmployeeId, YEAR(OrderDate) AS OrderYear FROM Sales.Orders WHERE CustomerId = 71 GROUP BY EmployeeId, YEAR(OrderDate) HAVING COUNT(*) > 1 ORDER BY EmployeeId, OrderYear;
  • 24.
    INSERT ifadesi örneği TheINSERT ... VALUES statement inserts a new row INSERT INTO Sales.OrderDetails (orderid, productid, unitprice, qty, discount) VALUES (10255,39,18,2,0.05); Table and row constructors add multirow capability to INSERT ... VALUES INSERT INTO Sales.OrderDetails (orderid, productid, unitprice, qty, discount) VALUES (10256,39,18,2,0.05), (10258,39,18,5,0.10);
  • 25.
    DDL ifade kullanımı StatementTanım CREATE Veritabanında tablo veya view gibi yeni bir nesne oluşturun ALTER Bir nesnenin yapısını değiştirin. Örneğin, yeni bir sütun eklemek için bir tabloyu değiştirmek. DROP Veritabanından bir nesneyi kaldırın. RENAME Mevcut bir nesneyi yeniden adlandırın.
  • 26.
    CREATE ifadesi örneği CREATETABLE Mytable (Mycolumn1 int NOT NULL PRIMARY KEY, Mycolumn2 VARCHAR(50) NOT NULL , Mycolumn3 VARCHAR(10) NOT NULL
  • 27.
    Azure Database forPostgreSQL – İlişkisel verileri sorgulama Bir veritabanını sorgulamak için PSQL kullanın Azure Cloud Shell psql --host=<server-name>.postgres.database.azure.com --username=<admin-user>@<server-name> -- dbname=postgres CREATE DATABASE "Adventureworks"; CREATE TABLE PEOPLE(NAME TEXT NOT NULL, AGE INT NOT NULL); INSERT INTO PEOPLE(NAME, AGE) VALUES ('Bob', 35); INSERT INTO PEOPLE(NAME, AGE) VALUES ('Sarah', 28); CREATE TABLE LOCATIONS(CITY TEXT NOT NULL, STATE TEXT NOT NULL); INSERT INTO LOCATIONS(CITY, STATE) VALUES ('New York', 'NY’); INSERT INTO LOCATIONS(CITY, STATE) VALUES ('Flint', 'MI'); SELECT * FROM PEOPLE; SELECT * FROM LOCATIONS; Azure Data Studio
  • 28.
    Azure Database forMySQL – İlişkisel verileri sorgulama Bir veritabanını sorgulamak için MySQL Workbench'i kullanın
  • 29.