728x90 2022/113 [DB] 트랜잭션의 ACID 트랜잭션 : 여러 개의 작업을 하나로 묶어서 실행하는 것입니다. 좀 더 자세히 말하자면 데이터베이스에서 트랙재션은 데이터베이스 관리 시스템 또는 유사한 시스템에서 상호작용의 단위입니다. 단일 트랜잭션은 DB 내에 읽거나 쓰는 여러 개 쿼리를 요구합니다. 이때, 중요한 것은 데이터베이스가 수행된 일부 쿼리가 남지 않는 것입니다. 예를 들면, 송금을 할 때 한 계좌에서 인출되면 다른 계좌에서 입금이 확인되는 것이 중요합니다. 즉, 자신의 계좌에서 돈이 차감되고 나서 돈을 받은 계좌에서 입금이 되어야하는데 차감만 될뿐 입금이 안되면 돈이 증발 하기때문에 이런일이 발생하면 처음부터 다시 하도록 rollback 해주는 것입니다. 만약 문제가 없으면 그때는 commit을 해주는 것이구요. 이게 트랙잭션의 한 과정이.. 2022. 11. 29. RDMS 와 NoSQL은 무엇인가? NoSQL : No + SQL 이 아니라 Not Only SQL 이라는 뜻으로 SQL뿐만 아니라 라는 의미가 있습니다. 즉, SQL 뿐만 아니라 다른 데이터베이스도 존재한다라는 뜻입니다. SQL(관계형 데이터베이스)은 대표적으로 MySQL, Oracle 등이 존재하고 NoSQL(비관계형 데이터베이스)은 대표적으로 MongoDB, Redis 등이 존재합니다. RDBMS 가 있는데 NoSQL이 나온 이유는 다음과 같습니다. - ACID의 완화 - 수평 확장 가능한 분산 시스템 - Schema의 정의가 없음 그럼 RDBMS와 NoSQL의 차이점은 무엇인가? RDBMS NoSQL 데이터 모델 정규화와 참조 무결성이 보장된 스키마 스키마가 없는 자유로운 데이터 모델 트랜젝션 강한 ACID 완화된 ACID 확장 수.. 2022. 11. 28. Nginx + https연결 사용법 Nginx는 로드 밸런스 처리에 특화된 경량 웹 서버 프로그램이다. Nginx를 서버 앞 단에 두어 Express가 사용하는 실제 포트를 숨기고 Nginx의 80번 포트를 통해 Reverse proxing 함으로써 보안 이슈를 방지하고, Nginx의 여러 기능도 사용할 수 있다. 클라이언트로부터 요청을 받았을 때 요청에 맞는 정적 파일을 응답해 주는 HTTP Web Server로 활용되기도 하고, Reverse Proxy Server로 활용하여 WAS 서버의 부하를 줄일 수 있는 로드 밸런서로 활용되기도 한다. Nginx는 Event-Driven 구조로 동작하기 때문에 한 개 또는 고정된 프로세스만 생성하여 사용하고, 비동기 방식으로 요청들을 Concurrency 하게 처리할 수 있다. Nginx는 새로.. 2022. 11. 2. 이전 1 다음 728x90