[Site Map]

* 토픽 각 단락 당 3줄 간격 유지
* 꼭 포함되어야 하는 중요 단어는 굵게 + 빨간게 표시
* 최대 44자 이상이 안되도록 주의

PoC(Proof of Concept, 개념증명)
새로운 프로젝트가 실제로 실현 가능성이 있는지 효과와 효용, 기술적인 관점으로부터 검증하는 과정



IaC(Infrastructure as Code)
수동 프로세스가 아닌 코드를 통해 버전제어, 구성관리, 배포 등 인프라를 자동으로 관리하고 프로비저닝하는 방식



구조적 개발방법론(Structured Programming) : 하향식 분할, 구조중심 분석/설계 수행
정형적 절차문서화에 따른 고객요구사항, 분석과 설계를 바탕으로 SW 모듈화 지향하는 개발 방법론



모듈화(Modularity) : Source 기반의 분할과 정복기법
SW의 재사용성 및 확장성을 위하여 프로그램의 응집도는 높이고 결합도는 낮추는 설계/구현 기법



제폼 백로그(Product Backlog) : 스프린트의 길잡이
스크럼 방법론에서 프로젝트 완료를 위해 요구사항 목록을 우선순위별로 정리한 목록



정보전략계획(ISP, Information Strategy Planning):기업의 정보기술 체계 구축 계획
기업의 비전 달성을 위해 정보기술 연계 전략과 해결책을 찾아 실행 계획을 수립하는 과정



제안요청서(RFP)
발주사가 개발사에게 제안서를 작성할 수 있도록 시스템에 필수적인 요건들을 기재하여 제공하는 문서



서비스 메시(Service Mesh)
서비스가 앱 수명주기 전반에 걸쳐 데이터와 일관성을 공유하며 상호 통신할 수 있도록 지원하는 사전 구성된 앱 서비스



코드스멜(Code Smell)
코드의 가독성 및 수정이 어렵고 버그가 발생할 가능성이 있어 리팩토링이 필요한 소스코드



프로젝트 관리 조직(PMO, Project Management Office)
프로젝트의 자원, 일정, 진도, 이슈 관리 등을 효율적으로 수행하고 프로젝트를 통합 관리하기 위한 조직



프로젝트 헌장(Project Charter)
프로젝트 목표 달성을 위해 권한을 가진 관리자로부터 공식적인 권한을 위임,승인 받은 문서



WBS(Work Breakdown Structure)
프로젝트 목표 달성을 위해 프로젝트 조직에 의해 수행되어진 전체 업무의 계층적인 분해도



ISO 22301
재난, 사고에도 빠른 경영 시스템을 복구할 수 있는 사업연속성 경영시스템의 요구사항을 규정한 국제표준



정보시스템 운영감리
사용자에게 제공될 서비스의 운영절차 및 운영관리도구 활용 등에 따라 서비스를 제공하고 있는지 점검하는 감리 활동



정형기법
수리, 논리에 기반하여 하드웨어 시스템 또는 소프트웨어 시스템을 명세, 개발, 형식 검증을 하는 방법



소프트웨어 아키텍처 : 소프트웨어의 구조와 원칙
컴포넌트의 특성, 관계로 구성되는 시스템의 구조설계 및 전개하기 위한 원리를 포함하는 시스템의 기본구조



PMBOK 7th:프로젝트 관리의 표준
프로젝트 요구사항을 충족시키기 위한 지식, 기술, 도구, 기법의 응용을 다루는 프로젝트 관리국제 표준



터크만의 5단계 팀 개발 모델
팀의 형성, 격동, 표준화, 수행, 해산 등 5단계로 구성되는 프로젝트 내 인적 자원 관리 모델



현저성 모델
프로젝트의 이해관계자를 권력, 적정성, 긴급성의 요소로 평가하여 우선순위를 판단하는 모델



