Evolution of database technologies, SDLC

꾸Jun·2023년 9월 18일
0

📚 Database

목록 보기
4/20

1. Evolution of database technologies

  • 1960s
    • files
  • 1970s
    • network navigation
  • 1980s
    • relational
  • 1990s
    • object
  • 2000+
    • noSQL

데이터를 끄집어내서 사용하는데 오랜시간이 걸리기때문에 data warehouse가 생겼다. 1990년도부터 시작되었다. 어느정도 기업이면 대부분 data warehouse를 사용한다.

기업에서 쓰는 DBMS

  • Oracle
  • SQL Server
  • DB2
  • MySQL, PostgreSQL

기능도 많고, 저장공간도 넓다.



2. The Range of Database Application

  • 개인적인 database
  • 2티어 클라이언트/서버 database
    • 사용자 <—> DB Server————database
    • 티어1 티어2
  • 3티어 클라이언트/서버 database
    • 가장 많이 사용되는 구조
    • 사용자 <—-> Web Server <——>DB Server————database
    • 티어1 티어2 티어3
  • 멀티티어 클라이언트/서버 database
  • enterprise applications
    • ERP system(enterprise resource planning system)
      • 회사 전체 자원을 관리하는 시스템
        • 재무, 회계, 물류, 경영, 인사, 모든 것들을 커버하는 시스템
    • CRM(Customer Relationship Management)
      • 고객과 관련된 모든 것들을 관리하는 시스템
    • SCM(Supply Chain Management)
      • 공장, 제조회사, 물류 등 공급과 관련된 모든 것들을 관리하는 시스템
    • 큰 의미인 ERP를 사용하기보다는 CRM, SCM 같은 것들을 사용한다.
    • data warehouse implementation
      • 여러가지 운영단계에서 필요한 데이터베이스에서 파생된 의사결정을 도와주는 시스템이다.
        • 가령 보고서를 만드는데 필요한 데이터를 통합해서 제공
        • dataware house에는 보고서를 만드는데 필요한 데이터를 선택해서 저장
      • ETL(extract, transform, load) 과정을 거쳐서 data warehouse 구축
        • 클리닝 작업
        • 변형
        • 추출
        • 적재


3. Data-Information-Knowledge Pyramid

business intelligence —— non-algorithmic(heuristic), non-programmable
knowledge
information
data —— algorithmatic, programmable



4. databse design process

User Requirement를 수집

  • ex) customers, products, order에 대한 기록을 저장할 database를 원함

data modeling의 3단계

  1. Conceptual Design(ER Modeling)

    • 개념적으로 database를 만듬
      • ER Diagram을 그림
        • entity와의 관계, relationalship에 대해 그림
  2. Logical Design(Relational Model)

    • 박스, 도형, 선으로 구성되어있는 컨셉의 er model을 실제 처럼
    • ER Diagram으로 그린 것을 실제처럼
    • 실제 저장구조와 비슷하게 디자인
    • 정규화, 제약 조건 정의 등을 진행
  1. Physical Design
  • 마지막 단계의 디자인
  • Performance를 생각
    - 변수의 데이터 타입
    • 컬럼의 인덱싱 여부
    • 정규화 판단
    • database가 어떤 테이블, 어떤 컬럼으로 되어있는지
    • 뭔가 성능을 생각하고, 각각의 컬럼이 어떤 타입인지
    • 성능이 느릴 것 같으면 최적화하는 단계
    • 가령 페이스북 이용자가 10몇억인데 이준규에 대한 정보를 얻고 싶으면 모든 레코드를 훑어야 가능한데 엄청 느릴 것이다.
      - indexing
      • partition(가,나,다 순으로 테이블로 쪼갬)

objective of database design

  • 키 데이터가 반영되어야한다
  • 자연스럽고 이해하기 쉬운 구조
  • 올바른게 실행 가능해야함
  • 모든 기능과 성능을 제공해야한다

database development process

  • 시스템 개발 과정의 일부
    • 목적을 달성하기 위해서 같이 일을 하는 연관성이 있는 컴포넌트들의 집합을 시스템이다

SDLC(software development lifecycle) - waterfall 형식, 되돌아 갈 수 없다

  • preliminary investigation : 사전조사
    • problem statement
    • feasibility study
  • system analysis : 시스템 분석
    • system requirements
  • system design : 시스템 디자인
    • design specifications
  • system implementation : 시스템 개발
    • operational system
  • maintenance : 유지보수

어떠한 절차를 거쳐서 개발하느냐. SDLC가 한동안 오랫동안 하다가 Agile이 나옴. SDLC는 전단계를 완벽하게 끝내야 다음단계로 가서 시간이 너무 오래걸린다. 만약 주어진 기간, 예산이 있다면 프로젝트가 실패할 수 있다. agile도 sdlc를 빠르게 돌리는 거라고 보면 된다.

profile
꾸준🐢

0개의 댓글