지식&개념(17)
-
[클라우드 용어] 온프레미스(on-premise)
온프레미스(on-premise)란? 사용자가 관리하는 시설 내에 서버 등의 기기를 설치해 운용하는 환경 AWS 와 같은 클라우드 서비스가 등장하기 전까지는 정보 시스템을 구축하기 위해 자체적으로 관련 기기를 준비하고 설정해야 했다. 이런 기기를 설치하고 운용하는 시설을 일반적으로 데이터 센터(Data Center)라고 한다. 온프레미스는 직접 기기를 준비하고 설정해야하는 환경이다. 초기 투자 비용은 많이 들지만, 이후에 들어가는 비용은 전기 요금과 인터넷 회선 이용 요금 정도이므로 전체 비용에서 운용 비용의 비율이 비교적 낮다.
2023.10.16 -
Isolation level
필요성 격리 수준은 트랜잭션의 ACID 특성을 보장하기 위해서 사용한다. Locking 을 통해 이를 해결할 수 있지만, 무조건적인 Locking 은 성능저하를 가져온다. 반대로 느슨한 Locking 은 데이터 무결성에 큰 문제를 가져온다. 효율적인 Locking 의 사용을 위해 적절한 격리수준은 반드시 필요하다. 표준 이상현상 1. Dirty read 커밋되지 않은 변화를 읽었을때 나오는 현상 2. Non-repeatable read(Fuzzy read) 같은 데이터의 값이 달라지는 현상 다른 트랜잭션이 커밋한 데이터를 읽을 수 있는 것을 의미한다. 즉, 한 트랜잭션에서 같은 쿼리로 2번이상 조회했을 때 그 결과가 상이한 상황을 말한다. 보통 데이터의 수정/삭제가 발생했을 경우 발생한다. 3. Phan..
2023.08.21 -
IoC, DI [Nest.js]
provider - provider 는 nest.js 의 기본 개념 - 대부분의 nest 클래스는 service, repository, factory, helper 등 provider 로 취급 될 수 있다. - provider 의 주요 아이디어는 dependency 로 주입할 수 있다. - dependency 로 주입 할 수 있다는 의미는 object 가 다른 object 와 다양한 관계를 만들 수 있고, 객체의 instance 를 "wiring up" 기능은 NestJs runtime system 에 위임될 수 있다. IoC Dependency Injection(DI) 는 IoC 기술로 자신의 코드로 종속성을 인스턴스화 하는 대신 IoC 컨테이너(NestJS 런타임 시스템)로 위임한다. 제어의 역전이란..
2023.08.13 -
정규화란? [ DB ]
정규화란? 정규화는 이상현상이 있는 릴레이션을 분해하여 이상현상을 없애는 과정이다. 이상현상이 존재하는 릴레이션을 분해하여 여러 개의 릴레이션을 생성하게 된다. 이를 단계별로 구분하여 정규형이 높아질수록 이상현상은 줄어들게 된다. 기본적인 목표는 테이블간에 중복된 데이터를 허용하지 않는 것 이다. 이를 통해 무결성을 유지할 수 있으며 DB 의 저장 용량도 줄일 수 있다. 장점 - 데이터베이스 변경 시 이상 현상을 제거할 수 있다. - 정규화된 데이터베이스 구조에서는 새로운 데이터 형의 추가로 인한 확장 시, 그 구조를 변경하지 않아도 되거나 일부만 변경해도 된다. - 데이터베이스와 연동된 응용 프로그램에 최소한의 영향만을 미치게 되어 응용 프로그램의 생명을 연장시킨다. 단점 - 릴레이션의 분해로 인해 릴..
2023.08.06 -
CI/CD
CI/CD 란? CI/CD (Contunuous Integration/Continuous Delivery) 는 애플리케이션 단계를 자동화하여 애플리케이션을 더욱 짧은 주기로 고객에게 제공하는 방법 기본적인 개념은 지속적인 통합, 지속적인 서비스 제공, 지속적인 배포이다. 새로운 코드 통합으로 개발 및 운영팀에서 발생하는 문제를 해결하기 위한 솔루션이다. CI/CD 는 애플리케이션의 통합 및 테스트 단계에서 부터 제공 및 배포에 이르는 애플리케이션 라이프 사이클을 전체에 걸쳐 지속적인 자동화와 지속적인 모니터링을 제공한다. CI/CD 가 나오게된 이유 매번 개발자가 코드를 수정하고, 빌드와 테스트를 하고 배포까지 한다면 상당히 많은 시간이 소요된다. Git 에 코드를 올리면 누군가 빌드와 테스트, 배포까지..
2023.07.16