레이블이 DB인 게시물을 표시합니다. 모든 게시물 표시
레이블이 DB인 게시물을 표시합니다. 모든 게시물 표시

2017년 1월 10일 화요일

[DB] 정형 데이터, 비정현 데이터, 반정형 데이터


정형 데이터


- 관계DB 처럼 스키마 형식에 맞게 저장된 데이터

반정형 데이터


- 관계형 데이터베이스나 다른 형태의 데이터 테이블과 연결된 정형 구조의 데이터 모델을 준수하지 않는 정형 데이터의 한 형태
- 태그 등 시맨틱 구분요소가 있음

비정형 데이터


- 구조가 일정하지 않은 데이터
- 주로 관계형 모델에 잘 맞지 않는 데이터
- 규격화된 데이터 필드에 저장되지 않은 데이터

[출처]
http://zetawiki.com/wiki/%EC%A0%95%ED%98%95%EB%8D%B0%EC%9D%B4%ED%84%B0,_%EB%B0%98%EC%A0%95%ED%98%95%EB%8D%B0%EC%9D%B4%ED%84%B0,_%EB%B9%84%EC%A0%95%ED%98%95%EB%8D%B0%EC%9D%B4%ED%84%B0#cite_note-2

2016년 9월 13일 화요일

[Oracle] Database Configuration failed. Look into /u01/app/oracle/product/11.2.0/xe/config/log for details


Oracle XE 설치 진행 중 아래와 같은 에러가 발생하였다.


위 에러의 경우 hostname 때문에 발생한 문제이다.

/etc/hosts에서 자신의 hostname를 추가해야한다.

ex) 127.0.0.1      oracle


2016년 8월 16일 화요일

[PostgreSQL] psql profile 설정

업무를 진행하다 보면 복잡한 경로에 존재하는 파일이나 디렉토리에 자주 접근하는 것들이 있다.

아래와 같이 하나의 예를 들 수 있다.

PostgreSQL에 접속하기 위해서는 위와 같이 복잡한 경로에 들어가야한다. 이러한 불편함을 조금이나마 덜기 위해서 profile 설정을 한다면 간단히 해결할 수 있다.

/etc/profile를 vi 편집기를 이용하여 수정해야한다.


/etc/profile 맨 하단에 위와 같은 경로 설정을 한다.


/etc/profile 설정으로 어느 경로에서든 psql을 치면 바로 PostgreSQL로 접속이 가능하다.

2016년 8월 11일 목요일

[PostgreSQL] PostgreSQL, pgAdmin3 연동

1. pgAdmin3 설치





https://www.pgadmin.org/download/ 사이트에 접속하여 설치할 버전과 운영체제에 맞는 것을 선택한다.


원하는 버전을 선택하여 다운로드 한다.


pgAdmin 설치가 완료된 후 접속하면 위와 같은 화면을 볼 수 있다.

2. AWS Server port open



pgAdmin3aws server의 PostgreSQL를 연동하기 위해서는 PostgreSQL Portopen 되어 있어야 한다. Portopen 하기 위해 Security Group으로 들어간다.


Add Rule를 클릭하여 PostgreSQL TCP 5432 portSave 해준다.

3. pgAdmin3와 PostgreSQL 연동



/PostgreSQL/9.5/data 경로 안에  pg_hba.conf와 postgresql.conf의 파일을 변경해주어야한다.


pg_hba.conf 파일에 TYPE, DATABASE, USER, ADDRESS, METHOD를 추가한다.

MD5(Message-Digest algorithm 5): 128비트 암호화 해시 함수이다. RFC 1321로 지정되어 있으며, 주로 프로그램이나 파일이 원본 그대로인지를 확인하는 무결성 검사 등에 사용된다.


postgresql.conf 파일에서 listen_address와 port를 확인한다.
설정이 완료되면 서버를 재부팅 해준다.


PostgreSQL을 먼저 접속한다.


왼쪽 상단에서 add server를 클릭한다.


Host에 Server IP를 입력한 후 Password를 입력한다.


연결시 Server에 추가된 모습을 확인할 수 있다.

4. 연동 확인



# create database test;

명령으로 test라는 데이터베이스를 생성한다.


pgAdmin3에서 데이터베이스 test를 확인할 수 있다.


2016년 8월 4일 목요일

[PostgreSQL] PostgreSQL 설치

PostgreSQL 설치


1. PostgreSQL 파일 다운로드


www.enterprisedb.com 사이트에 들어간 후 상단의 Downloads를 들어간다.


Downloads에 들어간 후 PostgreSQL을 클릭한다.


해당되는 운영체제와 버전에 맞게 다운을 받는다.

2. PostgreSQL 설치



리눅스 서버에 PostgreSQL 파일을 옴기면 위와 같이 확인할 수 있다.

※ Run file: Runscanner Automatic Startup Information File (Runscanner) 와 주로 관련된 실행 가능한 파일(설치 파일 형태)


터미널을 열어 --mode를 이용하며, text형식으로 설치를 진행한다.

