분류 전체보기
-
[MySQL] Replication(리플리케이션)이란Database/MY-SQL 2023. 1. 17. 15:58
데이터베이스 리플리케이션(Database replication)이란 보통 Master/Slave 관계를 갖는 원본과 복사본 사이를 다룬다. 마스터는 변경 사항을 기록하고 그 결과는 슬레이브에게 전달된다. 라고 위키백과 레플리케이션에서 설명하고 있다. 보편적으로는 데이터베이스의 부하 분산과 데이터 백업을 위해 복제본을 만드는것이라고 한다. 웹 서버의 부하 분산을 위해 여러대의 서버를 두고 로드밸런서를 통해 로드밸런싱 하는 것과 비슷하다. 이제 Master/Slave의 주로 사용되는 역할에 대해 알아본다. Master 서버: 데이터 등록/수정/삭제 요청을 담당하며, 변경된 데이터를 바이너리로그(Binarylog)를 생성하여 Slave 서버로 전달한다. Slave 서버: 조회 요청을 담당하며, Master 서..
-
[MySQL] 우분투에서 MySQL8 설치 후 포트 개방 및 사용자 생성Database/MY-SQL 2023. 1. 17. 13:43
우분투 apt-get 업데이트 sudo apt-get update mysql-server 설치 (최신버전) sudo apt-get install mysql-server mysql 설치 정보 확인 (버전 등) sudo mysql -v mysql 실행 sudo systemctl start mysql mysql 상태 확인 sudo systemctl status mysql 우분투 재시작 시 mysql 자동 시작 sudo systemctl enable mysql 외부 3306 포트 개방 1). MySQL cnf 파일에 로컬호스트만 접속 허용 되어있는 걸 해제 sudo vim /etc/mysql/my.cnf sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 파일의 bind-address..
-
[AWS] 프리 티어 사용량 확인 및 알림 설정하기AWS 2023. 1. 16. 18:21
AWS 프리티어 계정을 만들면 12개월 동안 기준 사용량 안에서 무료로 이용 가능하다는 글만 보고 무작정 사용하다가 과금이 발생했다는 글이나 사례를 심심치 않게 찾아볼 수 있는데, 이 장에서는 그 사용량을 직접 눈으로 확인하고 알림 설정까지 해본다. → AWS 콘솔 우선, 제일 먼저 AWS 콘솔 홈페이지를 들어가서 로그인한다. 로그인하면 상단 검색 영역에 bill이라고 작성하면 Billing 서비스가 나오는데 클릭한다. → Billing 페이지 전체적인 요약내용을 내용처럼 활성 서비스나 비용 별 데이터 등을 보여준다. → 청구서 페이지 월 단위로 서비스 사용에 대해 세부 요금이 표시된다. → Free tier 페이지 확인하고 싶어 했던 프리티어 사용량에 대해서 확인할 수 있다. 현재 사용하고 있는 서비스..
-
[MySQL] 데이터베이스 엔진 InnoDB, MyISAMDatabase/MY-SQL 2023. 1. 15. 18:39
MySQL을 사용해왔지만 데이터의 입출력을 위해 기본 작업만 진행했었지 내부적인 구조에 대해서는 생각해 본적이 없어서 이번에 대표적인 스토리지 엔진인 InnoDb와 MyISAM에 대해 알아보려고 한다. 물론 그 외에 다른 스토리지 엔진들(Memory, Archive, CSV, Federated 등)도 있다. 스토리지 엔진 - 서버 엔진이 필요한 데이터를 물리적 장치에서 가지고 오는 역할을 수행한다. - 성능 향상을 위해 키 캐시(MyISAM), 버퍼 풀(InnoDB) 등의 기능을 내장한다. - 스토리지 엔진은 여러 개를 동시에 사용할 수 있다. 즉, 테이블 마다 다른 스토리지 엔진 사용이 가능하다. - 특정 테이블이 어떤 스토리지 엔진을 사용하는지 확인하려면 SHOW TABLE STATUS 명령을 이용한..
-
[Spring] 스프링 IOC 컨테이너와 BeanSpring Boot 2023. 1. 15. 00:50
🌈 Spring IOC, Container, DI, Bean? 스프링을 사용하다 보면 꾸준히 들어오던 용어들이다. 이 장에서는 그 개념에 대해서 알아보고 정리해 본다. IOC (Inversion of Control) 제어의 역전이라 부른다. 아래에서 컨테이너와 함께 설명한다. Container (컨테이너) 컨테이너는 보통 객체의 생명주기, 생성된 인스턴스들에게 추가적인 기능을 제공한다. 스프링 컨테이너는 의존성도 관리한다. Spring IOC Container - 스프링 IOC 컨테이너 스프링은 스프링 IOC 컨테이너에서 객체를 관리하는데, 이때 스프링이 제어 권한을 가져 객체 생성, 관계, 의존성, 생명주기 관리 하는데 이때 생성된 객체를 Bean이라고 한다. 이 Bean들은 싱글톤으로 관리된다. 즉,..
-
[Java] Collection Framework (컬렉션 프레임워크)란?Java 2023. 1. 14. 19:50
🌈 Collection Framework란 컬렉션은 여러 요소를 하나의 그룹으로 묶어 효율적으로 저장하고, 관리할 수 있는 기능을 제공하는 클래스의 집합이다. 예를 들면 배열은 크기가 고정되어 있지만, 컬렉션 프레임워크는 가변적인 크기를 갖는 특징이 있다. 또한 데이터 삽입, 탐색, 정렬 등의 API 를 제공한다. 이러한 컬렉션 프레임워크는 자바의 인터페이스(interface)를 사용하여 구현된다. 🌈 Collection Framework의 종류 🌈 Collection 인터페이스 ✔ 리스트 (List) 인덱스 순서로 요소를 저장한다. 중복된 데이터를 저장할 수 있다. 아래는 List를 상속 받아 구현한 대표 클래스 및 시간 복잡도 (Time complexity)이다. add() remove() get()..
-
[AWS] EC2 Linux 메모리, 디스크 사용량 확인AWS 2022. 12. 24. 21:40
메모리 사용량 확인 free -h total 설치된 총 메모리 크기 / 설정된 스왑 총 크기 used total에서 free, buff/cache를 뺀 사용중인 메모리 / 사용중인 스왑 크기 free total에서 used와 buff/cahce를 뺀 실제 사용 가능한 여유 있는 메모리량 / 사용되지 않은 스왑 크기 shared tmpfs(메모리 파일 시스템), ramfs 등으로 사용되는 메모리, 여러 프로세스에서 사용할 수 있는 공유 메모리 buffers 커널 버퍼로 사용중인 메모리 cache 페이지 캐시와 slab으로 사용중인 메모리 buff/cache 버퍼와 캐시를 더한 사용중인 메모리 available swapping 없이 새로운 프로세스에서 할당 가능한 메모리의 예상 크기 SWAP 메모리 스왑은 ..