Uvod v SQL Server 2005 - University of Ljubljana

Download Report

Transcript Uvod v SQL Server 2005 - University of Ljubljana

Matjaž Perpar
[email protected]
Microsoft Corporation
Vsebina

Hiter pregled strežnika SQL Server 2005

Repliciranje PB
Delno strukturirani podatki in XML
CLR (.net) v PB
SQL Server in SOA arhitektura






Uporaba spletnih storitev
Service Broker
Notification Services in Query Notification
Microsoft SQL Server 2005
Microsoft BI arhitektura
Information Delivery
Sources
Data Marts
Enterprise
Reporting
Client
Portal
ERP
Business Insights
Familiar,
Powerful
BI Tools
CRM
Third Party
Applications
Interactive Reports
LOB
Enterprise
ETL
Data
Warehouse
Integrated
Enterprise
BI Platform
Business
Analysis
Data Analysis
(OLAP, Data
Mining)
Enterprise
Reporting
Devices
Performance
Scorecard
Performance
Management
Reporting Services arhitektura
Browser
Data Sources
(SQL, OLE DB, XML/A,
ODBC, Oracle, Custom)
Custom Application
Office
XML Web Service Interface
Security Services
(NT, Passport,
Custom)
Report Server
Report Processing
Output Formats
(HTML, Excel, PDF, Custom)
Data Processing
Security
Rendering
Scheduling & Delivery
SQL Server Catalog
Delivery Targets
(E-mail, SharePoint,
Custom)
Microsoft SQL Server 2005
Replikacija podatkov med PB

Različni tipi replikacije
Snapshot replikacija
 Transakcijska replikacija
 Merge replikacija


Izberemo ustrezni tip glede na želeni
scenarij
Snapshot replikacija


Distribuira podatke natanko
take, kot so bili ob točno
določenem trenutku in ne
nadzira sprememb.
Ko se zgodi sinhronizacija, se
zgenerira celoten snapshot in
pošlje Subscriberjem
Transakcijska replikacija

Spremembe v publisher-ju se
replicirajo takoj ko se pojavijo

Aplikacija potrebuje dostop do
vsakega stanja (izvedene
transakcije)



Npr: če se en podatek 5x
spremeni, se mora aplikacija
odzvati na vseh 5 sprememb in ne
samo na zadnjo spremembo.
Primerno če ima Publisher veliko
insert, update in delete ukazov
Ali če Publisher ali Subscriber ni
SQL server PB
Merge replikacija


Vse spremembe na
Publisherju so sledljivi z
trigerji
Subscriber se sinhronzira z
Publisher-jem tako, da dobi
vse spremembe od zadnje
sinhronizacije naenkrat
Merge replikacija preko HTTPS
IIS
Subscriber
-InternetUrl
https://myserver.mydomain.com
Firewall
Replisapi.dll
Publisher/Distributor
Peer-to-Peer transakcijska replikacija



Primerna za aplikacije,
ki berejo in pišejo v
katerokoli PB (ki
sodeluje v repl.)
Hitrejše branje
Večja razpoložljivost
Kriteriji za uporabo distribucije ali replikacije
Merge replikacija
UPDATE
Transakcijska replikacija
Kriteriji
Čas/Latenca
Avtonomija
Transakcijska
konsistenca
UPDATE
UPDATE
Replikacija med heterogenimi PB
Transakcijska in snapshot replikacija


Vir (publisher) je SQL
Server
Replikacija podatkov je
možna z:



IBM DB2
Oracle
Sybase


Vir (publisher) je
Oracle
Replikacija podatkov je
možna z:

SQL Server
Linked Server



Termin: Linked
Servers
SQL Server lahko
izvede ukaz na OLE DB
podatkovni vir na
oddaljenem strežniku
Interna komunikacija
poteka po OLE DB
SQL Server Mobile



Razširjena podpora naprav

Podpora za Windows Mobile Pocket PC in Smartphone

Podpora za TabletPC

Podpora za naslednjo generacijo Windows Mobile naprav
Tesnejša integracija z SQL strežnikom in VS

Integracija z SQL Server Management Studio

Uvoz podatkov v SQL Mobile iz katerega koli DTS podatkovnega
vira

Integracija z Visual Studio 2005
Replikacija podatkov z strežnikom SQL Server
Kaj je XML?
Vse bolj pomemben standard za zapis
podatkov na internetu
 Tekstovna datoteka z določenimi
oznakami, ki definirajo strukturo datoteke
 Za izmenjavo podatkov med različnimi
sistemi
 Termini:

XML
 XML shema
 XSLT

Uporaba XML v PB
Omogočen razvoj novih aplikacij z…
Podpora XML
 Shranjevanje od platforme neodvisnih podatkov
 Izdelava vsebinsko bogatih aplikacij
 Povezava heterogenih sistemov z uporabo xml sporočil
Loosely coupled services
Point-of-Sale
(Windows Platform)
XML sporočilo
Dobavitelj
(Non-windows)
Sobivanje XML in relacijskih podatkov
 Zmogljivo skladišče XML podatkov
 Hitre poizvedbe
 Izboljšanje obstoječih aplikacij z XML podatki
DB Table
Npr: Kandidati
za službo
First Name
Last Name
Address
Phone
XML pod. tip
XML v podatkovni bazi

XML podatkovni tip


XML Shema (opcija)



Zbirka XML shem
XML Indeksi
Dostop do podatkov XML, poizvedbe in
posodobitve




Podatkovni tip, spremenljivke, parametri
XQuery
DML razširitev
Integrirano v relacijsko procesiranje
Prednosti za končne uporabnike

