일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- concurrency
- BOJ
- 알고리즘
- 페이지 부재율
- 백준
- 페이지 대치
- redis
- 기아 상태
- PYTHON
- 페이징
- 부동소수점
- mutex
- 세마포어
- 프로세스
- 컴퓨터구조
- 가상 메모리
- 교착상태
- 스케줄링
- gc
- 운영체제
- 우선순위
- local cache
- 인터럽트
- garbage collection
- fork()
- ALU
- 스레드
- mips
- Algorithm
- 단편화
- Today
- Total
목록Database (10)
봉황대 in CS

* 본 글은 ‘친절한 SQL 튜닝’ 책과 Oracle 공식 문서들을 바탕으로 작성하였습니다. (참고한 문서의 링크는 하단에 첨부) SQL Processing 과정 중에서 Soft parse와 Hard parse는 각각 어떤 과정이고, 언제 선택되는가? 먼저 여기에서 중심이 되는 구조인 Library cache에 대해서 알아보자. Library CacheSQL과 PL/SQL code를 재사용할 수 있도록 caching 해두는 메모리 공간이다. System Global Area(SGA) 내부 Shared pool에 위치하여, 모든 server와 background process가 공유한다. Why caching & reusing SQL, PL/SQL codes ?왜 SQL과 PL/SQL code를 ca..
* 본 글은 'Database System Concepts - 7th Edition(데이터베이스 시스템 7판)'을 바탕으로 작성하였습니다. What is phantom read ?i.e., Phantom phenomenon 이미 전 포스팅에서 다룬 개념이지만, 다시 명확하게 하는 겸 작성한다.https://eunajung01.tistory.com/166 두 개의 transaction, T_1과 T_2가 있다고 하자. 둘은 각각 다음과 같은 SQL을 실행한다.# T_1insert into instructor values(11111, 'Feynman', 'Physics', 94000);# T_2select count(*)from instructorwhere dept_name='Physics';T_2는 in..

ACID는 데이터베이스의 transaction이 안전하게 수행되는 것을 보장하기 위해서 가져야 하는 특성들을 말한다. Atomicity ensures that either all all the effects of a transaction are reflected in the database, or none are;a failure cannot leave the database in a state where a transaction is partially executed. (All or nothing)Consistency ensures that if the database is initially consistent,the execution of the transaction (by itself) leaves..

학교에서 들었던 OS와 DB 강의 중 synchronization과 관련해서는 ‘lock’에 대해서만 들었는데,여러 Database system 관련 논문들에서 ‘latch’라는 단어를 사용하는 것을 보게 되었다. 그때는 대충 lock과 비슷한 의미겠거니~~ 하면서 넘어갔는데 ㅎ,,이번 방학 동안 읽고 있는 '친절한 SQL 튜닝' 책의 설명에서는 latch와 lock을 완전히 구별해서 말하고 있길래 .. 이 참에 조금 더 공부해서 둘을 비교하면서 정리하고, 나의 견해를 마지막에 남겨보고자 한다. --- 둘의 공통적인 역할은 'Synchronization mechanism을 제공하여, shared resource들을 보호'하는 것이다. 또한, 정의되어 있는 정책에 따라서여러 worker들이 shared..

* 본 글은 ‘친절한 SQL 튜닝’ 책과 Oracle 공식 문서들을 바탕으로 작성하였습니다. (참고한 문서의 링크는 하단에 첨부) Overview of Oracle Database Storage StructuresOracle 데이터베이스의 전체적인 저장 구조는 다음과 같다. 그림에서 여러 unit이 존재하는 것을 볼 수 있는데,이들은 physical storage structure와 logical storage structure로 구분할 수 있다. 이 글에서는 위 그림에 그려져 있는 구조들에 대해서만 설명하겠다. (문서들을 파고들수록 양이 너무 방대해져서 ..) 관계형 데이터베이스 관리 시스템(RDBMS)의 특징 중 하나는logical data structure와 physical storage str..
버전 락, (대개) 낙관적 락(Optimistic Locking)이라고 부르는 locking 개념에 대해서 정리해보고자 한다.진행하고 있는 연구 구현에서 최근에 이 친구를 추가했다 ㅎ__ㅎ Main idea어떤 데이터에 대해서 reader가 writer 보다 훨씬 많은 상황을 생각해 보자.즉, 갱신이 자주 발생하지는 않으며, 읽기 연산은 많이 발생하는 데이터라는 것이다. 여기서 비관적 락(Pessimistic Lock)처럼, 연산을 진행하기 위해서는 무조건 lock을 잡아야 한다면 매우 큰 성능 저하가 발생할 수 있다. 읽기 연산은 여러 reader가 동시에 진행할 수 있는데, 그것을 아예 막아버렸기 때문이다. 따라서 버전 락(낙관적 락)은 '우선 그냥 읽어! → 읽는 동안 쓰기가 발생했다면, 다시 읽..

key들이 쭉 저장되어 있는 배열이 주어졌을 때,이 배열에 저장되어 있는 key들을 통해서 B+-Tree를 Bottom-Up 방식으로 생성하는 것은 어떻게 구현해야 할까? 현재 진행하고 있는 연구에서 이를 구현하기 위해 코드를 3번이나 갈아엎는 시행착오를 겪게 되었다.이 과정을 통해서 깨달았던 것들을 여기에 정리하고자 한다. Build: Top-Down Approach보통 B+-Tree를 생성하고자 한다면 Top-down 방식을 생각할 것이다. Top-down 방식은 search → insert → split 단계로 진행된다. root에서부터 시작하여, 현재 tree에 넣고자 하는 key를 저장할 수 있는 leaf node를 찾는다.해당 leaf node에 key를 insert 한다.만약 leaf n..

PPoPP '20 XIndex | Proceedings of the 25th ACM SIGPLAN Symposium on Principles and Practice of Parallel ProgrammingPPoPP '20: Proceedings of the 25th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming February 2020 454 pages Copyright © 2020 ACM Permission to make digital or hard copies of all or part of this work for personal or classroom use isdl.acm.org Learned IndexThe ..