--mode는 어떤 Installation으로 설정할 것인가를 묻는 명렁어이다.
Default는 gt이며, xwindows, text, gtk로도 설치를 할 수 있다.


실행 시 권한 문제가 발생한다.


chmod 명령을 이용하여 PostgreSQL 파일의 권한을 상승시켜준다.


권한을 상승시켜주면 설치가 진행된다. 이제 엔진을 설치할 디렉토리를 설정한다.


데이터를 저장 할 디렉토리를 설정한다.


PostgreSQL 접속에 대한 Superuser의 Password를 설정한다.

※설치 실행 시에 옵션으로 설정해 주지 않으면, Superuser‘postgres’이며 PostgreSQL을 실행하는 OS 계정도 ‘postgres’로 생성된다.


PostgreSQL에 접속할 port를 설정한다.


PostgreSQL에 대한 Locale 설정을 한다.

※ [1]은 default로 해당 OS에 지정되어있는 locale 값을 가져온다.
Locale: 프로그램을 언어와 국가에 최적화 하기 위해서 사용하는 "지역/언어" 정보다.


PostgreSQL 설치 준비가 완료되었다는 정보를 확인 후 설치를 진행한다.


설치가 완료된 화면이다.

3. PostgreSQL 실행을 위한 OS 계정에 대한 설정



PostgreSQL이 설치된 디렉토리의 User 정보 확인 후 OS 명령어를 이용하여 디렉토리의 대한 User를 'postgres' 계정으로 변경해준다.

소유 권한 변경을 위해 chown을 이용한다.

chown -R [옵션] [소유자:소유그룹] [디렉토리 or 파일명]

root: 수퍼유저 계정
daemon: 루틴 시스템 작업관 연관된 그룹 (루틴은 프로그램이 실행될 때 불려지거나 반복해서 사용되도록 만들어진 일련의 코드이다.)


su를 이용하여 postgres로 접속을 한다.
PostgreSQL 설치 후 postgres 계정에 환경변수를 설정해야한다. /PostgresSQL/9.5 디렉토리에 환경변수에 관한 pg_env.sh이 있으며, 스크립트를 바로 실행한다.



환경변수 설정파일에 대하여 실행 후 postgres 계정으로 pg_ctl 명령어를 이용하여 서비스를 정지/기동 시킬 수 있다.


Postgres 프로세스 확인은 ps -ef | grep postgres 명령어로 확인할 수 있다.

4. PostgreSQL 접속



postgres에 접속한다.


/PostgreSQL/9.5/bin 디렉토리에 들어간다.


bin 디렉토리 경로에서 ./psql을 이용하여 PostgreSQL에 접속한다.

2016년 7월 7일 목요일

[PostgreSQL] PostgreSQL 소개

PostgreSQL 소개



PostgreSQL이란?



PostgreSQL은 POSTGRES, 버전 4.2를 기반으로 하는 개체 관계 데이터베이스 관리 시스템이며, UC 버클리 컴퓨터 공학부에서 개발했다. POSTGRES는 여러 가지 개념을 개척했는데, 이것은 한참 뒤에 일부 상업용 데이터 베이스 시스템에서 구현되었다.
PostgreSQL은 이 오리지널 버클리 코드에서 유래된 오픈소스다. 이것은 SQL 표준의 대부분을 지원하며 다음과 같은 최신 기능을 다수 제공한다.

  • 복합 쿼리
  • 외래키
  • 트리거
  • 업데이트 가능한 뷰
  • 트랜잭션 무결성
  • 멀티버전 동시성 제어

PostgreSQL을 사용자가 여러 가지 방법으로 확장할 수도 있다. 예를 들면, 다음을 새로 추가 할 수 있다.

  • 데이터 타입
  • 함수
  • 연산자
  • 집계 함수
  • 인덱스 메소드
  • 프로시저 언어

그리고 자유로운 라이선스 때문에 누구든 자유롭게 PostgreSQL을 사적으로, 상업적으로 또
는 교육용으로 사용, 수정 및 배포할 수 있다.

PostgreSQL 역사


<출저> http://postgresblog.co.kr/220610281187

<출처> http://postgresblog.co.kr/220610281187

PostgreSQL 특징


  1. Portable
    - PostgreSQL의 ANSI C로 개발됨
    - 지원하는 플랫폼: Windows, Linux, MAC OSX 또는 Unix Platform 등 다양
  2. Reliable
    - 트랜잭션 속성인 ACID에 구현 및 MVCC
    - 로우 레벨 라킹 등 구현
  3. Scalable
    - PostgreSQL의 멀티 버전 사용 가능
    - 대용량 데이터 처리를 위한 Table Partitioning과 Tablespace 기능 구현
  4. Secure
    - 호스트 기반 접근제어, object-level 권한
    - ssl 통신을 통한 클라이언트와 네트워크 구간의 전송 데이터 암호화
  5. Recovery & Availability
    - Streaming Replication을 기본적으로 동기식, 비동기식의 Hot Standby 서버 구축
  6. Advanced
    - PostgreSQL upgrade
    - 모니터링 및 관리, 튜닝
    - 스크립트 언어 지원(Perl, java, php)