Možna izvedba novih scenarijev (npr: novi načini
uporabe Office dokumentov - Document Management,
...)
Dostop do podatkov XML
SQL
XML
XML
Podatkovni
tip
FName
LName
Addr
Phone
Fax
XML
XML v podatkovni zbirki
FName
LName
Addr
Phone
Fax
XML
XML



XML podatkovni tip
Relacijski podatki -> XML
XML -> Relacijski podatki
Delo z XML v SQL 2005
.NET in Visual Studio integracija

Izbira programskega jezika
T-SQL za podatkovno intenzivne funkcije in
procedure
 .NET jeziki za CPU intenzivne in kompleksne
funkcije in procedure


Kje naj se izvaja logika


PB ali srednji nivo
Integrirano razhroščevanje na srednjem in
PB nivoju
Enostavni preskok med jeziki– TSQL in .NET
 Postavi prekinitveno točko kjerkoli, razišči
karkoli

Integracija okolja .NET

Razvojno okolje za:
Uporabniško definirane funkcije, procedure,
trigerji..
 Uporabniško definirani tipi in agregati
 XML podatkovni tip

Dostop do podatkov znotraj procesa
(ADO.NET2.0)
 Varnost

Integracija SQL in CLR varnosti
 Trije nivoji varnosti (CAS)


Safe, External-Access (verifiable), Unsafe
Integracija okolja .NET (II)
SQL Process

SQL OS Manages:


CLR

Memory
Threads
Synchronization
T-SQL
Hosting
Layer

SQL-CLR host coordinates


SQL OS


Windows
Assembly Loading
Security management
App domain management
Escalation policy for critical
exceptions
Razvijalska izkušnja
VB,C#,C++
Projekt
VS.NET
Zbir
“TaxLib.dll”
create
create
create
create
create
Gostitelj CLR
v procesu
SQL Server
select sum(tax(sal,state))
from Emp
where county = ‘King’
Prevod
assembly …
function …
procedure …
trigger …
type …
Dodajanje zbira .NET v SQL strežnik
Storitveno usmerjena arhitektura - SOA

SQL Server 2005 vsebuje osnovne gradnike za
SOA



Neposredni dostop do
podatkovne zbirke
preko spletne
storitve
(HTTP/SOAP)
Service Broker –
storitveno usmerjeno,
porazdeljeno,
asinhrono, zanesljivo,
distribucijsko
sporočanje
Query Notifications
Odzivna večnivojska
storitev za
obveščanje o
spremembah v
rezultatu poizvedbe
Web
Clients
Highly Responsive,
Data-Caching Mid-Tier
Queries with
Notifications
SQL requests via
HTTP/SOAP
Legacy NonWindows System
Service
based
transactional
workflow
Uporaba spletnih storitev
Interoperabilnost in ponovna uporaba komponent…



Non Windows
Integrirane spletne storitve
Komunikacija med različnimi
platformami
Zmanjšana odvisnost od srednjega
nivoja (IIS)
Poenostavljen upravljanje in nadzor
SOAP/XML
/HTTP
Web Svc
Endpoints
SP
SP
SP
TSQL
Razvojna ogrodja za SOA arhitekturo
Zanesljivo distribucijsko sporočanje
Svc 1
DB Instance 1
Svc 2
message
SQL Service Broker
 Gradnja skalabilnih rešitev z asinhrono
komunikacijo
 Izdelava zanesljivih in distribuiranih rešitev
z več PB
Push aplikacije opozorijo
 Hitrejše delovanje
uporabnike (naročnike) na nek
DB Instance 2
zanimiv (naročen) dogodek :
Users
Zmogljiv klient in predpomnenje na
srednjem nivoju



Izdelava aplikacij, ki uporabljajo bogate
dogodke (Push aplikacije)
Zmogljivo predpomnenje na klientu
Zmogljivo predpomnenje na srednjem
nivoju
Push Application
Sinhrono procesiranje
SQL Engine
Transakcija
Aplikacija
Stored
Proc
Aplikacija in stored procedura tečejo v:
• isti transakciji
• istem kontekstu
• isti izvajalni niti
Asinhrono procesiranje
Transakcija
komunikacija
Aplikacija
Transakcija
Stored procedura teče v:
- drugi transakciji
- druga izvajalna nit
- drugi kontekst
Stored
proc.
Service Broker
Asinhrono in porazdeljeno razvojno okolje






Popolnoma integriran v SUPB
Sporočilna vrsta je objekt v PB
Zagotovljen pravilni vrstni red v
vrsti
Zanesljivo sporočanje za “scale
out” širitve
Uporaba ostalih SQL Server 2005
storitev – dogodki, obvestila,
SQLiMail
Prednosti uporabe - Novi scenariji:


Asinhrone stored procedure
Skalabilne porazdeljene aplikacije z
več PBji
Svc 1
DB Instance 1
Svc 2
DB Instance 2
message
Query Notification




Enostavna implementacija
zmogljivega predpomnjenja
na srednjem nivoju
 Zmožnost naročanja na
spremembe rezultata
neke SQL poizvedbe
 Breme preložimo iz PB
nivoja na srednji nivo
 Integrirana detekcija
sprememb – obvesti
naročnika takoj ko se
spremeni rezultat
poizvedbe
 Ni potrebno razvijati
svojega sistema za
predpomnjenje
Samo z nekaj dodatnimi
vrsticami kode k trenutnim
zahtevam
 ADO.NET
 OLEDB
Uporablja Service Broker
arhitekturo
Uporaba tehnike “Don’t call
us – we call you!”
Requests/
Responses
IIS/
ASP.Net
Query &
Subscription
/Results
Notification
of Cache
Invalidation
SQL Server
2005
Vprašanja?
© 2004 Microsoft Corporation. All rights reserved.