주공정법(CPM, Critical Path Method)
임계경로를 기반으로 프로젝트의 최소 기간을 결정하는데 사용되는 네트워크 경로식 일정관리 기법



주공정연쇄법(CCM, Critical Chain Method)
계획수립시 과다하게 설정될수 있는 여유시간을 통합버퍼로 취합, 소진률을 관리하는 일정관리 기법



EVM(Earned Value Management)
프로젝트의 범위, 일정, 자원, 측정치를 모두 결합하여 프로젝트의 성과 및 진척률을 평가하는 방법론



CMMi 2.0
애자일,보안, 안전등 반영된 소프트웨어 및 시스템 공학 조직 프로세스 성과, 효율성 평가하기 위한 모델



데미테르 법칙(Law of Demeter)
직접적으로 연관된 객체들 간의 호출만 허용하여 S/W의 결합도를 낮추기 위한 객체지향 설계 원칙




SOA(Service Oriented Architecture)
비즈니스 프로세스를 서비스로 추상화하여 표준 API를 통해 시스템을 구축하는 분산 시스템 아키텍처



다형성
상속되는 기능을 재정의하거나 하나의 인터페이스에 다양한 메소드를 정의하여 확장성, 유연성을 제공하는 객체지향 특징



회귀 테스트
결함수정 이후 변경으로 새로 생성되거나 이전의 다른 결함을 발견하기 위한 반복 테스트





'메가노트 > 암기장' 카테고리의 다른 글

트렌드 토픽 정의(2022.11.12)  (0) 2022.11.12
데이터베이스 토픽 정의  (0) 2022.10.29
빅데이터/알고리즘 토픽 정의  (0) 2022.10.29

[데이터베이스 목차]

 

개념 : 빅데이터 저장 기술

  • 기존의 관계형 데이터가 아닌 다양한 데이터 형태를 효율적으로 처리할 수 있는 구조와 유연성을 갖춘 분산 데이터베이스 관리 시스템
  • 전통적인 RDBMS와 다른 DBMS를 지칭하기 위한 용어로 데이터 저장에 고정 Table-Schema가 필요하지 않고, Join 연산을 사용할 수 없으며, 수평적으로 확장 가능한 DBMS 

NoSQL 특징 : 스키마가 없으며, 관계가 없음

구분 특징 내용
핵심특징
(BASE)
Basically Available  - 언제든지 데이터는 접근할 수 있어야 하는 속성
Soft-State -  특정 시점에서는 데이터의 일관성이 보장되지 않는 속성
Eventually Consistency - 일정 시간이 지나면 데이터의 일관성이 유지되는 속성
부가특 Schema-less - 고정된 데이터 스키마 없이 키(key) 값을 이용해 다양한 형태의 데이터 저장과 접근이 가능한 기능
유연한 모델링  - Key-Value 쌍, 계층형 데이터, 그래프 등 여러가지 타입의 데이터를 간단하게 모델링
탄력성(Elasticity) -  시스템의 일부 장애에도 불구하고 시스템의 다운타임이 없도록 부하 분산이 용이한 구조

NoSQL 아키텍처

데이터 모델 유형

데이터모델 개념도 설명 DB
키-값 모델
(Key-Value Model)
  • 키-값 쌍 데이터 표현
  • 단순구조 빠른연산
  • 비효율적 범위 질의
Dynamo
, Redis
순서화된 키-값 모델
(Ordered Key-
Value Model)
  • 순서화된 키-값 쌍 데이터 표현
  • 범위 질의 효율적 지원
  • 값 모델링 미지원
ArangoDB, MemcacheDB
열 지향 모델
(Column Oriented Model)
  • 값(value), 열(Column) 기반 모델링 표현
  • 값의 지속적 다차원 Map 구성
HBase,
Cassandra
문서 데이터베이스 모델
(Document
Database
Model)
  • 값(value) 부분에 문서 저장
  • 임의적 스키마 사용, 자유로운 속성 추가 가능
  • 복잡한 검색조건 데이터 추출
