Database

NoSQL 에서 스키마? NoSQL 은 스키마라는 개념이 없다. 그래서 NoSQL 인 MongoDB 에서 스키마를 설계한다는 말이 이해가 안 될 수 있다. 우선 RDBMS 와 같은 스키마 개념은 없다고 보는게 맞다. 엄밀이 비유하면 Table 은 Collection , Row 는 Document 로 표현은 가능하지만 그렇다고 스키마를 설계하지는 않는다. 그렇다면 여기에서 말하는 스키마란 무엇일까? MongoDB 스키마 디자인 MongoDB 스키마 디자인은 RDBMS 의 디자인과 많이 다르게 작동한다. 먼저 규칙, 정규화에 대한 개념이 없고 Document 에 Key-Value 구조로 저장된다. 아래 데이터의 경우 RDBMS 라면 정규화를 거쳐 배열데이터를 별도의 테이블/로우로 분리 할 수도 있지만 Mon..
몽고DB 데이터는 유실된다? 얼마전 한 유튜브 강의에서 몽고DB 는 데이터가 유실될 수 있다는(왜?는 말씀하지 않으심) 이야기를 듣고 조금 의아하여 구글링을 조금 해보았다. 그랬더니 많은 블로그에서 데이터 유실이 있다는 부분을 작성하였는데 언제, 얼마나, 왜 발생하는지에 대한 내용은 작성되어 있지 않았다. DB관리자로써 나는 이걸알고 싶은데.. 그래서 한국문서를 넘어 해외문서를 뒤적거리고나서 어느정도 원하는 답을 알게 되었다. 그러나 찾아본 자료가 이분들이 말하는 유실과 같은의미를 담고있는지는 잘 모르겠다. MongoDB 꼬꼬마로써 발견하지 못한 자료가 더 있을지는 모르겠다. 다른점으로도 Memory Map 을 사용하고 주기적으로 flush 하는 동작이기 때문에 이 사이에 발생하는 장애로 인한 유실도 배..
파일별 용도는 다시정리해서 MongoDB 데이터폴더 구조 MongoDB 로그폴더 구조 MongoDB 속성폴더 구조
mongosh 몽고DB 에 접속하는 툴 mongosh 시 SSL 에러 OpenSSL configuration error: digital envelope routines: ... 에러가 발생 openssl3 의 mongosh 로 재설치 sudo yum install mongodb-mongosh-shared-openssl3 mongosh 로 접속 접속 성공
MongoDB 지원 OS MongoDB 는 총 4개의 운영체제를 지원 - Windwos / Linux / Unix Solaries / Mac MongoDB 를 사용하는 대부분의 유저는 90% 가 리눅스 사용 - 빅데이터 처리를 위해서는 많은 수의 머신이 필수적으로 필요 - 운영체제에 대한 비용이 상대적으로 적은 리눅스를 사용 MongoDB 는 메모리 관리를 운영체제에 맡김 - 상대적으로 메모리 관리에 뛰어난 unix 베이스의 운영체제를 선택 MongoDB 지원 언어 지원하는 언어 - Java / Java Script - Perl / PHP / Python - Ruby / Scala / Erlang / Haskell MongoDB 설치방법 AWS Linux 2023 에 설치합니다. https://www.m..
MongoDB 소개 Key Value 와 다르게 여러 용도로 사용이 가능 스키마가 고정되지 않음 - 스키마 변경으로 이슈가 없음 - 데이터를 구조화해서 json 형태로 저장 ( key - value 화 ) 조인이 불가능하기 때문에 조인이 필요없도록 설계 필요 MongoDB 특징 메모리맵 형태의 파일엔진 DB 이기 때문에 메모리에 의존적임 - 메모리 크기가 성능을 좌우 - 메모리를 넘어서는 경우 성능이 급격히 저하됨 쌓기만 하고 삭제가 업는 로직에 적합 - 로그 데이터 - 이벤트 참여 내역 - 세션 왜? 트랜잭션이 필요한 금융, 결제, 빌링, 회원정보등에는 부적합 RDBMS 가 적합 도큐먼트 데이터 모델을 사용 - 속성의 이름과 값으로 이루어진 쌍의 집합 - 속성은 문자열이나 숫자, 날짜 가능 - 배열 또..
PostgreSQL 에 접속할 때 아래의 오류가 발생했다. psql: SCRAM authentication requires libpq version 10 or above 이러한 오류는 psql 버전이 10 미만이기 때문이다. PostgreSQL 13 버전인가 부터는 클라이언트가 10 버전 이상이어야 한다. # psql --version psql (PostgreSQL) 9.2.24 다른 많은 블로그에서 우분투 환경으로 yum 이나 apt 로 패키지를 다운받아서 하는 방법을 가이드 하고 있지만, 나의 환경은 Amazon Linux 이기 때문에 이 명령어로 설치가 가능하다. # amazon-linux-extras install postgresql10 psql 클라이언트 버전이 변경되고 postgres 에도 접..
PostgreSQL 에서 접속을 관리하는 방법 PostgreSQL 은 postgresql.conf 파일과 pg_hba.conf 파일을 통해 특정 서버에서 특정 사용자에만 접속이 가능하도록 제한할 수 있습니다. 이 오류는 pg_hba.conf 파일에 인증이 적용되어 있지 않기 때문입니다. FATAL: no pg_hba.conf entry for host "192.168.56.103", user "postgres", database "postgres", SSL off error 치명적오류: 호스트 "192.168.56.103", 사용자 "postgres", 데이터베이스 "postgres", SSL 중지 연결에 대한 설정이 pg_hba.conf 파일에 없습니다. 위와같은 오류가 발생하는 원인 pg_hba.co..
PostgreSQL 에서 접속을 관리하는 방법 PostgreSQL 은 postgresql.conf 파일과 pg_hba.conf 파일을 통해 특정 서버에서 특정 사용자에만 접속이 가능하도록 제한할 수 있습니다. 이 오류는 대부분 외부서버에서 PostgreSQL 서버로 접속하려는 경우에 발생합니다. Connection to 192.168.56.101:5432 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections. 위와같은 오류가 발생하는 원인 postgresql.conf 파일의 LISTEN_ADDRESSES 파라미터 postgresql.conf 파일의 'CONNECT..
PostgreSQL 의 프로세스 PostgreSQL 은 postmaster 의 메인프로세스와 postmaster 에서 fork 된 프로세스들로 구성됩니다. fork 된 프로세스는 PostgreSQL 을 위해 각자의 역할을 수행합니다. 1 2 3 4 5 6 7 8 9 postgres@VirtualBox:~$ ps -ef | grep postgres postgres 937 1 0 23:03 ? 00:00:00 /usr/lib/postgresql/10/bin/postgres -D /var/lib/postgresql/10/main -c config_file=/etc/postgresql/10/main/postgresql.conf postgres 1384 937 0 23:04 ? 00:00:00 postgres: ..
꽁담
'Database' 카테고리의 글 목록 (5 Page)