[ Computer Science ]

[ Computer Science ]/데이터베이스 이론

[Database / SQLD] 데이터 모델과 SQL _ 정규화, 반정규화, 트랜잭션 (Part1 - Ch02)

SQLD를 준비하며 개인적으로 조금 외워두면 좋을 것 같은 것들만 적어보았습니다.참고한 책은 "2024 유선배 SQL개발자(SQLD) 과외노트"입니다.01 정규화(Normalization)정규화란?<p data-ke-size="size16..

[ Computer Science ]/Linux 리눅스

[Linux/Unix] POSIX와 Unix 계열의 표준 입출력

이전 글...[Linux/Unix] POSIX란? (포직스, 이식 가능 운영체제 인터페이스, Unix 표준) 표준 스트림표준 스트림(Standard Stream)은 Posix 표준을 따르는 OS의 표준 입출력 통로를 말한다.Unix 계열 운영체제에서 컴퓨터 프로그램과 여러 입출력 장치 간에 통로(Stream) 스트림은 프로그램을 드나드는 데이터를 바이트의 흐름(byte stream)으로 표현된 것이다. Unix 기반 운영체제에서는 이 스트림을 이용해서 각 장치를 파일처럼 다루고, 모든 파일과 데이터를 표준 입력과 표준 출력으로 나타내며 이들 사이의 상호작용을 pipe를 통해 조합, 연결하여 사용한다. 즉, 표준 입출력 + pipe로 모든 동작을 정의한다.표준 입력(stdin) / 표..

[ Computer Science ]/데이터베이스 이론

[Database / SQLD] 데이터 모델링의 이해 (Part1 - Ch01)

SQLD를 준비하며 개인적으로 조금 외워두면 좋을 것 같은 것들만 적어보았습니다.참고한 책은 "2024 유선배 SQL개발자(SQLD) 과외노트"입니다. 01 데이터 모델의 이해모델링의 특징추상화단순화명확화상세화모델링의 3가지 관점데이터 관점프로세스 관점데이터와 프로세스의 상관 관점 : 관계 위주데이터의 품질 보장을 위해 유의해야 할 점중복 : 중복 x비유연성 : 유연하게 설계비일관성 : 일관성 있게 설계모델링의 3가지 단계개념적 데이터 모델링 : 추상화 수준이 가장 높음논리적 데이터 모델링 : 재사용성이 가장 높음 - key, 속성, 관계 등 모두 표현하는 단계물리적 데이터 모델링 : 실제 DB에 구현할 수 있도록 물리적인 성격을 고려3단계 스키마 구조..

[ Computer Science ]/Linux 리눅스

[Linux/Unix] POSIX란? (포직스, 이식 가능 운영체제 인터페이스, Unix 표준)

POSIX란?POSIX : Portable Operating System Interface + UniX-> 이식 가능한 운영 체제 인터페이스 + 유닉스 호환 운영체제에 보통 X가 붙는 것에서 유래한다.<span style="..

[ Computer Science ]/운영체제

[CS / 운영체제] 프로세스와 스레드, IPC, 멀티 스레드

프로세스(Process) 란? 프로세스는 실행 중인 프로그램을 말한다. 스케쥴링의 대상이 되는 작업, Task, Job 등과 같은 용어이다. 응용 프로그램과 프로세스는 같은 용어가 아니다. 예를 들면 excel 프로그램은 excel.exe라는 실행 파일로 존재한다. 이 파일은 컴퓨터가 이해할 수 있는 0과 1로 된 바이너리로 구성되어 있고, excel.exe를 실행해서 excep 프로그램이 뜨면, 이를 프로세스라고 한다. excel 프로그램을 여러 개 여러 개 띄우면, 여러 개의 프로세스가 실행되는 것이다. 프로세스 스케쥴링 여러 개의 프로세스가 동시에 실행되고 있을 때, 어떤 프로세스를 먼저 실행시킬지에 대한 규칙이 있어야 한다. 이를 프로세스 스케쥴링이라고 한다. 배치 처리 시스템, 시분할 시스템, ..

[ Computer Science ]/운영체제

[CS / 운영체제] 운영체제란? OS 용어 정리 - 쉘, 시스템콜, API

운영체제 (Operating System) User가 사용하는 응용 프로그램(Application)과 하드웨어 사이에서 동작하는 프로그램을 말한다. Windows, MacOS, UNIX(Linux) 등이 운영체제에 해당된다. OS는 더 상세히 커널(kernel)을 의미하고, 이 커널에 여러 가지가 추가된 것을 운영체제라고 말한다. 💡운영체제는 사용자가 사용하는 응용 프로그램이 효율적으로, 적절하게 동작하도록 지원한다. 즉, 응용 프로그램이 요청하는 시스템 리소스를 효율적으로 분배하고, 지원하는 소프트웨어이다. 커널(kernel) 커널은 운영체제에서 가장 중요한 소프트웨어로, 컴퓨터의 자원들을 관리하는 역할을 한다. 하드웨어의 자원을 프로세스에 할당하고, 프로세스 제어, 메모리 관리, 시스템콜 수행 등을 ..

[ Computer Science ]/데이터베이스 이론

[Database] 트랜잭션의 격리성 문제 - Dirty Read / Non-Repeatable Read / Phantom Read

트랜잭션? 트랜잭션은 하나의 데이터 교환 또는 변경을 안전하게 처리하도록 보장해 주는 것을 의미한다. 한 번의 애플리케이션 로직으로 인해 두 개 이상의 데이터가 영향을 받는 경우, 각각의 데이터에 대한 변경이 완전하게 끝난 후 데이터베이스에 정상적으로 반영하는 것이다. 만약 데이터 처리 중 문제가 발생 시 로직 실행 전으로 되돌리는 기능을 지원한다. 트랜잭션에 대해 모르신다면 아래 글을 읽어보시길 바랍니다. 📁[Database] 트랜잭션의 동작 원리와 ACID 속성 트랜잭션 격리성 ( Transaction Isolation ) 트랜잭션의 격리성은 트랜잭션의 여러 특징들 중 하나이다. 격리성은 실행 중인 트랜잭션의 중간에 다른 트랜잭션이 접근할 수 없도록 하는 것을 뜻한다. 이런 격리성의 수준을 조절할 수..

[ Computer Science ]/데이터베이스 이론

[DataBase] 트랜잭션 - 락(Lock) 동작 원리와 동작 과정

DB Lock (락) DB Lock(락)은 하나의 데이터를 다른 세션에서 수정하는 것을 방지하는 것이다. 만약 세션 A에서 데이터를 수정하기 위해 트랜잭션을 진행 중이고 아직 커밋 또는 롤백을 수행하지 않았는데, 다른 세션 B에서 동시에 같은 데이터를 수정하게 된다면 여러 가지 문제가 발생할 것이다. 트랜잭션의 원자성이 깨지는 것이다. DB Lock은 이런 문제를 방지하기 위해 트랜잭션을 시작하고 해당 트랜잭션(세션)이 종료되기 전까지 다른 세션에서 해당 데이터를 수정할 수 없도록 막아주는 역할을 한다. 락을 고려한 트랜잭션 과정 락(Lock)은 해당 데이터 수정에 대한 권한 같은 것으로 생각하면 된다. 트랜잭션을 시작하고 쿼리를 실행함과 동시에 락을 획득한다. 획득한 락은 트랜잭션 종료(커밋/롤백) 시..

HSRyuuu
'[ Computer Science ]' 카테고리의 글 목록 (2 Page)