CouchDB
, 
MongoDB
그래프 모델
(Graph Model)
  • 노드, 관계, 속성 통한 데이터 표현
  • 높은 확장성 보장
  • 시맨틱 웹과 온톨로지 분야에서 활용 
Neo4J,
AgensGraph

CAP 이론에 기반한 NoSQL 선택전략

C+P
  • 일관성 + 단절내성
  • 모든 노드가 함께 퍼포먼스를 내야하는 성능형
  • 구글의 BigTable, HyperTable, HBase
A+P
  • 가용성 + 단절내성
  • 비동기화된 서비스 스토어 작업
  • Dynamo, Apache Cassandra, CouchDB, Orache Coherence

 

[데이터베이스 목차]

1. 신뢰성, 확장성을 제공하는 분산 DB의 개요

 가. 분산 DB(Distributed Database)의 정의

  - 논리적으로 하나의 가상 시스템으로 구현되어 있으나, 물리적으로 네트워크를 통하여 분산화 된 형태로 관리되는 데이터베이스

 나. 분산 DB(Distributed Database)의 목적

목  적 설  명
데이터 처리의 지역화  통신비용의 감소 및 데이터 처리 집중화 방지
데이터 운영 및 관리 지역화  데이터에 대한 이해도가 높은 집단이 관리
데이터 처리 부하의 분산 및 병렬 데이터 처리  데이터 처리 속도 향상
데이터의 가용도와 신뢰성 향상  데이터 복제

2. 분산 데이터베이스의 요건

투명성 설  명 특 징
위치 투명성 - 사용하려는 Data의 저장 장소 명시 불필요
- 위치정보가 System Catalog에 유지되어야함
- Application logic 간단, Data는 사이트간 이동 자유로움
- Data 이중처리 속도 저하, 저장 공간 낭비
중복 투명성 - 사용자는 DB 객체 및 정보가 중복 걱정 필요 없는 성질 - 질의 응답 성능 개선, Data 일관성 유지는 사용자와 무관하게 시스템 수행
- 갱신전파 Overhead, 추가 기억 공간 필요
병행 투명성 - 다수 트랜잭션 동시 수행시 결과의 일관성 유지 - Time Stamp, 분산 2단계 Locking 이용 구현
분할 투명성 - 하나의 논리적 릴레이션이 여러 단편 분할되어 각 단편의 사본이 여러 site 에 저장 - Workload 분산 통신망 혹은 공통 서비스 Bottle Neck 방지, 시스템 성능 향상 효과
- Fragmentation 위한 충분한 설계 기술 필요
장애 투명성 - 구성요소(DBMS, Computer)의 장애에 무관한 트랜잭션의 원자성, 시스템 유지 - 분산 DB는 중앙 집중방식보다 훨씬 복잡함
- 개별 지역 시스템의 손상, 통신망 실패, 분산 실행(2PC) => 각각 복구 방법 다름
지역사상 투명성 - 지역DBMS와 물리적 DB  사이의 Mapping 보장
- 각 지역 시스템 이름과 무관한 이름 사용 가능
- 기존 Local DB기반 상향식으로 점직적 확정 가능
- 이질 시스템간 구현 복잡

3. 분산 DB의 구조 및 설계 전략

 가. 분산 DB의 구조

구성요소 내     용
분산 DBMS  여러 지역에 나뉜 Local DBMS를 하나의 커다란 광역 DBMS 로 관리 할 수 있도록 지원
지역 DBMS  질의 처리기, 동시성 처리, 보안 처리기, 복구 관리기, 저장장치 관리기 등 5개의 Module로 구성, OLTP의 기본 성격이 ACID 를 지원

 나. 분산DB의 설계 및 분할 전략

4. 분산 DB의 구축 시 고려사항

