CS
-
ARP 프로토콜이란?CS/네트워크 2022. 7. 17. 00:01
ARP 프로토콜이란? 같은 네트워크 대역에서 통신을 하기 위한 필요한 MAC 주소를 IP주소를 이용하여 알아오는 프로토콜입니다. 보통 우리가 www.google.com을 검색하게 되면 해당 도메인 주소가 DNS 서버에 의해 IP주소로 변환됩니다. 즉, 우리는 IP주소만 알고 있으며 MAC 주소는 알지 못합니다. 하지만 데이터를 보내기 위해서는 계층별로 캡슐화가 필요하며 이때 IP주소와 MAC 주소가 모두 필요하게 됩니다. 이때 ARP를 통해 MAC주소를 알게 됩니다. 2계층과 3계층 사이에서 동작하는 프로토콜입니다. ARP 프로토콜이 필요한 이유는? 왜 IP -> MAC 주소의 절차를 거쳐서 통신해야 할까요? IP를 활용하면 메시지를 보내고자 하는 PC의 네트워크까지만 접근할 수 있습니다. 또한 IP주소..
-
MySQL workbench 계정 추가하기CS/데이터베이스 2022. 7. 16. 12:32
1. root 계정으로 접속 2. Navigator -> Administration -> Users and Privileges -> Add Account -> Login 정보 작성 3. Administrative Roles -> 모든 권한을 다 체크 -> Apply 4. MySQL Connections를 추가합니다. Setup New Connection에 등록했던 값을 입력합니다. store in Valut... 를 클릭하고 비밀번호를 입력합니다. Test Connection 버튼을 눌러서 성공 창이 뜨는지 확인합니다. 계정이 성공적으로 생성되었습니다. 출처 https://moo-you.tistory.com/211 MySQL 워크벤치 계정추가하기 지난 포스팅에서 MySQL utf8 설정까지 했습니다. h..
-
공인 IP와 사설 IPCS/네트워크 2022. 7. 15. 00:01
IP란? IP란 Internet Protocol의 약자로 인터넷에 연결되어 있는 모든 장치들을 식별할 수 있도록 각각의 장비에게 부여되는 고유 주소입니다. 예를 들어 웹 브라우저에 www.google.com을 검색하게 되면 DNS가 이를 IP주소로 변환하여주어 IP주소로 통신하게 됩니다. IPv4와 IPv6 IPv4는 IP version 4의 약자로 전 세계적으로 사용된 첫 번째 인터펫 프로토콜입니다. 32비트 방식으로 8비트씩 4자리로 되어 있으며 각 자리는 온점으로 구분합니다. IPv4는 0 ~ 2^32(약 42억 9천) 개의 주소를 가질 수 있는데, 전 세계적으로 인터넷 사용자 수가 급증하면서 IPv4 주소가 고갈된 위기에 처했으며 이러한 고갈 문제를 해결하기 위해 등장한 주소가 바로 IPv6입니다..
-
MySQL index 적용해보기 + Full Text Index 적용CS/데이터베이스 2022. 7. 4. 20:15
다음 글을 읽기 위해 필요한 지식은 다음과 같습니다. - 기초 MySQL 문법 - 인덱스 - 실행계획 테이블 생성 우선 Index를 적용하기에 앞서 간단한 테이블을 생성해 보겠습니다. Metting(회의) 테이블은 회의 id와 회의 이름을 가집니다. CREATE TABLE Meeting( metting_id int primary key AUTO_INCREMENT, meeting_name varchar(100) NOT NULL ); Dummy 데이터 넣기 INSERT INTO Meeting Values(1,'abc'); INSERT INTO Meeting Values(2,'ab'); INSERT INTO Meeting Values(3,'f'); INSERT INTO Meeting Values(4,'abcd..
-
데이터베이스 조인의 모든것에 대해서 알아보자CS/데이터베이스 2022. 6. 19. 20:40
정리한 내용은 다음과 같습니다. 전반적인 Join의 개념과 등장 배경 다양한 Join 방법(Inner Join, Outer Join, Self Join, Cross Join) + 옵티마이저와 힌트 맛보기 Join이 실제로 수행되는 과정(Nested Loop Join, Sort Merge Join, Hash Join) 조인이란? 한 데이터베이스 내의 여러 테이블의 레코드를 조합하여 하나의 열로 표현한 것입니다. 글보다는 사진으로 예시를 들어보겠습니다. 한 데이터베이스 내의 여러 테이블의 레코드를 조합하여 하나의 열로 표현한 것입니다. => 한 데이터베이스 내의 사원과 부서 테이블의 레코드(이름, 부서명)를 조합하여 하나의 (이름, 부서명) 테이블로 표현합니다. 조인이 등장하게 된 이유(조인의 필요성) 관계..
-
데이터베이스 ReplicationCS/데이터베이스 2022. 6. 2. 01:06
Replication이란? 사전적으로 "복제"라는 뜻을 가지고 있습니다. 이때 기준이 되는 서버를 마스터 서버라고 하며, 마스터 서버와 동일한 내용을 갖는 또 다른 서버를 리플리카라고 합니다. 애플리케이션은 데이터베이스에 SQL 명령을 보내 데이터를 삽입/변경/삭제하게 되는데 마스터 서버는 SQL 명령을 수신하면 그 SQL 명령을 리플리카 서버에도 똑같이 보냅니다. 이렇게 되면 마스터 서버와 리플리카 서버의 데이터가 동일한 상태로 유지됩니다. Why Replication? 굳이 복제하는 이유가 뭘까요? 바로 데이터의 안정성을 위함입니다. 어떤 원인으로 인해 데이터가 손상되었을 때, 가장 기초적인 대처는 백업을 가지는 것입니다. 하지만 백업이 얼마나 주기적으로 일어나는지에 따라 백업된 시간과 장애가 발생한..
-
DB 옵티마이저와 실행계획CS/데이터베이스 2022. 6. 1. 21:48
옵티마이저(Optimizer)란? 가장 효율적인 방법으로 SQL을 수행할 최적의 처리 경로를 생성해주는 DBMS의 핵심 엔진입니다. 컴퓨터의 두뇌가 CPU라면 DBMS의 두뇌는 옵티마이저입니다. 만약 개발자가 SQL을 작성하고 실행하면 옵티마이저는 쿼리문을 어떻게 실행시키기 위하여 실행계획을 세우게 됩니다. 실행계획을 세운 뒤 시스템 통계정보를 활용하여 각 실행계획의 예상 비용을 산정한 후 각 실행계획을 비교해서 최고의 효율을 가지고 있는 실행계획을 판별한 후 해당 쿼리를 수행합니다. 옵티마이저가 하는 일을 요약하자면 다음과 같습니다. 1. 여러 가지 실행계획을 세운다. 2. 실행계획들을 비교하여 최적의 상황을 찾는다. 규칙 기반 옵티마이저 인덱스의 유무, SQL에서 사용하는 연산자 등을 고려하여 우선순..
-
HTTP 1.1 , HTTP 2.0, HTTP 3.0 정리CS/네트워크 2022. 5. 30. 00:04
카카오는 어떤 프로토콜을 사용하고 있을지 궁금하여 개발자 도구를 열고 찾아보았습니다. http1.1, h2, h3를 사용하고 있는데 이 프로토콜이 어떤 것들인지 알아보도록 하겠습니다. HTTP란? Hyper Text Transfer Protocol으로 HTML을 전송하기 위한 통신 규약이지만 현재는 모든 것을 HTTP로 전송하고 있습니다. 웹상에서 클라이언트와 서버가 서로 정보를 주고 받을 수 있도록 하는 규약입니다. 만약 HTTP가 무엇인지 잘 모른다면 다음글을 보고 오시면 좋을 것 같습니다. https://junuuu.tistory.com/36?category=974977 HTTP 기본 HTTP란? HyperText Transfer Protocol의 약자로 HTML을 전송하는 프로토콜로 시작되었으나 ..