Eat Study Love

먹고 공부하고 사랑하라

Data Science/SQL & Database Management System 25

External Sorting and Hashing[7]

Database에 있는 Data들이 Sorting이 되어 있냐 아니냐에 따라서 Update performance차이가 많이 난다. 그만큼 Data의 Sorting이 매우 매우 중요하다는 것. SQL문의 Order by외에도 사실 DISTINCT, Group by, BULK LOADING(B-tree optimization) 등을 사용할 때도 Data Tuple들이 Sorting되어 있으면 좋다. 즉, Data는 기본적으로 Memory보다 크므로 Disk에서 Memory로 효율적으로 Data를 읽어 오려면 Data들을 Sort시키는 게 필요하다. DBMS에서는 보통 이 때 Merge-Sort를 사용하고, 이번엔 이와 관련된 공부내용이다.

Database SQL (feat. PostgreSQL)[2]

SQL은 Structured Query Language의 약자로 High LV 프로그래밍 언어이다. 실제로 사람이 충분히 이해가 가능하다.SQL은 크게 DDL(Data Definition Language)와 DML(Data Manipulation Language)로 나뉘는데 쉽게 말해 DDL은 Table의 생성, 삭제, 변경등을 하는 것이고 DML은 Data inserty/delete 등을 하는 것이다. Table, Column을 만들 때 Data 값을 모르면 NULL값을 하기도 한다. Database(DB)는 set of Relations(Tables)라고 생각하면 된다. Multi Table에 Query를 날릴 땐 Join문을 쓴다. 같은 결과를 나타내는 쿼리의 종류는 많으니 어떻게 조합하는지는 Us..

Introduction to DBMS[1]

Database는 서로 관계된 데이터들이 저장되어 있는 곳이며, 컴퓨터 Applicaqtion의 주성분이다.DataBase Management System(DBMS)는 이런 DataBase(DB)를 관리하는 하나의 시스템이며, Architecture는 아래와 같다.User 또는 Client에 의해서 SQL문이 전달되면, Query Parsing & Optimizer에서 일차적으로 해당 SQL문을 Parsing 하여 Computer가 이해하기 쉬운 Relational Operations으로 전환시켜준다. 그러면 해당 정보를 갖고, 실제 요청된 File이 DB에 저장되어 있는지 Files and Index Managemet 단계에서 확인한다. 모든 Data Record들은 Table 형태로 저장되어 있고, ..

Ubuntu와 친해지기

졸지에 논문을 RDBMS, SQL과 관련된 분야를 주제로 쓰게 되어서 팔자에도 없던 Linux를 사용하게 되었다. 필자는 Windows Laptop을 이용중인데, 기본적으로 Linux는 Mac과 Base가 같다고 해야하나? 여튼 Mac이랑 친해서, windows 유저들은 WSL이라는 것을 따로 이용해야 한다. 근데 문제는, 이 WSL, Linux라는 것이 생각보다 예민한 녀석이라 한 번 잘못 지우거나 update하면 실행이 잘 안 되는 문제가 발생한다.. 필자도 WSL 새로 깔아볼까? 하고 기존에 다운 받았던 WSL, Ubuntu를 싸그리 직접 수동으로 찾아서 지웠다가, 다시는 깔리지 않는 불상사가 발생했다. 솔직히 이 경우엔 포맷이 답이긴 한데, 도저히 그럴 순 없는 상황이라 구글링/GPT 헬프를 엄청..

4. Relational Algebra and Calculus

https://eglife.tistory.com/63 3-2 Relation Modelhttps://eglife.tistory.com/62 3-1 Relation Modelhttps://eglife.tistory.com/61 3. Relational Modelhttps://eglife.tistory.com/60 2. SQL 기초 실습 코드 https://eglife.tistory.com/59 1. Over View of DB Systems DB라는 것을 배우기 위한 뽕주입eglife.tistory.com  대충 쿼리는 여타 다른 프로그래밍 언어처럼 복잡완벽한 계산을 제공하진 않지만 그래도 쉽고 효율적인 계산로직을 허용한다는 뜻이다. Relational Algebra ( RA ) ..