고려 사항 내용
네트워크 속도 광대역 네트워크 구축, 분산 DB의 정보 신속 제공
보안기술 분산된 DB에 대한 전체 통제가 가능하도록 통합 보안 시스템을 구축
백업 및 복구 기술 광전송 백업 시스템 구축 및 복구 시스템 구축
클러스터링 기술 분산 컴퓨팅 성능 향상 , Web 기술과의 연동 고려

5. 분산 데이터 베이스의 3가지 설계 전략 비교

-끝-

 

[데이터베이스 목차]

 

 

샤딩(Sharding)

 

I. DB Scale out을 통한 성능 개선, 가용성 향상 샤딩의 개요

-. 물리적으로 다른 데이터베이스에 데이터를 수평 분할 방식으로 분산 저장하고 조회하는 방법

-. 샤드라고 부르는 각각의 파티션이 있는 하나의 데이터베이스의 수평적인 파티셔닝

-. 과거의 샤딩은 어플리케이션 레벨에서 구현하는 경우가 많았는데 최근에는 샤딩 플랫폼에서도 처리 가능

-. 성능향상을 위해 샤딩, 파티셔닝 기법이 사용되고, 가용성을 위해 리플리케이션, 쿼리 오프로딩 기법을 사용

 

-특징: 데이터분할, 성능개선, 높은 신뢰성, 위치 추상화

 

-샤딩의 장점:

  1) 성능개선: 큰 데이터를 압축, 개별 테이블은 각 샤드에서 더 빠른 작업을 지원

  2) 신뢰성 개선: 한 샤드가 실패하더라도 다른 샤드는 데이터서비스를 제공

  3) 위치 추상화: 어플리케이션 서버에서 어떤 데이터가 어떤 데이터베이스에 위치해 있는지 알 필요가 없음

 

 

II. 샤딩의 개념도 및 구성요소

가. 샤딩의 개념도

 

나. 샤딩의 구성요소

구분 요소 설명
시스템 구성요소 Shard DB 분할 데이터 저장, 사용자 요청 처리 물리 DB
Proxy Shard metadata 활용 실제 질의 처리를 Shard DB로 전달하는 역할을 하는 미들웨어 프로세스
데이터 구성요소 Shard metadata Shard 동작을 위한 설정정보, 요청된 질의 기반, Shard 선택을 위한 정보 및 세션 생성 정보 포함
Shard Key Sharding 된 테이블에서 Shard를 선택하기 위한 식별자로 사용되는 칼럼
Shard ID Shard Database 식별자

 

 

III. 샤딩 방법

방법 설명 특징
Vertical
Partitioning
  • 블별로 서를 분할하는 방식
  •  버 데터 거대화시 추가 샤딩 필요
구현 단, 시스템 구조 변경 최소화
Range Based Partitioning
  • 의 Feature  Table 대화 시 샤딩
터 분할방법 예측 가능시 구현 가능 
Key or Hash Based Partitioning
  • 티티를 해함수에 어 나오는 값 이용 서 정하는 방식
결과값이 균등분포 되게  함수 설계 필요
Directory Based Partitioning
  • 파티셔닝 커니 제공 추상화 서비스 생성
 드 키 Look-up 기능 구현

데이터의 성격과 특징에 따라 Table 단위를 작게 유지할 수 있는 Shard 분할 방법을 결정해야 하며 적용시 정지없이 데이터 재분배 수행 필요

 

IV. 쿼리 오프로딩 vs. 샤딩

구분 쿼리 오프로딩 샤딩
개념 업데이트 트랜잭션, 트랜잭션 분리 분리된 DB 인스턴스에 데이터 분할
목적 DB 성능 향상 용량 한계 극복
구성요소 Master, Salve, Staging DB 샤드(Shard)
분할기준 트랜잭션 종류 및 역할 샤드 키
도메인 도메인 동일 혹은 상이 도메인 동일
복제 솔루션 오라클 골든 게이트, 쉐어 플렉스 자체 샤드 오픈 솔루션 이용
구현방법 어플리케이션 활용 구현 DBMS 자체, 어플리케이션
분할원리 트랜잭션의 분할 DB의 분할

 

 

