Elmasri kap. 23.1 - 23.2, 17.1-17.31 Databaser Kvalitetsattributter og arkitektur Sikkerhed Transaktioner.

Slides:



Advertisements
Lignende præsentationer
Katalog over nationale standarder på sundhedsområdet.
Advertisements

SharePoint /36 2 General SettingsPermissions and ManagementCommunications Titel, description and navigation Versioning settings Advanced settings.
Teststrategi Engrosmodellen
Stored Procedure Stored Procedure er programstumper, der gemmes i databasen og afvikles op databaseserveren på samme måde som forespørgsler. Med Stored.
Next Generation Operations Management AutoNOC 2. AutoNOC 2 Business fordele.
2009NOEA/IT - Databaser/arkitektur1 Databaser Introduktion - Arkitektur Introduktion DBMS-arkitektur Datamodeller.
TEST 1 modul 1 20 spørgsmål. Du skal klikke med musen på det rigtige svar, så kommer du automatisk til næste spørgsmål Klik for start.
IM-Strategi.
SQL underforespørgsler og Join
Teststrategi Engrosmodellen
Formularer (Access, del 3)
Krav og usecases Larman kap. 5 og 6 (del1) Larman kap del1
07 – Kort om OO Introduktion.
Sikkerhed/Otto Knudsen 1 Diagnostics  Debug af web-applikationer.
SQL 1 DDL og DML.
Cell ● Cell er implementeret vha. intermediate state transfer ● State der skal overføres – Værdi referencen – Delta af versionerne af de værdi-orienterede.
SummIT05 Kvaliteter i software Kvalitet på højt niveau –Lektor Klaus Marius Hansen ISIS Katrinebjerg Aarhus Universitet CISS-projekter relateret.
View Procedures Trigger og Function Jesper Tørresø DAB1 E07 1. november 2007.
WorldIQ A/S - Technology Briefing
Arkitektur - Sikkerhed
Representations for Path Finding in Planar Environments.
Introduktion til Access (Access, del 1)
Relationsdatabaser og SQL
Beskrivelses- og analyse-teknikker understøttet af Oracle Designer Del 2 af 2: Proces- og funktionsdiagrammering Aalborg Universitet, d. 9. oktober 2006.
Beskrivelses- og analyse-teknikker understøttet af Oracle Designer
NOEA/IT FEN - Databaser/Sikkerhed 1 Lektion 10 Sikkerhed og integritet Områder Autorisationsmatrix Realisering i SQL.
Indledende Programmering Uge 5 - Efterår 2006 Om at udvikle korrekte og pålidelige programmer Susanne Lindros.
”Søg og du skal finde” fra idé til applikation af Mads Thomsen og Bent Guldager.
FEN IntroJava AAU1 Java grundelementer Variable og datatyper Sætninger og udtryk Metoder.
7. SQL constraints og triggers1 Aktive elementer i SQL.
Introduktion til arkitektur design Arkitektur design handler om at få en forståelse for, hvordan et system skal organiseres og designe den overordnede.
OPI EFFEKTMÅLINGSVÆRKTØJ
1 Sortering I elementære metoder. 2 Plan Terminologi Elementære metoder til sortering -sortering ved udvælgelse -sortering ved indsættelse -Shellsort.
MSBuild & Team Build i C#/C++ solutions VSTS ERFA d. 25 November.
SQL Jesper Tørresø DAB1 E oktober Punkter for i dag. SQL baggrund. Relationel algebra. Brug af VS2005.
Grunde til at jeg elsker dig
8.7 Security: Grant and revoke1 Sikkerhed 8.7 Security and User Authorization in SQL.
Fundamentale datastrukturer
1. Database-systemer, introduktion
Design, verifikation og analyse
Introduktion til Access (Access, del 1). RHS – Informationsteknologi – Fra design til udvikling Vi ved nu, hvordan vi finder et design for en database,
17. Fejl-håndtering1 Fejl-håndtering 17. Coping With System Failures.
Intro Større applikationer, f. eks: Bogpris.dk. Nye bøger.
10. Datastrukturer. 2 Nordjyllands Erhvervakademi Collections library Datastrukturer i.NET kaldes normalt Collections Findes i namespace System.Collections.
8.6 Transaktioner1 Transaktioner 8.6 Transactions in SQL.
1 Fundamentale datastrukturer. 2 Definitioner: abstrakt datatype, datastruktur Elementære datastrukturer og abstrakte datatyper : arrays, stakke, køer,
Eksamen i Databasesystemer. Eksamen 4 timers skriftlig eksamen afholdes 8. januar 2004 kl Alle skriftlige hjælpemidler. Der gives karakter efter.
Rapid Application Development med Application Express Aalborg Universitet, d. 19. september 2007 B e n t M ø l l e r M a d s e nB e n t M ø l l e r M a.
Transaktioner og ACID Spørgsmål 8. Transaktioner og ACID ACID (Atomicity, Consistency, Isolation, Durability) ACID-egenskaber er sæt egenskaber, der garanterer.
ADO.NET Databaser SQL Client (SQL server 7 og senere) OleDb (en række incl. jet) ODBC MySql (ekstra driver skal instaleres) Oracle (XML dataset) Samme.
SQL Jesper Tørresø DAB1 E September Punkter for i dag. SQL baggrund. Relationel algebra. SQL koncept –Vises ved brug af VS2008.
Usability ITU, efterår Informations arkitektur ITU Efterår 2007.
8.5 JDBC1 JDBC 8.5 Java Database Connectivity. 8.5 JDBC2 JDBC introduktion, 393 JDBC er ikke en forkortelse for –Java Database Connectivity Sun har defineret.
PD – kursusgang 3 Introduktion til Java Script. Mål Viden om hvordan JavaScripts indlejres i HTML dokumenter Viden om programmering i JavaScript  Erklæring.
Usability ITU, forår 2008 Usability ITU Forår 2008 ’Teori 2’ 3. kursusgang, 14. februar 2008.
Databaseadgang fra C#:
Database.
Database Some walk through. Database Design – Begreber 1 Database: En fælles samling af logiske relaterede data (informationer) DBMS (database management.
Unified Modeling Language
Deadlock Definition deadlock (baglås) er en tilstand som en mængde af processer kan være i en mængde processer er i deadlock hvis alle processerne står.
8. Transaktioner og låsning/låse. Herunder ACID egenskaberne.
 Jens Bennedsen 2002Objektorienteret systemudvikling GRASP mønstre Basale ansvarsplaceringsregler.
 Jens Bennedsen 2002Objektorienteret systemudvikling Arkitektur.
Objekt-relationel DBMS1 4.5 The Object-Relational Model 9.4 User-Defined Types in SQL 9.5 Operations on Object-Relational Data Ullman: Object-Relational.
 Jens Bennedsen 2001Multimedie programmering4.1 Definition af begreber Interface, implements, klasse.
Hjemmet som et Distribueret System Jonas Thomsen Ph.d. studerende Center for Pervasive Computing.
Database Some walk through lv/ Figures & some text from: © Pearson Education Limited 1995,
Sikkerhed.
Modellering og data Nyt forløb.
B-boringer og prøvesteder Opsummering af projektet heunder rolle-rettigheder og kvalitetssikring proces Dato: Udarbejdet af projektledelsen.
Præsentationens transcript:

elmasri kap , Databaser Kvalitetsattributter og arkitektur Sikkerhed Transaktioner

elmasri kap , Definition af software arkitektur The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationships among them [BCK :Software Architecture in practice]

elmasri kap , Definitionen the externally visible properties: er de antagelser andre elementer kan tage f.eks.hvilke services det stilles til rådighed, hvordan performer det, fejlhåndtering….

elmasri kap , Andre pointer Alle systemer har en arkitektur –Måske består det kun af en komponent –Arkitekturen er måske ikke kendt! Komponenternes opførsel er en del af arkitekturen Arkitekturen opfylder måske kravene

elmasri kap , Kvalitetskrav og arkitektur Arkitekturen bestemmes ud fra kvalitetskravene til et system, som kan inddeles i følgende hovedkategorier: sikkerhed tilgængelighed modificerbarhed performance testbarhed usability Fx kan man impl. samme funktionalitet i en 1., 2., eller flere lags arkitektur og systemet virker lige godt overfor brugerne MEN det er flere lags arkitekturen, der bedst opfylder kvalitetskrav vedr. modificerbarhed Man kan udtrykke det således, at kvalitetskravene bestemmer arkitekturen, men det er gennem funktionalitetskravene den gives indhold og kan valideres.

elmasri kap , Kvalitetskrav og arkitektur Kvalitetskrav kan være modstridende – eller der kan være modstrid til forretningskvaliteter som ’time to marked’, cost and benefits, deadlines osv. Kvalitetskravene gøres målbare ved kvalitetsscenarier fx –systemet skal kunne udvides med en web-gui uden at det berører øvrige dele af systemet i løbet af 3 dage –når en bruger søger efter en vare skal den gennemsnitlige svar tid ved en normal operation være under 2. sek Der er den arkitektur bærende funktionalitet eller de mest komplekse use case, der bestemmer lagene, hovedmoduler og deres interfaces.

elmasri kap , Modificerbarhed Hvad koster det at ændre systemet –Hvad kan ændres? Hardware-software-middelware- os –Hvad får ændringer indflydelse på? Design, performance…. Slutbruger, system administrator -Hvordan opsamles ønsker om ændringer?

elmasri kap , Overvejelser i forhold til sikkerhed Prøv at identificer mulige fejlsituationer Hvordan er disse fejlsituationer en sikkerhedsrisiko? Hvad kan der gøres for at sikre systemet? Hvordan kan mulige fejlsituationer minimeres? Kan der være ”ikke tekniske” sikkerhedsproblemer? Hvor meget må det koste?? Hvilke konsekvenser får valgene på: forskellige strukturer (moduler, komponenter)

elmasri kap , Sikkerhed i forhold til databasen Lovlige og etiske Politik (de forskellige institutioner man er underlagt) Tab af integrititet Tab af tilgængelighed Uautoriserede tilgang

elmasri kap , Sikkerhed indbygget i DBMS Kommandoer for tildeling af privilegier: –Account creation: Oprettelse af nye accounts og PW for brugere som skal kunne tilgå DBMS –Privilige granting: Tildeling af rettigheder til bestemte accounts –Privilige revokation: Fratagelse af rettigheder –Security level assignment: Tildeling af rettigheder til det rigtige sikkerhedsniveau Niveauer for tildeling af privilegier: –Account level: Tildeling af særlige privilegier uafhængig af de enkelte tabeller fx rettighed til at oprette tabeller, læse og skrive –The relation level: Privilegier tildeles de enkelte tupler (select, modify eller reference privilegier) ved grant og revoke kommandoer i sql Ansvarlig: Databaseadministrator (DBA)

elmasri kap , Grant/Revoke Ejeren af en tabel kan ved kommandoerne grant og revoke tildele og fratage rettigheder til en anden bruger: –Grant on to –Eks: Grant insert, delete on employee, department to hanne –Revoke on from –Eks: Revoke insert, delete on employee, department from hanne Eksempler: (elmasri s )

elmasri kap , Transaktioner Transaktion: –Er en atomisk operation af sql ”statements” –Udføres enten helt eller uden effekt på databasen Er kun relevant ved opdatering af data Problemer hvis en transaktion kan udføres samtidigt på de samme dataelementer –Lost update –Temporary update (dirty read) –Incorrect summary problem

elmasri kap , Lost update T1T2 Read_item(x) X= x-n read_item(x); x=x+m; Write_item(x) Read_item(y); write_item(x); Y:=Y+N; Write_item (Y); tid X har en forkert værdi

elmasri kap , Dirty read T1T2 Read_item(x) X= x-n Write_item(x) read_item(x); x=x+m; write_item(x); Read_item(y); … tid T1 fejler og må ændre x tilbage

elmasri kap , Incorret summary

elmasri kap , Transactions states

elmasri kap , Operationer til recovery management Begin transaction Read or write End Transaction Commit transaction Rollback Registreres i systemlog

elmasri kap , Et DBMS skal understøtte ACID egenskaber –Atomar: Enten udføres hele processen eller intet –Consistent: Constraints i databasen overholdes (consistens før og efter en transaktionen er udført) –Isolation: For den enkelte bruger skal det virke som kun en proces udføres ad gangen (sikring af at samtidige transaktioner isoleres fra hinanden (isolationsniveauer) –Durable: Effekten af en committet proces må ikke gå tabt ved system crash (sikring af at opdateringer gemmes)

elmasri kap , Atomar Sikres ved sql statementet: roll back Transaktionen logges og hvis den er fejler laver databasen roll back til tilstanden før transaktionen startede Fejl kan være fejl i connection Hvis der ikke benyttes transaktioner laver databasen roll back på det enkelte sql statement, hvis det fejler Fortryder brugeren en opdatering skal roll back styres gennem programmerne Roll back dækker også kravet om durability

elmasri kap , Transaktioner Er det et fornuftigt valg at indpakke nedenstående sql statements I en transaktion? con.setAutoCommit(false); Statement stmt = con.createStatement(); stmt.executeUpdate( “INSERT INTO BOOKS VALUES(....)”); stmt.executeUpdate( “INSERT INTO AUTHORS VALUES(....)”); stmt.executeUpdate( “INSERT INTO BOOKSAUTHORS VALUES(....)”); con.commit(); con.setAutoCommit(true); start transaktion – ”Begin transaction” findes ikke i java transaktion afslut

elmasri kap , Analyse af samtidighedsproblemer I hvilke af følgende situationer kan der være samtidighedsproblemer? Illustrer ved et transaktionsscenarie: –Billetreservation til en biograf –Hævning på en konto de ejes af mindst 2 Vurder sandsynlighed samt hvor kritisk problemet er