Download presentation
1
IT Server Architecture
강영준
2
Mainframe/workstation (1-tier Architecture)
Client/Server (2-tier Architecture) 3-tier Architecture Web service (4-tier Architecture) Mainframe 대형 서버에 단말기를 연결해서 사용 단말에 데이터연산 기능이 없음 단일 Mainframe내에서 모든 업무를 처리 Workstation Mainframe보다는 연산 능력이 떨어지는 소규모 업무, 개인용 컴퓨터 다른 단말이 연결되지 않고 단독으로 수행 데이터의 공유 없음
3
Client/Server (2-tier Architecture)
Mainframe Workstation (1-tier Architecture) Client/Server (2-tier Architecture) 3-tier Architecture Web service (4-tier Architecture) Client/Server (2tier) 네트워크로 Mainframe 및 workstation을 연결하기 시작 Thin client, fat server Server 에서 데이터 베이스, 비즈니스 로직을 처리하고 Client에서 프리젠테이션로직을 처리 Fat client, thin server Server 에서는 단순히 데이터만 저장되고 Client 에서 DB엑세스, 비즈니스 로직, 프리젠테이션 로직을 처리
4
Client/Server (2-tier Architecture)
Thin client, fat server Execute Procedure Return Result Presentation Logic Database Application Logic (Stored Procedure) <데이터베이스 서버 모델>
5
Client/Server (2-tier Architecture)
Fat client, thin server Select Insert Return Result Presentation Logic Application Logic Database <원격 데이터베이스 접근 모델>
6
Client/Server (2-tier Architecture)
장점 단점 개발환경 구축이 용이함(쉬운 구현) 변화에 따른 위험부담 최소화 사용자가 많으면 성능 저하 응용프로그램 수정 시 많은 작업 필요 응용프로그램이 DBMS에 종속적이고 재사용이 어려움 적용 분야 통계분석, 리포팅, 배치성업무 단일 데이타베이스의 업무 로컬 LAN의 부서단위 업무
7
3-tier Architecture 3-tier Architecture Mainframe Workstation
Client/Server (2-tier Architecture) 3-tier Architecture Web service (4-tier Architecture) 3-tier Architecture 데이터 로직, 비즈니스 로직, 프레젠테이션 로직을 분산 처리 2개의 서버 시스템 (데이터 저장, 비즈니스 로직), 1개의 클라이언트 시스템(프리젠테이션 로직)
8
3-tier Architecture 3-tier Architecture Client Application Database &
Middleware Database
9
3-tier Architecture 구축 예시 Microsoft Transaction Server 웹 Oracle 브 DB2
라 우 저 Microsoft Transaction Server Tuxedo Oracle DB2 MS-SQL MySQL
10
3-tier Architecture 장점 단점 퍼포먼스,데이타 통합기능이 우수 시스템 확장성이 좋다
애플리케이션 재사용이 용이함 일반관리나 변경관리등의 유지관리가용이함 개발환경이 복잡하고 프로그래밍이 어려움 미들웨어 및 서버 도입에 따른 추가 비용이 소요 적용 분야 전사적으로 애플리케이션 통합이 필요한 업무 LAN과 WAN이 혼재된 환경 온라인 트랜젝션이 많은 업무 동시 사용자수가 많은 업무
11
Web service (4-tier Architecture)
Mainframe Workstation (1-tier Architecture) Client/Server (2-tier Architecture) 3-tier Architecture Web service (4-tier Architecture) Web service 3-tier구조에서 웹서비스의 특성에 따른 확장 사용자의 접속을 관리하는 서버 시스템의 추가 DB서버, 응용서버, 웹서버 + 클라이언트로 구성
12
Web service (4-tier Architecture)
Database Client Application & Middleware Web
13
Web service (4-tier Architecture)
구축 예시 웹 브 라 우 저 IIS Apache Jeus Weblogic Tomcat PHP IIS Oracle DB2 MS-SQL MySQL
14
LAMP? OS Web DB App Linux Apache MySQL PHP
15
Why LAMP? Lower cost of ownership Reliability and Performance Security
16
Why LAMP?
17
Why LAMP?
18
Linux Linux is a clone of UNIX Created by Linus Torvalds in 1991
The PC existed but it was commonly running the Microsoft operating systems Intel chip which did not support commonly Unix He started to create one based on the Minux source code Compatibility for Intel systems This meant it could be run on any generic PC computer systems
19
Linux UNIX Operating system Internet was built on UNIX
TCP/IP is a native UNIX protocol. Today 80% of the worlds Internet Web servers are using Linux. Commonly been used for the past 30 years. It was created in long before Microsoft existed. It was the 1st worldwide commercial operating system.
20
Linux
21
Linux GNU Project Richard Stallman GNU is Not Unix!
Free Software Foundation (1985) General Public License (GPL) Freedom to use Freedom to examine Freedom to redistribute Freedom to modify
22
Linux Various Distribution Version Red hat Linux Suse Linux
Most common Linux distribution. (Enterprise, Fedora) Suse Linux Most common Linux distribution in Europe, second in North America Debian Linux Offers largest number of packages. Slackware, Turbo, Mandrake, CentOS, Asianux, etc.
23
Linux
24
Linux Interfaces < Bash shell > < DOS Command line >
25
Linux Interfaces (KDE GUI)
26
Linux Mobile phone Mobile device Supercomputer Router Laptop
27
Linux
28
Apache Apache Software Foundation Independent US non-profit
Volunteer organization Virtual world-wide organization Currently hosts more than 50 software projects More than 1000 contributors and almost 300 members Began as the Apache Group in 1996 Incorporated as the ‘Apache Software Foundation’ in 1999
29
Apache Apache Projects HTTP Server Abdera ActiveMQ Ant APR Archiva
Buildr Camel Cassandra Cayenne Click Cocoon Commons Continuum CouchDB CXF DB Directory Excalibur Felix Forrest Geronimo Gump Hadoop Harmony HttpComponents iBATIS Incubator Jackrabbit Jakarta James Labs Lenya Logging Lucene Maven Mina MyFaces ODE OFBiz OpenEJB OpenJPA OpenWebBeans PDFBox Perl Pivot POI Portals Qpid Roller Santuario ServiceMix Shindig Sling SpamAssassin STDCXX Struts Subversion Synapse Tapestry TCL Tiles Tomcat Trafficserver Turbine Tuscany UIMA Velocity Wicket Web Services Xalan Xerces XML XMLBeans XML Graphics Attic
30
Apache Key Projects HTTP Server Struts Ant Tomcat Geronimo Wicket
Hadoop Harmony Jakarta Lucene Maven Struts Tomcat Wicket Xalan Xercess
31
Apache A PAtCH server Open source application (free)
Relatively quick and easy to install Supported on many platform Unix, FreeBSD, Linux, Solaris, NetWare, Mac OS X, MS Windows, OS2, etc. Modular design Allows for additions to the core of Apache
32
Apache HTTP Web Server
33
Apache High level conceptual architecture
34
Apache The Core HTTP_PROTOCOL
Contains routines that directly communicates with the client HTTP_MAIN Startup the server and contains the main server loop that waits for and accepts connections HTTP_REQUEST Handles the flow of the request processing, dispatching control to the modules in the appropriate order HTTP_CORE Implementing the most basic functionality
35
Apache Request Phase URI to filename translation
Check access based on host address, and other available information Get an user id from the HTTP request and validate it Authorize the user Determine the MIME type of the requested object (the content type, the encoding and the language) Fix-ups (for example replace aliases by the actual path) Send the actual data back to the client Log the request
36
Apache Modules
37
Apache Standard Modules For URI to file name translation phase:
mod_userdir: translate the user home directories into actual paths mod_rewrite Apache 1.2 and up mod_rewrite: rewrites URLs based on regular expressions, it has additional handlers for fix-ups and for determining the mime type For authentication / authorization phases: mod_auth, mod_auth_anon,mod_auth_db, mod_auth_dbm : User authentication using text files, anonymous in FTP-style, using Berkeley DB files, using DBM files. mod_access: host based access control.
38
Apache Standard Modules
For determining the MIME type of the requested object (the content type, the encoding and the language): mod_mime: determines document types using file extensions. mod_mime_magic: determines document types using "magic numbers" (e.g. all gif files start with a certain code) For fix-ups phase: mod_alias: replace aliases by the actual path mod_env: fix-up the environment (based on information in configuration files) mod_speling: automatically correct minor typos in URLs
39
Apache Standard Modules For sending actual data back to the client:
mod_actions: file type/method-based script execution mod_asis: send the file as it is mod_autoindex: send an automatic generated representation of a directory listing mod_cgi: invokes CGI scripts and returns the result mod_include: handles server side includes (documents parse by server which includes certain additional data before handing the document to the client) mod_dir: basic directory handling. mod_imap: handles image-map file For logging the request phase: mod_log_*: various types of logging modules
40
Why MySQL? Small business Small budget Need a open system
41
MySQL : What is it? A lightweight database server Fast Stable
Easy to install Easy to use
42
Business model Let everyone use it
When their business grow, sell them services and additional software
43
Technology Multiple storage engines Full ACID compliant (with InnoDB)
Stored routines, views, triggers Built-in replication Built-in partitioning Event scheduler Plugin architecture MySQL Cluster ACID Atomicity원자성, Consistency일관성, Isolation독립성, Durability영속성 InnoDB : commit, rollback, 장애복구, row-level locking, 외래키 등 지원 대용량에 적합 메모리 안에서 데이터캐싱과 인덱싱을 위한 버퍼 풀 지원 MyISAM : 예전의 MySQL 의 Storage Engines 한사람이 글을 쓰면 다른 많은 사람이 읽는데 최적화 replication : 덤프는 데이터를 통째로 떠서 날짜별로 백업 해 놓는건데 이건 그냥 복제. 실시간으로 가능. 특정날짜로 못돌림.
44
Marketing and Sales Open the doors Optional registration on downloads
Registration on some additional contents Events Offers and campaigns MySQL Enterprise tools User support
45
Competition Small Big PostgreSQL SQLite NoSQL Microsoft : MS-SQL
IBM : DB2 Oracle postgreSQL ORDBMS sqllite 모바일용 파일 DB 원격지원 안함 NoSQL 오픈소스기반 분산 처리 DB
46
Popularity
47
The LAMP Linux Apache MySQL Perl/PHP/Python
48
History 1979년 TcX에서 개발 초반에는 내부적으로 사용했으나 이후 내용을 보강하고 공개
1995년 5월 Mysql 1.0 1996년 10월 Mysql 버전이 솔라리스 플랫폼의 배포판으로 공개 1996년 11월 Linux binary, Source 배포
49
History MyISAM 스토리지 엔진의 지원
버전 개선사항 3.23 버전 MyISAM 스토리지 엔진의 지원 로우 레벨 락킹과 오라클과 비슷한 구조를 가진 트랜잭션 지원 스토리지 엔진인 InnoDB의 탑재 트랜잭션 지원을 위해 Berkeley DB 라이브러리를 스토리지 엔진으로 사용가능 마스터/슬레이브 구조의 리플리케이션 지원 기본적인 풀 텍스트 인덱스의 지원
50
History InnoDB 엔진이 기본 바이너리에 포함
버전 개선사항 4.0 버전 InnoDB 엔진이 기본 바이너리에 포함 쿼리와 완전한 결과값을 캐싱하는 쿼리 캐시를 도입함으로써 큰 폭의 성능 향상 풀 텍스트 인덱스를 통해 Boolean 및 문장 검색이 가능해지면서 본격적인 풀 텍스트 인덱스의 지원 Merge 테이블에서 Insert와 Auto Increment 지원 Select문에서 UNION 사용가능 다중 테이블에 대한 DELETE 사용가능 임베디드 서버 라이브러리인 libmysqld 지원 동적으로 서버 변수의 설정이 가능해 짐으로써 서버의 재 시작 없이 설정의 변경이 가능해 짐 리플리케이션에 대한 대폭적인 수정 및 안정화
51
History 버전 개선사항 4.1 버전 Prepared statement와 parameter binding을 지원하는 더 빠른 서버/클라이언트간 프로토콜 사용 Heap(memory)테이블에 B-Tree 인덱스를 지원함으로써 훨씬 빨라진 검색 가능 MyISAM 스토리지 엔지에서 OpenGIS기반의 지리 정보 데이터의 처리를 지원 SSL 을 통해 보안이 강화된 리플리케이션을 지원 새로운 서버/클라이언트 라이브러를 통해 한번에 다수의 Warning을 처리할수 있게 됨. 다양한 지역 언어를 완벽하게 지원하기 위해서 MySQL은 UTF-8과 UCS-2 캐릭터셋을 지원 캐릭터셋을 데이터베이스, 테이블 그리고 컬럼단위로 지정 가능 커넥션 별 타임 존 설정이 가능. 이를 통해 접속하는 클라이언트 별로 다른 타임 존 사용 가능 GROUP_CONCAT() 기능이 추가되어 그릅핑된 row들 사이에서 단일 결과 값을 편리하게 얻어낼 수 있게 됨
52
History 스토어드 프로시저(Stored Procedures)와 함수(functions) 트리거(Triggers)
버전 개선사항 5.0 버전 스토어드 프로시저(Stored Procedures)와 함수(functions) 트리거(Triggers) 뷰(Views) 인포메이션 스키마(Information Schema) 서버사이드 커서(Server-side Cursors) 분산 트랜잭션(XA Transactions) 아카이브 스토리지 엔진(Archive Storage Engine) 페더레이티드 스토리지 엔진(Federated Storage Engine) 인스턴스 매니저(Instance Manager)
53
Architecture
54
Enterprise Dashboard
55
Query Analyzer
56
Replication Monitor
57
PHP Personal Hypertext Preprocessor Open Source scripting language
Server-side language Especially suited for web development Returns plain HTML, no code Save file to server, view in a browser
58
PHP Hello world!
59
PHP Active web page
60
PHP Interactive web page
61
PHP Connecting to MySQL
62
PHP Closing MySQL
63
PHP Executing query - Insert
64
PHP Executing query - Insert
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.