분류 전체보기86 동시성이란? 동시성(Concurrency)은 동시에 여러 작업을 수행할 수 있는 능력이다 동시성은 한번에 하나의 작업만 처리하는 순차적인 방식과 달리 여러 작업을 동시에 처리할 수 있도록 하는 개념이다 동시성은 실제로 동시에 실행되는 것처럼 보이도록 여러 작업을 교대로 실행하고 관리하는 방식을 의미한다 이러한 작업들은 동시성 컨텍스트 내에서 독립적으로 진행되어야 한다 이때, 동시성을 구현하는 방법은 여러가지가 있다. 1. 멀티 스레딩 스레드(Thread)를 사용하여 여러 작업을 동시에 처리하는 방식이다. 여러 스레드를 동시에 실행시키면 하나의 프로세스에서 여러 작업을 병렬로 처리할 수 있다. 2. 병렬 처리 여러개의 프로세서나 코어를 사용하여 작업을 동시에 처리하는 방식이다. 병렬 처리는 동시성을 달성하기 위한 하나.. 2023. 6. 6. 트랜잭션(Transaction) 이란? 트랜잭션(Transaction)은 데이터베이스에서 수행되는 논리적인 작업의 단위를 말한다. 트랜잭션은 데이터베이스의 일관성과 무결성을 유지하기 위해 사용된다. 일련의 데이터 조작 작업을 묶어서 하나의 작업으로 처리하고 작업이 모두 성공적으로 수행되거나 전혀 수행되지 않는 원자성(Atomicity)을 보장한다. 트랙잭션의 특징 1. 원자성(Atomicity) 트랜잭션은 작업의 단위로서 작업들은 모두 성공적으로 완료되거나 아예 수행되지 않아야 한다. 즉, 트랜잭션 중간에 어떠한 작업도 완료되지 않은 상태로 남지 않아야 한다. 2. 일관성(Consistency) 트랜잭션이 수행되기 전과 수행된 후의 데이터베이스 상태는 일관성이 유지되어야 한다. 트랜잭션이 수행되는 동안에도 데이터의 무결성 조건이 항상 만족되어.. 2023. 6. 5. RDBMS(Relation Database Management System)과 NoSQL(Non-SQL)의 차이점이 무엇인가요? RDBMS와 NoSQL은 데이터를 저장하고 관리하기 위한 다른 종류의 데이터베이스 시스템이다. 이들은 데이터 모델, 스키마, 일관성, 확장성 등 다양한 측면에서 차이가 있다. 1. 데이터 모델 RDBMS RDBMS는 관계형 데이터 모델을 기반으로 한다. 데이터는 테이블(Table) 형태로 구성되며 각 테이블은 레코드(Recode)로 구성된다. 테이블 간에는 관계(RelationShip)를 정의하여 데이터를 관리한다. NoSQL NoSQL은 다양한 데이터 모델을 사용할 수 있다. 주로 키-값(Key-Value), 문서(Document), 열(Column), 그래프(Graph) 등의 모델을 사용합니다. 데이터는 스키마 없이 자유롭게 저장될 수 있다. 2. 스키마 RDBMS RDBMS는 정적인 스키마를 가지고.. 2023. 6. 4. 성능 개선의 수치화 - 4 (Overfetching 성능 개선) 이전 글에서 JMeter를 다루어 보니 성능의 객관화가 가능하여 성능의 좋고,나쁨을 볼 수 있어서 좋았다. 기존 프로젝트의 DB에서 불필요한 데이터를 받아오는 Overfetching 문제가 확인되었다. 현재 프로젝트에서는 불필요한 컬럼을 받아오는 이슈가 있기 때문에 불필요한 데이터를 걸러준다면 성능의 개선이 될까 궁금해졌다. 아래는 기존의 코드 이며 select하여 불필요한 데이터를 받지 않는 것으로 수정해보겠다. 수정 결과는 아래와 같다 수정 전 수정 후 27.3%의 개선이 이루어졌다. 단순 select를 하여 불필요한 데이터를 받지 않는 것 만으로도 유의미한 차이가 확인되었다. 2023. 6. 2. 이전 1 2 3 4 5 ··· 22 다음