제이제이
article thumbnail
MySQL 엔진 아키텍처
데이터 베이스/MySQL 2023. 5. 21. 17:05

💁🏻‍♂️ MySQL의 아키텍처 🤔 MySQL의 아키텍처? 우리가 사용하는 MySQL은 크게 MySQL 엔진, 스토리지 엔진으로 나누어지며, 핸들러 API를 통해서 서로 통신을 주고 받습니다. 🔎 MySQL의 엔진 살펴보기 MySQL 엔진 1. 쿼리 파서 SQL문장을 트리의 형태로 파싱을 하게 됩니다. → 해당 트리 안에 들어 있는 각각의 요소들은 MySQL이 인지할 수 있는 토큰이라는 단위로 파싱됩니다. → 이때 SQL 구문의 문법적인 오류가 있는지 검사를 하고, 예외가 있다면 사용자에게 예외 메시지를 반환하는 역할도 수행합니다. 2. 전처리기 예약어를 제외한 토큰을 검사해서 실제 DB안에 객체가 존재하는지, 접근이 가능한지, 권한 등을 검증하는 역할을 수행합니다. → 파서(parser)가 만든 트리를..

article thumbnail
MySQL의 계정 생성 및 권한 부여 방법
데이터 베이스/MySQL 2023. 5. 7. 19:25

💁🏻‍♂️ MySQL의 계정 생성 및 권한 부여 🤔 계정 생성이란? MySQL을 설치하게 되면 가장 먼저 사용하는 계정이 root 계정입니다. → root 계정의 경우, 관리자 계정이기 때문에 DB에 대한 모든 권한을 가지고 있습니다. → 하지만, 실제 서비스에 사용되는 DB는 DBA가 root 권한을 가지고 있고, DB를 이용하는 개발자 및 사용자들은 역할에 맞도록 권한을 부여 받아 사용합니다. 👉🏻 DB 접속 및 계정 조회 mysql의 사용자 목록을 조회하기 위해 mysql의 기본 스키마인 mysql안에 user 테이블에서 다음과 같은 명령어를 통해 조회할 수 있습니다. 💻 코드 //mysql root 권한 접속 mysql -u root -p //mysql 스키마 선택 use mysql; //사용자 ..

article thumbnail
네트워크 - ch3-4. 신뢰성 있는 데이터 전송의 원리
네트워크 2023. 4. 1. 23:01

👉🏻 실뢰적인 데이터 전달 프로토콜의 구축 🤔 신뢰성 있는 데이터 전송을 위해 어떤 것들이 필요할까? 🤔신뢰성 있는 전송의 역할은 무엇일까? → 수신하는 프로세스(Receiver Process)가 받는 데이터가 정상적인 것인지 신뢰감을 주어야 함 🤔수신하는 프로세스(Receiver Process)에게 믿음을 주려면 어떻게 해야 할까? 실제 하위 레이어에서 일어나는 에러들을 체크를 해서 해결한 후 응용 계층에 전달 에러 발생시 재전송을 요구함 →수신하는 프로세스 (Receiver Process)에게 믿음을 줌 🔎인터넷에서 발생할 수 있는 에러의 형태 💊해결책 🤔 패킷을 재전송하면, 받는쪽(수신 프로세스)에서는 어떻게 이전의 내용의 재전송인지 어떻게 알지? 패킷마다 일련번호(Sequence Number)라는..

article thumbnail
네트워크 - ch3-3. 비연결성 전송 프로토콜(UDP)
네트워크 2023. 4. 1. 18:02

👉🏻UDP 세그먼트 구조 🤔 UDP란? “User Datagram Protocol”의 약자로, 흔히 장식이 달려 있지 않은, 뼈만 있는 그런 프로토콜이라고도 불립니다. → 어떤 부가적인 기능이 제공되지 않고, 전송 계층의 기본적인 다중화, 역다중화 기능, 체크섬 정도만 제공하고 있습니다. → TCP와 달리 3way handShake를 사용하지 않기 때문에 비연결 지향형 프로토콜입니다. 🔎UDP 세그먼트 헤더 4Byte = 32bit = 1word 🤔 전송계층의 가장 기본적인 기능은? 다중화(Multiplexing), 역다중화(DeMultiplexing) 👍🏻UDP의 장점 TCP에 비해 간단합니다. → 따라서 처리 속도가 빨라질 수 있습니다. 3way handshake가 없습니다. → 지연 시간이 없습니다..

article thumbnail
네트워크 - ch3-2. 다중화와 역다중화
네트워크 2023. 4. 1. 17:04

