본문 바로가기
반응형

IT/Knowledge272

OLTP, OLAP 1. OLTP(Online Transaction Processing) OLTP를 직역하면 온라인 트랜잭션 처리 복잡하게 말하면 복수의 사용자 PC에서 발생되는 트랜잭션(Transaction)을 DB서버가 처리하고, 그 결과를 요청한 사용자PC에 결과값을 되돌려주는 과정 쉽게 이야기하면 1개의 요청작업을 처리하는 과정 2. OLAP(Online Analytical Processing) 단어 그대로를 생각해보면 온라인 분석 처리 OLTP가 데이터 자체의 처리에 중점이 된 용어라면, OLAP는 이미 저장된 데이터를 기반하여 분석하는데 중점이 된 용어 OLAP는 데이터웨어하우스(DW), 쉽게 말해 DB에 저장되어 있는 데이터를 분석하고, 데이터 분석을 통해 사용자에게 유의미한 정보를 제공해주는 처리방법을 의미하.. 2022. 7. 9.
Apache Kafka 란? Apache Kafka 에 대해서 알아보려고 한다. 카프카(Kafka)는 2011년 미국 링크드인(Linkedin)에서 개발했다. 카프카 이전에는 다음 그림과 같이 모든 것들이 서로 연관되어서 결합력이 높았다. 하지만 결합력을 낮추는 요즘 추세에서 처럼 이 방식 역시 확장성이 떨어지고 코드의 이해도와 복잡성이 어려워서 관리가 어려운것이 단점이었다. 그래서 나오게 된것이 카프카이다. 카프카는 위 그림처럼 기능이 단순해졌다. 각각 단어 설명을 하기 앞서 결론을 먼저 말하면 프로듀서에서 카프카로 메세지를 보내면 컨슈머에서 자기에게 해당하는 메세지를 당겨와서 받는 대규모 메시지 데이터를 빠르게 처리하도록 개발된 메시징 플랫폼 이다. 용어는 producer / consumer / broker / topic / p.. 2022. 7. 7.
SAGA 패턴 이전 포스팅에서도 디자인 패턴에 대해서 다룬 글들이 몇개 있었다. 아래 참고 포스팅을 확인해보면 도움이 될것이다. 이번에 다룰 디자인 패턴은 SAGA 패턴이다. 해당 패턴은 MSA 구조에서 많이 사용되는 패턴으로 MSA 역시 아래 참고 포스팅을 참고하길 바란다. SAGA 패턴이란? 마이크로서비스들끼리 이벤트를 주고 받아 특정 마이크로서비스에서의 작업이 실패하면 이전까지의 작업이 완료된 마이크서비스들에게 보상 (complemetary) 이벤트를 소싱함으로써 분산 환경에서 원자성(atomicity)을 보장하는 패턴이다. 즉 작업들이 하나의 트랜잭션으로 이루어져있고 하나라도 실패를 하면 작업이 rollback 된다고 생각을 하면 된다. 그림으로 보면 다음과 같다. 하나의 App 은 물론 하나의 기능이 될수도 .. 2022. 7. 5.
클라우드 vs 코로케이션 차이 예전에 작성한 포스팅 중에 하나는 온프레미스 vs 오프프레미스에 대한 포스팅이 있었다. 확인은 아래 참고 포스팅에 올려놓았으니 확인해보길 바란다. 비슷한 내용일수도 있는데 이번 포스팅에서는 클라우드와 코로케이션의 차이를 써보려고 한다. 요즘 너무나도 클라우드에 대한 내용은 많이 IT 지식으로도 올라와서 알고 있겠지만, 클라우드 (Cloud) 대표적으로 AWS 등의 기업에서 대용량의 서버가 있고 클라우드는 그 서버에서 내가 설정한 만큼만 서버를 할당받아 사용을 하고 그 사용량에 대한 금액만 종량제 개념으로 지불을 하면 된다. 코로케이션 (Colocation) Colocation 제공 업체는 서버, 하드웨어 및 기타 장비를 위한 물리적인 공간을 제공한다. 여기에는 실내 온도조절, 전기, 대역폭 등 모든것이 .. 2022. 7. 4.
CQRS 패턴 CQRS란? Command Query Responsibility Segregation 의 약자로 단어 그대로 해석하면 명령 조회 책임 분리 라는 뜻 애플리케이션들을 구성하는 아키텍처에 대한 하나의 패턴 애플리케이션을 구현함에 있어 명령과 조회에 대한 책임을 분리하는 것 등장배경 일반적인 애플리케이션은 데이터를 연결된 데이터베이스에 레코드로써 CRUD 작업을 한다. 그리고 애플리케이션이 데이터를 레코드로 저장하는 과정에서 데이터는 특정한 모델로써 다뤄진다. 예를들어 계좌 잔액 이라는 데이터는 애플리케이션 내에서 id, date, account 등과 같은 속성을 지니는 클래스 모델로써 다뤄지고 결국 데이터베이스는 거래내역을 나타내는 레코드로써 저장되어 CRUD가 될수 있다. 그러나 이런 모델들은 애플리케이션.. 2022. 6. 29.
BPMN 설명 및 Bizagi 툴 BPM 이란? BPMN(Business Process Model and Notation)은 비즈니스 프로세스(업무 프로세스)를 시각적으로 모델링 하기 위한 표준 표기법이다. 또한 비즈니스 프로세스에 특화된 UML 표기법이라고도 얘기할 수 있다. 개발하는 툴은 다양하지만 이번 포스팅에서는 Bizagi라는 툴을 이용할것이다. 아쉽게도 맥을 위한 툴은 존재하지 않지만 윈도우에서는 막강한 기능을 제공해준다. 아래 그림과 같이 툴이 생겼다. 각 도형에 대한 설명은 다음과 같다. 처음 초록색 동그라미와 마지막 빨간색 동그라미는 start와 end를 뜻한다. 파란색 네모는 활동에 대한 기록이고 변수 설정 및 메서드 명 설정 등에 사용된다. 노란색 다이아몬드 모형은 게이트웨이로 프로세스는 다양한 대체 흐름이나 동시 흐.. 2022. 6. 27.
네트워크 OSI 7 계층(Layer) OSI(Open System Interconnection) 모형은 국제표준화 기구인 ISO에서 개발한 것으로 컴퓨터 네트워크 프로토콜 디자인과 통신을 7계층으로 나누어 정의하였다. 각 계층은 서로 독립적으로 이루어져 이쓴ㄴ데, 각 계층은 하위 계층의 기능만을 이용하고 상위계층에게 기능을 제공한다. OSI 7계층은 최하위 계층인 물리계층부터 응용계층까지 있으며 다음과 같다. 물리 계층 실제 장치들을 연결하기 위해 필요한 케이블 및 연결 장치 등과 같은 기계적인 항목과 전압, 신호 방식 등의 전기적인 항목에 대한 특성을 규정 비트 형태로 전송 허브 / 리피터 데이터링크 계층 상위 계층인 네트워크 계층에서 받은 데이터를 프레임이라는 논리적 단위로 구성하고 필요한 정보를 붙여 물리 계층으로 전달 MAC주소, 데.. 2022. 5. 19.
log4j 란? 얼마전에 세계적으로 취약점으로 알려진 log4j 라고 들어보신 분들이 많을것이고 it에서 종사하시는 분들이라면 기업에서도 실제로 대응한 경험이 있을 것이다. 간단하게 설명하며 어떤 놈이길래 전세계가 덜컥했는지 알아보도록 할것이다. 일단 log4j 이슈는 2021년 12월 9일 알리바바에서 일하는 어떤 분에 의해서 발견이 되었고, 시작은 12월 1일부터 시작했다고 한다. 대략 1주일 넘게 알아채지 못했다고 한다. 사람이나 기업이든 서버에 log를 남겨두는것을 좋아한다. 로그인 기록이나 접속이력이나 검색기록, 수정, 삭제, 등등 모든것을 기록으로 남긴다. 이 기록들을 log라고 하고 숫자 4는 대한민국에서 언어유희? 처럼 for를 의미하는것이고 j는 자바의 약자이다. 결국은 log for java 이며 세계.. 2022. 5. 14.
운영체제란? (OS) 운영체제는 영어로 Operating System 이라고 사용하여 OS라고 부른다. 컴퓨터 하드웨어와 컴퓨터 사용자 간의 매개체 역할을 하는 시스템 소프트웨어로 사용자가 프로그램을 수행할 수 있는 환경을 제공한다. 운영체제의 좁은 의미는 하드웨어와 응용프로그램간의 다리 역할을 하는 커널을 의미하며, 넓은 의미에서는 커널, 미들웨어, 응용프로그램 실행 환경과 사용자 인터페이스 프레임워크를 모두 포괄하여 정의한다. 운영체제의 주목적은 컴퓨터 시스템을 편리하게 이용하는 것에 있고, 추가적인 목적은 CPU, 주기억장치, 입출력장치 등의 컴퓨터 하드웨어를 효율적으로 관리하는데 있다. 역할은 다음과 같다. 컴퓨터 하드웨어 제어 작업의 순서를 정하고 입출력 연산을 제어 프로그램 실행 제어, 데이터와 파일의 저장을 관리.. 2022. 5. 8.
반응형