V. 샤딩 파티셔닝 비교

구분 샤딩 파티셔닝
개념 여러 인스턴스에 여러 서브셋을 저장하는 기법
물리적으로 다른 데이터베이스에 데이터를 수평 분할 방식으로 분산 저장하는 방법
하나의 인스턴스내에서 여러 테이블로 나누어 저장하는 기법
큰 테이블이나 인덱스를 관리하기 쉬운 크기로 분리하는 방법
장점 쿼리(read, write)를 여러 인스턴스로 분산하여 처리 -> 성능, 확장성 향상 데이터를 여러 테이블에 나누어 저장 -> 인덱스의 크기가 작아짐 -> 인덱스를 통한 조회 시간이 줄어들어 성능 향상 
이력 데이터의 효울적인 관리 (불필요한 데이터 삭제 작업을 파티션을 추가하거나 삭제하는 방식으로 간단하고 빠르게 해결 가능)
단점 다른 샤드끼리 join 할 수 없다
auto increment가 샤드 별로 달라질 수 있다
하나의 트랜잭션에서 두개 이상의 샤드에 접근할 수 없다
테이블 간 join 비용 증가
물리망 다수의 분산 DB 서버 하나의 DB 서버
제어 마스터(Proxy) Master 없음
Shared Key 저장 별도 키 없음

 

[데이터베이스 목차]

 

개념

  •  기업의 모든 비즈니스 활동 및 경영진의 비즈니스 의사결정에 근간이 되는 데이터 관련 시스템들의 기준이 정의된 데이터

기준정보의 필요성

필요성 설명
기준 정보 통합 기준 정보 간 존재하는 업무 규칙을 관계 연결을 통해 통합 구조 표현
정보 연관성 확인 기준 정보 간의 관계 분석을 통한 중복 제거 및 효율적 기준 정보 정제
업무 공유성 확인 다양한 업무 관점의 기준 정보 확인을 통한 업무간 기준 정보의 활용도 확장

 

기준정보 특징

특징 설명
동일기준 여러 업무에 동일한 기준 적용
동일정보 언제 어디서나 동일한 정보 유지
핵심정보 비즈니스 수행에 참조되는 핵심 정보
동시반영 변경이 발생하는 경우 동시에 반영

기준정보 유형

유형 설명 사례
컨트럴 기준정보
(Control Master)
- 데이터 입력/집계 편의를 위해 정형화한 데이터 값
- ERP 설정(Configuration) 정보
- 국가코드, 환율코드
- 조직(Company, Plant 등)
- 업종코드, 매출유형 등
마스터 기준정보 - 전사 수준 동일한 의미로 공유되는 핵심 정보
- 전사 업무 수행에 기본이 되는 데이터
- 자재, 제품/모델, 설비
- Customer, Vendor
운영 기준정보 - 프로세스 운영 시, 공유 또는 연계되는 프로세스 영역별 핵심정보
- 모듈 업무 수행에 기본이 되는 데이터
- 계약정보, 청구정보
- 공사정보, 원가계정정보

기준정보 계층구조

유형구분 전사 업무 프로세스(Value Chain)
개발 영업 생산 구매 설비 물류 경영관리
컨트롤 기준정보 전사 Master, 운영 Master 및 Transaction 데이터에 사용되는 정형화한 데이터
전사 Master Control 데이터 활용하여 전사 수준 동일한 의미로 공유되는 데이터
운영 Master 전사 Master 데이터 활용하여 모듈 업무 수행에 기본이 되는 데이터
Transaction Control 데이터, 전사 Master 데이터 활용하여 트랜잭션 실행 시 생성되는 데이터

  • 전사 업무 프로세스에 사용되는 Control, 전사 Master 데이터를 정의

 

+ Recent posts