💁🏻‍♂️다중화와 역다중화 🤔 다중화와 역 다중화는 누가 하지? → 전송계층에서 제공합니다. 🔎다중화와 역다중화 자세히 살펴보기 🔎역다중화 작업이 어떻게 이루어지는지 확인하기 🤔 서로 다른 응용프로그램 중 어떤 프로세스가 대상이 되어야 하는지 누가 결정할까? → 소켓(Socket)을 통해서 지시를 내림 🔎소켓에 대해서 살펴보기 🤔 API란? Application Program Interface로 해당 함수를 호출하면 애플리케이션에 데이터를 송/수신할수 있습니다. → API에는 여러개가 있은데, 묶어서 소켓이라고 합니다. 🔎파이썬을 통해 구현한 소켓 프로그래밍 🔎역 다중화의 예시 📒Reference (참고 자료) 컴퓨터 네트워킹 하양식 접근(Computer Networking _ A Top Down App..

article thumbnail
네트워크 - ch3-1. 전송 계층 서비스 및 개요
네트워크 2023. 4. 1. 16:37

💁🏻‍♂️전송 계층 서비스 및 개요 🤔 프로그램, 프로세스, 스레드란? 👨🏻‍🏫정리 - 프로그램, 프로세스, 스레드 예시 파워포인트, 한글, 크롬 등 하드 디스크에 저장된 상태 = 프로그램 프로그램을 실행해서 하드디스크에 있는 프로그램을 실제 메모리에 동작하고 있는 형태 = 프로세스 프로세스가 동작하는 동안 수행하는 작업 하나의 단위, 블록 = 스레드 👉🏻전송 계층과 네트워크 계층 사이의 관계 🔎 전송 계층에서 제공하는 기능 프로세스들간의 논리적 연결 🙋🏻‍♂️인터넷 전송계층의 개요 인터넷 전송계층은 TCP 프로토콜과 UDP 프로토콜로 나뉘게 됨 📒Reference (참고 자료) 컴퓨터 네트워킹 하양식 접근(Computer Networking _ A Top Down Approach, 8th) K Mooc..

article thumbnail
네트워크 - ch2-6. 비디오 스트리밍과 컨텐츠 분배 네트워크
네트워크 2023. 3. 26. 20:46

💁🏻‍♂️ 비디오 스트리밍과 컨텐츠 분배 네트워크 -> 이번 포스팅에서는 2장의 마지막 장으로써 CDN에 대해서 살펴보도록 하겠습니다! 👉🏻인터넷 비디오 2010년대 이후에 들어서 멀티미디어(인터넷 비디오) 서비스들이 대중화되었습니다. → 이전에는 텍스트로 서비스했으나, 점차 사용자들이 멀티 미디어가 들어가지 않으면 보지 않게 되었습니다. ⚠️ 발생하는 문제점 👨🏻‍🏫 정리 멀티미디어의 경우 서비스를 제공하는데 위와 같은 여러 상황의 이유로 확장성에 문제가 있습니다. →이에 CDN(Content Distribution Networks)가 등장하게 되었습니다. ☺️ 콘텐츠 분배 네트워크(CDN) 👍🏻 장점 일부 서버가 고장이 나더라도 다른 서버에서 서비스를 안정적으로 받을 수 있습니다. 거리가 가깝기 때문..

article thumbnail
네트워크 - ch2-5. P2P 파일 분배
네트워크 2023. 3. 26. 20:37

💁🏻‍♂️P2P 파일 분배 🤔 P2P란? 🔎 클라이언트-서버 모델과 P2P간의 비교 🤔 ”하나의 서버에서 N개의 엔드 호스트(Peer)에게 파일을 보내는데 얼마나 시간이 걸릴까?” 🔎 P2P의 예시 - Bit Torrent 👨🏻‍🏫 추가설명 - Chunk 256KB단위로 P2P 방식에서 사용합니다. 🔎 Chunk를 송신, 수신할 경우 알아보기 데이터를 Chunk 단위로 받을 때 하나의 전체 파일을 하나의 Peer에게 받지 않습니다. → 시간도 오래걸리고, 다운받을 동안 해당 Peer가 접속해 있을 것이라는 보장이 없습니다. +) 👨🏻‍🏫 추가자료 - Free Rider, tit-for-tat방식 해당 Peer가 데이터를 전송만 받고, 송신하라고 할때 접속을 종료하는 경우 → P2P 네트워크가 제대로 동작..