Presentation is loading. Please wait.

Presentation is loading. Please wait.

Kittiphan Techakittiroj (21/10/58 13:33 น. 21/10/58 13:33 น. 21/10/58 13:33 น.) Database Servers Kittiphan Techakittiroj

Similar presentations


Presentation on theme: "Kittiphan Techakittiroj (21/10/58 13:33 น. 21/10/58 13:33 น. 21/10/58 13:33 น.) Database Servers Kittiphan Techakittiroj"— Presentation transcript:

1 Kittiphan Techakittiroj (21/10/58 13:33 น. 21/10/58 13:33 น. 21/10/58 13:33 น.) Database Servers Kittiphan Techakittiroj engktc@au.ac.th

2 Kittiphan Techakittiroj (21/10/58 13:33 น. 21/10/58 13:33 น. 21/10/58 13:33 น.) Introduction to database servers SQL: the language for database SQL Middleware Database Server Architectures Agenda

3 Kittiphan Techakittiroj (21/10/58 13:33 น. 21/10/58 13:33 น. 21/10/58 13:33 น.) Introduction to Database Servers Send one command to server: SQL Request Server processes the request Information sent back from server

4 Kittiphan Techakittiroj (21/10/58 13:33 น. 21/10/58 13:33 น. 21/10/58 13:33 น.) Huge Market --> $$ Money $$ SQL is most common language SQL is standard, but its extensions is not Current Situation Introduction to Database Servers

5 Kittiphan Techakittiroj (21/10/58 13:33 น. 21/10/58 13:33 น. 21/10/58 13:33 น.) SQL Structured Query Language “English-Like” language to manipulate Database You tells the server what you need by using SQL as the communication language Server interprets SQL command and find the way to get the data (how to get the data)

6 Kittiphan Techakittiroj (21/10/58 13:33 น. 21/10/58 13:33 น. 21/10/58 13:33 น.) SQL cont. Create by Mathematician Well-defined language based on set-theory Powerful & Flexible commands Store, Retrieve and Process Process = Query, Combining, Calculation (summation) ISO SQL, ANSI SQL-89, ANSI SQL-92

7 Kittiphan Techakittiroj (21/10/58 13:33 น. 21/10/58 13:33 น. 21/10/58 13:33 น.) Interactive query langauge for general database queries: for end-user, specially new GUI systems Database programming language: embedded in many languages Data definition language and data administration Language: contain both define database and manipulate database Language for networked database servers and multiuser environment Characteristics of SQL SQL

8 Kittiphan Techakittiroj (21/10/58 13:33 น. 21/10/58 13:33 น. 21/10/58 13:33 น.) Jointly by ANSI and ISO SQL-89: starting point of standard SQL SQL-92: serious defined of standard SQL SQL-3: future trend but may be too much SQL Standard SQL

9 Kittiphan Techakittiroj (21/10/58 13:33 น. 21/10/58 13:33 น. 21/10/58 13:33 น.) SQL-89: defined according to existing products to make it widely acceptable SQL-92: current implementation. At first, difficult to implement so it contains three levels of compliance (entry, intermediate and full) SQL-3: contain a lot of feature. Not-yet-standard and will use time to build products. Details of SQL Standard SQL: SQL Standard

10 Kittiphan Techakittiroj (21/10/58 13:33 น. 21/10/58 13:33 น. 21/10/58 13:33 น.) Vendors try to add more functionality Standard becomes a minimum requirement Using extensions of SQL: –higher performance –easier in programming –lose compatibility SQL Extensions SQL: SQL Standard

11 Kittiphan Techakittiroj (21/10/58 13:33 น. 21/10/58 13:33 น. 21/10/58 13:33 น.) SQL Middleware API (Application Programming Interface) Help developers for –communicate with the server easier –create front-end client easier supporting multiple client platforms supporting multiple server platforms make the differences disappear by becoming a transparent middleware

12 Kittiphan Techakittiroj (21/10/58 13:33 น. 21/10/58 13:33 น. 21/10/58 13:33 น.) The complete systems contain –Proprietary SQL API for multiple client-platforms –Proprietary SQL driver to interface with SQL servers –Supporting for multiple protocol stacks (e.g. TCP/IP) Single Vendor Solution SQL Middleware

13 Kittiphan Techakittiroj (21/10/58 13:33 น. 21/10/58 13:33 น. 21/10/58 13:33 น.) Extra functionality –Gateways to other vendor databases: usually multi-tier –Client/Server database administration tools –GUI application developments: I recommend third-party Single Vendor Solution cont. SQL Middleware

14 Kittiphan Techakittiroj (21/10/58 13:33 น. 21/10/58 13:33 น. 21/10/58 13:33 น.) Facing Problems: –Different SQL APIs –Multiple database drivers Multi-vendor Solution SQL Middleware

15 Kittiphan Techakittiroj (21/10/58 13:33 น. 21/10/58 13:33 น. 21/10/58 13:33 น.) Facing Problems: –Multiple FAPs and no interoperability –Multipble administartion tools Multi-vendor Solution cont. SQL Middleware

16 Kittiphan Techakittiroj (21/10/58 13:33 น. 21/10/58 13:33 น. 21/10/58 13:33 น.) Try to eliminate the need of “multiple” Three strategies: –Common SQL Interface –Open SQL Gateway –Standard SQL Systems Middleware Solution SQL Middleware

