긍정적인 사고와 행동으로 선한 영향력을 줄 수 있도록

분류 전체보기 179

[Database] ssh 통신이란?

SSH 란? 시큐어 셀(Secure SHell, SSH)은 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해주는 응용 프로그램 또는 그 프로토콜을 가리킨다. 즉, 네트워크 프로토콜 중 하나로 컴퓨터와 컴퓨터가 인터넷과 같은 Public Network를 통해서 서로 통신을 할 때 보안적으로 안전하게 통신을 하기 위해 사용하는 프로토콜이다. 대표적인 사용 데이터 전송 원격 제어 원격 제어의 예 AWS와 같은 클라우드 서비스는 인스턴스 서버에 접속하여 해당 머신에 명령을 내리기 위해서 SSH을 통한 접속을 해야한다. 사용 이유 보안때문에 FTP나 Telnet과 같은 다른 컴퓨터 통신을 사용하지 않는다. SSH는 보안적으로 훨씬 안전한 채널을 ..

Database 2023.03.22

[PostgreSQL] tablespace 란? 생성법과 개념 정리

tablespace 란 데이터베이스 객체가 파일 시스템상에서 저장되는 물리적인 공간을 의미한다. 논리적인 데이터베이스 구조나 스키마를 지정하지 않는다. PostgreSQL에서 DB는 PGDATA라는 환경변수에 지정된 디렉터리를 통째로 DB로 사용한다. 그리고 그 하위에 테이블이 파일로 생성된다. 즉 테이블스페이스를 따로 생성하지 않아도 DB에 사용자 테이블을 만들 수 있다. 기본적으로 DB로 지정된 디렉토리 전체가 하나의 기본 테이블스페이스로 인식되는 것이다. PostgreSQL 공식문서는 아래와 같이 정의하고 있다. - postgresql에서 기본으로 테이블스페이스가 생성되는 여부 * 기본적으로 pg_default, pg_global 이 생성됩니다. List of tablespaces Name | Ow..

PostgreSQL 2023.03.21

[Database] 버퍼와 캐시의 특징과 차이

Buffer VS Cache Cache 캐시(Cache)란 처리속도 향상을 위해, 자주 사용하는 데이터나 값들을 캐시 메모리에 임시 저장 [ 데이터를 미리 읽어옴 ] CPU는 항상 캐시 메모리를 먼저 탐색한다. Buffer 버퍼(Buffer)란 데이터를 한 곳에서 다른 곳으로 전송하는 동안 일시적으로 데이터를 보관하는 메모리 영역 주로 입/출력 프로세스 에 사용됩니다 Dirty Buffer : 버퍼 캐시로부터 변경되었지만 아직 디스크에 기록되지 않아 동기화가 필요한 버퍼 블록 예를 들면, 메모리의 속도가 100이고, 하드디스크의 속도를 1이라고 가정 한다고 했을 때, 이 때 갑자기 어떤 데이터(용량이 50)를 메모리가 하드디스크에서 읽어 오려고 할 경우 속도가 1인 하드디스크가 50인 용량을 읽기 위해서..

Database 2023.03.20

[Postgresql] general_series 함수를 이용한 더미데이터 생성

Postgres 데이터베이스에 테스트용 Dummy 데이터를 삽입해야 하는 경우가 종종 발생한다. 그때 유용하게 사용될 수 있는 기능이 " generate_series " 이다. CREATE TABLE t AS SELECT gs as idx, '테스트 문자열' || gs AS test_string, md5(random()::text) AS random_string FROM generate_series(1, 1000000) AS gs; idx | test_string | random_string -----+-----------------+---------------------------------- 1 | 테스트 문자열1 | dd338ba654774bb643ada0c58c0d1141 2 | 테스트 문자열2 ..

PostgreSQL 2023.03.20

[PostgreSQL] pgbench 를 통한 파라미터 튜닝 성능 개선 방법

pgbench 란 PostgreSQL이 기본적으로 제공하는 Benchmark Tool, 일정 패턴의 SQL 구문들을 반복 수행하여 이를 통해 얻어지는 초 당 Transaction 횟수로 성능을 평가합니다. 스크립트 파일 수정을 통해 트랜잭션의 커스터마이징이 가능합니다. 테스트 환경 OS : CentOS Linux 7.9 Memory : 2.4G CPU : 2 Core PostgreSQL Versioin : 14.5 postgres.conf : 기본값 ① test 할 임시 데이터베이스 생성 postgres =# create database [DB Name]; CREATE DATABASE ② 생성한 데이터베이스의 table 및 row 수 설정 후 생성 [postgres@localhost bin]$ pgben..

PostgreSQL 2023.03.15

[Linux] 소스 패키지 설치 configure - make - make install

일반적으로 소스 패키지 설치는 configure -> make -> make install 의 3단계로 이루어짐 [ configure ] 내게 필요한 도구가 다 있는지, 라이브러리는 다 있는지 같은 것들을 체크해주고 빌드 환경을 만들어주는 스크립트임 [ make ] make는 미리 정해진 스크립트를 따라 (소스 코드를 컴파일)해주는 도구다. configure를 마쳤다면 make를 쳐서 컴파일한다. make가 실패하는 경우는 보통 컴파일 에러 이때는 컴파일 에러를 해결한 후 처음부터 다시 컴파일하는 것을 추천함 (make clean) 하면 컴파일이 취소되고, make를 치면 다시 컴파일할 수 있음 [ make install ] 컴파일이 완료된 뒤 make install 을 치면 설치가 완료됨

Database 2023.03.13

[PostgreSQL] kill -9 session(PID) 세션 죽이기

세션은 크게 두종류가 있다 Activity ( 접속중인=살아있는 ) idle ( 유휴=대기 상태 ) 현재 서버에 붙어있는 세션들을 조회 할 수 있는 방법은 여러가지가 있다. \d pg_stat_activity; select * from pg_stat_activity; ps -ef | grep postgres kill -9 세션 [PID] 하면 모든 세션이 다 종료가 된다. Why?? postgresql 은 OS에 종속적인 DBMS 이므로, OS 상이 아닌 db command 에서 날려야 된다. 따라서 db command 상에서의 세션을 죽여주자 select pg_terminate_backend(PID) 현재 세션을 강제 종료 select pg_cancel_backend(PID) 현재 실행 중인 쿼리 중단

PostgreSQL 2023.03.09

[2023년 02월 06일] 구글의 힘

정말 오랜만에 일기장을 끄적이네요 .. ㅠㅠ 사실 그동안 네이버 블로그를 통해서 글을 작성하고 업로드 하였습니다만.. 조회수라던지 반응이 잘 안나오더라구요 ㅠㅠ 곰곰히 생각해보니 저나 제 주변에서 개발하는 과정에서 생기는 에러나 코테, 문법 등등 개발하면서 찾게되는 자료는 네이버 보다는 구글에 방대한 자료가 있기때문에 .. ( tistory 포함 ) 실제로 제 블로그에 와주시는 대부분의 분들은 구글을 통한 유입입니다.. 다시한 번 생각을 해보며.. 저의 일상과 글들이 궁금하시다면 꼭 방문해주세요 !! https://blog.naver.com/1234suho 김리건 : 네이버 블로그 기록되지 않은 것은 기억되지 않는다. blog.naver.com

일기장 2023.02.06