pgsql-2. Data의 구조

yeeun lee·2020년 3월 20일
0

인스타그램에서 친구의 사진을 보거나, 쇼핑 사이트에서 특정 상품의 스펙과 가격을 볼 때 그 많은 정보는 다 어디서 오는 걸까? 바로 웹사이트 서버의 데이터베이스에 저장되어 있다가 클릭 시 호출하게 되는 것이다.

이처럼 데이터는 데이터베이스라는 특정한 구조를 가진 공간에 저장되어 있고, 해당 포스팅에서는 그 중에서도 postgresql 데이터베이스에 대해 정리해보고자 한다.

Port > Server > Database > Table > Column & Row

1. Port

서버를 찾아가기 위한 주소. 컴퓨터 내에는 여러 개의 서버가 존재할 수 있기 때문에, 서버를 찾기 위한 만남의 장소가 필요하다.

단어 자체의 의미를 살펴봤을 때에도 목적지server를 가기 위해 배를 타려면 항구port에 가야 한다. 이처럼 포트는 컴퓨터에서 무언가를 찾을 때 접근할 수 있도록 연결해주는 역할을 한다.

예를 들어 월드와이드웹www url 은 80번 포트를 사용하고, 웹 브라우저는 이를 생략하더라도 자동으로 http://000.000.000.000:80 라는 의미로 처리한다.

1.1 5432의 의미

Postgre 앱에서 server setting을 누르면 다음과 같이 내 데이터의 포트를 확인할 수 있다. default는 5432이고 바꿀 수도 있다. 연결이라고 표현했지만 사실 컴퓨터 입장에서는 아래 정의에서 보듯 식별자에 가까운 것 같다.

1.2 사전적 정의

위키백과의 정의는 다음과 같다.

네트워크 서비스나 특정 프로세스를 식별하는 논리 단위. 각 포트는 번호로 구별되며 이 번호를 포트 번호라고 한다. 포트 번호는 IP 주소와 함께 쓰여 해당하는 프로토콜에 의해 사용된다. logical connection place 논리적인 접속장소를 나타내는 이정표

2. Server

데이터가 저장되는 장소다. Postgre 앱에서 화면을 좌측으로 확장하고, + 버튼을 누르면 아래와 같이 새로운 서버를 생성할 수 있게 되고 포트 번호가 부여된다. 서버에 대해 정리를 하다보니 호스팅의 뜻이 궁금해서 추가해보았다.

2.1 hosting?

통상적으로 서버의 자원들에 접근할 수 있도록 하는 작업이 호스팅이며 아래에 사전적 정의를 덧붙였다.

Server hosting is an infrastructure delivery model that provides IT users with remote access to server resources (CPU, Memory, Disk, etc.) in order to power applications and store data without the hassle of buying,

(출처: https://www.inap.com/blog/what-is-server-hosting/)

3. Database

앱에서 확인할 경우 서버 내에 생성한 데이터베이스들이 아래와 같이 GUI 로 표시된다. 터미널에서 커맨드로 접속 시 \c 를 통해 원하는 데이터베이스에 접속할 수 있다.

Postgresql은 관계형 데이터베이스라고 불리는데, 서버에 서로 관련되어 있는 데이터를 저장함으로서관리를 용이하게 할 수 있다.

4. Table

하나의 database 안에는 여러 개의 table이 있으며, table은 행렬(column/row)로 구성 된다.

4.1 관계형 데이터

각각의 table이 관계성을 갖고 저장store, 조작manipulate, 검색retreive 되는 것이 관계형 데이터relatioanl databse라고 한다.

4.2 예시

예를 들어 데이터베이스1에 person과 car라는 테이블 두 개가 있다고 해보자. 만약 차를 가진 사람이 있다면, person과 car table 두 군데에 데이터를 입력할 수 있을 것이다. 이렇게 사람과 차량 정보에 대한 데이터가 연결되면, id 를 통해 두 테이블은 관계성을 갖게 된다.

5. User

현재 이 서버를 이용하고 있는 유저로, 처음 psql path 설정 시 저장된 것에 따라 아래와 같이 확인된다.

익숙하지 않은 개념이 많아 한 번에 받아들이기는 어려운 것 같다. 다만 계속 읽어보니 어느정도 익숙해지는 것 같아서 계속 들여다 봐야겠다 🤓

profile
이사간 블로그: yenilee.github.io

0개의 댓글