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.