[출처]

PostgreSQL 9.4 공식 가이트 Vol.1 서버 관리, The PostgreSQL Global Development Group 지음 (주) 비트나인 옮김
http://postgresblog.co.kr/220610281187

2016년 6월 14일 화요일

[OpenSourceDB] 오픈소스 DBMS의 종류 및 특징

1. Open Source란?

오픈소스(Open Source), 또는 공개 소프트웨어는 저작권자가 소스코드를 공개하여 누구나 특별한 제한 없이 자유롭게 사용, 복제, 배포, 수정할 수 있는 소프트웨어입니다.

장점
단점
낮은 진입비용
애플리케이션의 부족
빠르고 유연한 개발
빈약한 문서
호환성
불확실한 로드맵
신뢰성과 안전성
지적재산권


2. Open Source DB를 사용 하는 이유

오픈소스 기술이 세분화되면서 데이터베이스(DB) 업계에서도 오픈소스 모델로 개발되는 기술이 늘어나고 있다. 많은 기업들이 오픈소스 데이터베이스 관리 시스템(DBMS)을 사용하는 까닭은 명확하다. 기존 기업들이 내놓은 DBMS보다 가격이 저렴하고 개발도 훨씬 유연하게 할 수 있기 때문이다.

3. Open Source DB 종류 및 특징


RDBMS vs NoSQL

구분
RDBMS
(
관계형 데이터베이스 관리 시스템)
NoSQL
(
고성능 비관계형 데이터베이스)
장점
정규화된 데이터 모델
데이터 무결성/정합성 보장
작은 크기의 트랜잭션
Web, SNS 환경의 다양한 정보를 검색 및 저장
단점
확장성의 한계
클라우드 분산환경 부적합
데이터 무결성/정합성 보장 못함
특징
Join을 통해 정보 연계 가능
트랜잭션의 안정성 확보를 위한 ACID
(
원자성, 일관성, 고립성, 지속성)
정형적인 스키마 구조
데이터의 수정/삭제가 거의 없고 Insert위주
강한 Consistency 불필요
노드 추가/삭제, 데이터 분산에 유연

MySQL

MySQL이란?
MySQL은 제일 많이 사용되는 오픈소스 데이터베이스 입니다. 효율적인 아키텍처를 채택하여 빠른 성능과 쉬운 사용자 구성을 가능하게 해줍니다. 다양한 함수와 여러 기능면에서 상용 데이터베이스가 가지지 못한 점을 가진 것도 있습니다. 속도와 간결성, 안정성과 용이한 관리를 보장해주는 데이터베이스 관리 시스템이다.

MySQL의 특징
1. 무료 사용 2. 리눅스에서 아파치, PHP와 연동하여 사용 가능 3. 사용이 간단 4. 수행속도가 빠름 5. 소형 DB 구축 활용에 용이 6. 대용량 처리와 보안이 뛰어남

PostgreSQL

PostgreSQL이란?
PostgreSQL은 POSTGRES, 버전 4.2를 기반으로 하는 개체 관계 데이터베이스 관리 시스템이다. 오픈 소스 코드이기 때문에 확장할 때 무료로 쉽게 사용할 수 있으며, GUI 인터페이스를 통해 DB 설계 및 관리 할 수 있다. 

PostgreSQL의 특징
구분
설명
Portable(이식성)
지원하는 플랫폼: Windows, Linux, MAC OS/X 또는 Unix Platform등 다양
Reliable(신뢰성)
트랜잭션 속성인 ACID(원자성, 일관성, 고립성, 지속성)에 대한 구현 및 MVCC
Scalable(확장성)
PostgreSQL의 멀티-버전 사용 가능
Secure(보안성)
호스트 기반 접근제어, ssl 통신을 통한 클라이언트와 네트워크 구간의 전송 데이터 암호화
Advanced
PostgreSQL upgrade, 모티너링 및 관리, 튜닝까지 가능, 스크립트 언어 지원(Perl, java, php)

PostgreSQL의 단점
1. 수많은 사용자를 동시에 서버에 접속 할 때 불안하다.
2. 기술지원에 대한 안정성 확보가 부족하며, PostgreSQL 매뉴얼을 확인 해보면 대부분 에러에 대한 내용을 사용자에게 맡기고 있다.(풍부한 데이터 사전이 존재하지 않는다.) 
3. 정기적인 Vacuum 작업 을 해야 한다. 

카산드라DB

카산드라DB란?
카산드라는 구글의 BigTable 컬럼 기반의 데이터 모델과 FaceBook에서 만든 Dynamo의 분산 모델을 기반으로 제작되어 Facebook에 의해 2008년에 아파치 오픈소스로 공개된 분산 데이터 베이스 입니다. 

카산드라DB의 특징
1. 분산 대용량 저장소(NoSQL)
2. 수평적 확장이 용이한 Ring 구조의 클러스터 아키텍처
3. Write가 Read 보다 빠르고, Read도 RDB(relational database)보다 빠름.
4. 서비스 중에 노드를 추가하여 용량 확장 가능