17 Kittiphan Techakittiroj (21/10/58 13:33 น. 21/10/58 13:33 น. 21/10/58 13:33 น.) Commonly use: nothing to do with server Need the common SQL API: there are many! Need multiple drivers Required multiple managing stations FAPs Common SQL Interface SQL Middleware: Middleware Solution

18 Kittiphan Techakittiroj (21/10/58 13:33 น. 21/10/58 13:33 น. 21/10/58 13:33 น.) Standardize more portion on the client Need the gateway server Open SQL Gateway SQL Middleware: Middleware Solution

19 Kittiphan Techakittiroj (21/10/58 13:33 น. 21/10/58 13:33 น. 21/10/58 13:33 น.) All Vendors have the same things Big Politic issues Standard SQL Systems SQL Middleware: Middleware Solution

20 Kittiphan Techakittiroj (21/10/58 13:33 น. 21/10/58 13:33 น. 21/10/58 13:33 น.) Application Programming Interface Help developing programs Embedded SQL & SQL Call-Level Interface API SQL Middleware

21 Kittiphan Techakittiroj (21/10/58 13:33 น. 21/10/58 13:33 น. 21/10/58 13:33 น.) SQL within COBOL, FORTRAN, C, … Defined by ISO SQL-92 SQL becomes part of the language After compilation become specific to a single database vendor Embedded SQL SQL Middleware: API

22 Kittiphan Techakittiroj (21/10/58 13:33 น. 21/10/58 13:33 น. 21/10/58 13:33 น.) SQL is not embedded into part of the program Interface to the “CLI library” is included in the program Allow users to change database vendors by changing “CLI library” SQL Call-Level Interfaces SQL Middleware: API

23 Kittiphan Techakittiroj (21/10/58 13:33 น. 21/10/58 13:33 น. 21/10/58 13:33 น.) Common Standard is SAG CLI Contains the SQL style procedure calls ODBC is grown from SAG CLI –from Microsoft –ODBC 1.0 was slow and buggy –ODBC 2.0 contains 3 portions (core, Level 1, Level 2) –ODBC 3.0 introduce more functions and supporting for Unicode SQL Call-Level Interfaces cont. SQL Middleware: API

24 Kittiphan Techakittiroj (21/10/58 13:33 น. 21/10/58 13:33 น. 21/10/58 13:33 น.) Most tool combine both methods Visual tools are available –Delphi (PASCAL variant) –PowerBuilder (C++ variant) –Visual Basic (BASIC variant) Combination and Tools SQL Middleware: API

25 Kittiphan Techakittiroj (21/10/58 13:33 น. 21/10/58 13:33 น. 21/10/58 13:33 น.) Database Servers Receive request from clients –mixing between standard SQL and proprietary SQL (to enhance performance) Process the request –create, retrieve, modify, calculate –containing protection for sharing data Send the result back

26 Kittiphan Techakittiroj (21/10/58 13:33 น. 21/10/58 13:33 น. 21/10/58 13:33 น.) Process-per-client architectures: servers build one process for one client Multithreaded architectures: use the concept of multithread instead of multiprocess Hybrid architectures: combination of both architecture Database Server Architecture Database Servers

27 Kittiphan Techakittiroj (21/10/58 13:33 น. 21/10/58 13:33 น. 21/10/58 13:33 น.) Each user has there own process Process-Per-Client Architectures Database Servers: Database Server Architecture

28 Kittiphan Techakittiroj (21/10/58 13:33 น. 21/10/58 13:33 น. 21/10/58 13:33 น.) Each client has its own environment space –one process dead, other can still work Good for multiprocessor system Consume more resource –more memory and CPU resources –slow due to process context switches and interprocess communications Examples: Informix, Oracle Process-Per-Client Architectures cont. Database Servers: Database Server Architecture

29 Kittiphan Techakittiroj (21/10/58 13:33 น. 21/10/58 13:33 น. 21/10/58 13:33 น.) Sharing same environment space by using the concept of multithread for multitask Multithreaded Architectures Database Servers: Database Server Architecture

30 Kittiphan Techakittiroj (21/10/58 13:33 น. 21/10/58 13:33 น. 21/10/58 13:33 น.) best performance because of running on the same environment address not rely much on the OS multitasking: cross-platform applications save memory and CPU resources one connection down the other gone Example: MS SQL Server Multithreaded Architecture cont. Database Servers: Database Server Architecture

31 Kittiphan Techakittiroj (21/10/58 13:33 น. 21/10/58 13:33 น. 21/10/58 13:33 น.) combination of previous two Hybrid Architectures Database Servers: Database Server Architecture

32 Kittiphan Techakittiroj (21/10/58 13:33 น. 21/10/58 13:33 น. 21/10/58 13:33 น.) Reference Books Client/server survival guide 3 rd edition by Robert Orfali, Dan Harkey, Jeri Edwards (John Wiley & Sons: 1999)


Download ppt "Kittiphan Techakittiroj (21/10/58 13:33 น. 21/10/58 13:33 น. 21/10/58 13:33 น.) Database Servers Kittiphan Techakittiroj"

Similar presentations


Ads by Google