분류 전체보기 90

[네트워크] 4. Network layer (1) - Forwarding and Routing / Switching

Reference - Computer Networking: a Top Down Approach Network layer는 end to end로 패킷을 전송할 때, 경로를 설정하고 라우터 관점에서 어떻게 효율적으로 전달할지를 결정하는 역할을 한다. Network layer: Data plane & Control plane 라우터는 application layer, transport layer를 지원하지 않으므로 network layer 상위 계층은 존재하지 않는다. network layer에는 하나의 라우터 안에서 어느 라우터로 패킷을 전달할지를 결정하는 forwarding과 전체 network-wide에서 전체 경로를 결정하는 routing, 두가지 function이 있다. forwarding은 몇 ns..

CS/네트워크 2023.12.03

[네트워크] 3. Transport layer (2) - Congestion control in TCP

Reference - Computer Networking: a Top Down Approach Transport layer는 Application의 end to end (source와 destination)을 연결시켜주는 역할을 하는 layer다. Congestion Control Congestion control이란 예측에 기반해 네트워크 자체의 혼잡을 막기 위해 ACK 속도에 따라 전송 속도를 조절하는 것이다. 이때 송신 측이 데이터를 보내는 크기인 Congestion Window(cwnd)를 조절하여 혼잡을 제어한다. loss가 발생하지 않으면 cwnd를 조금씩 늘려 전송량을 늘리게끔 고안되었다. Congestion Collapse는 network traffic이 쌓이다가 한 부분이 bottlene..

CS/네트워크 2023.12.03

[데이터베이스] 6. More SQL: Complex queries, triggers, views, and schema modification (chapter 7)

Reference - Fundamentals of Database Systems 7th edition More complex SQL Retrieval Queries 복잡한 형태의 조회 - Nested queries (중첩 질의), joined tables, outer joins 복잡한 형태의 조회를 알아보기 전에 NULL에 대해 더 자세히 알아보겠다. NULL에는 3가지 종류가 있다. -> 알려지지 않은 값, 이용할 수 없는 값, 적용할 수 없는 값이다. NULL 값이 있을 때 comparison은 AND의 경우 TRUE and NULL -> NULL, FALSE and NULL -> FALSE다. OR의 경우 TRUE or NULL -> TRUE, FALSE or NULL -> NULL이다. IS NU..

CS/Database 2023.12.02

[데이터베이스] 5. Basic SQL (chapter 6)

Reference - Fundamentals of Database Systems 7th edition SQL SQL은 관계형 데이터베이스에서 데이터를 처리하는 선언적 언어다. 따라서 절차적인 Python, C와 달리 선언만 하면 되기에 상대적으로 쉬울 것이다. Table = relation, row = tuple, column = attribute다. SQL schema는 DB의 이름이다. schema 안엔 DB의 권한이나 설명이 포함되어 있다. Example - Create Schema CREATE SCHEMA COMPANY AUTHORIZATION 'Jsmith'; - Create table CREATE TABLE COMPANY.EMPLOYEE (or 그냥 EMPLOYEE) - View 사용자가 보기..

CS/Database 2023.12.02

[데이터베이스] 4. Relational Data Model and Relationship Database Constraints (Chapter 5)

Reference - Fundamentals of Database Systems 7th edition Relational Model Concepts - Terms Relation에 관한 model concept. relation은 table of values와 유사하다. tuple은 relation의 행을 말하며, 각 행은 real-world의 entity (혹은 relationship)을 의미한다. tuple은 unique한 key가 존재한다.때로 row-ids나 table row의 sequential number가 키가 되는 경우가 있는데, 이를 artifical key 혹은 surrogate key라 한다. domain은 데이터 타입에 대한 정의를 말한다. (ex.phone numbers are t..

CS/Database 2023.12.02

[데이터베이스] 3. Data Modeling Using ER Model

Reference - Fundamentals of Database Systems 7th edition Database Design Process E-R(Entity-Relationship) Diagram : Conceptual Design의 일종. ER model은 아래 3개의 main concepts을 가진다. - entity Entity : Mini-world를 표현하기 위해 추상화된, attribute를 가지고 있는 객체다. Entity들의 집합을 Entity Type이라 하며, entity type의 특정 시점에서의 collection을 Entity Set이라 한다. entity는 ER Diagram에서 네모로 표현한다. 아래에서 서술하는 key attribute를 가지고 있지 않은 entity를..

CS/Database 2023.12.01

[데이터베이스] 2. Database System Concepts and Architecture

Reference - Fundamentals of Database Systems 7th edition Database System Concepts - Concept Data model : 데이터베이스 구조를 설명하기 위한 개념적 도구들의 모임. elements(data type)과 groups of elements (entity, record, table), relationships을 포함한다. - Categories of Data model conceptual (semantic) data model : 유저가 인식하는 구조로 제공 physical (internal) data model : 컴퓨터가 인식하는 구조로, File 형태로 메타데이터를 포함하여 제공 Implementation (represent..

CS/Database 2023.12.01

[데이터베이스] 1. Database and Database Users

Reference - Fundamentals of Database Systems 7th edition Basic Definitions of DataBase - Concept data : 명시적으로 기록된 정보 database : 연관된 데이터의 집합 Mini-world : db에 저장되는 현실세계의 일부분 DBMS : database를 생성, 유지하기 위한 software package Database System : DBMS 소프트웨어와 Data를 함께 지칭하는 용어 +Terms query : DB에 정보를 요청하는 행위 transaction : 여러 query를 온전히 실행하도록 하는 작업 단위 entity : mini-world를 DB 상에 표현한 객체 attributes : entity를 설명하는..

CS/Database 2023.12.01

[네트워크] 3. Transport layer (1) - UDP/TCP, RDT, multiplexing, flow control, congestion control, 3-way handshake

Reference - Computer Networking: a Top Down Approach Transport layer는 Application의 end to end (source와 destination)을 연결시켜주는 역할을 하는 layer다. UDP, TCP Application layer와 transport layer 사이를 통신함에 있어 Socket이 필요하다. 앞서 언급했듯이 socket은 두 layer를 통신하게 해주는 문과 같은 역할이라 생각하면 편하다. Socket은 두가지 방식이 있는데, UDP와 TCP이다. 참고로 Transport layer에서 패킷을 UDP는 datagram, TCP는 segment라 칭하니 기억해두자. 먼저 UDP에 대해 살펴보겠다. UDP (User Datagr..

CS/네트워크 2023.10.14
loading