MySQL, PostgreSQL, 차이점

Error Coder·2022년 12월 21일
0

MySQL

PHP 로 데이터베이스(databases)에 연결하고, 조작을 할 수 있다.

MySQL은 PHP와 함께 사용되는 가장 인기 있는 데이터베이스 시스템이다.

  • What is MySQL?
    MySQL 은 웹에서 사용되는 데이터베이스 시스템이다.
    MySQL 은 서버에서 실행되는 데이터베이스 시스템이다.
    MySQL 은 크고 작은 응용 모두에 적합하다.
    MySQL 은 매우 빠르고, 안정적이며, 사용하기 쉽다.
    MySQL 는 표준 SQL을 지원한다.
    MySQL 은 여러 플랫폼에서 컴파일 된다.
    MySQL 은 무료로 다운로드하여 사용할 수 있다.
    MySQL 은 Oracle 에서 개발되고, 배포 및 지원된다.
    MySQL 은 공동 설립자 Monty Widenius 의 딸 이름(My)을 따서 명명되었다.
    MySQL 에서 데이타는 테이블에 저장된다. 테이블은 연관있는 데이타들의 모음이며, 열(columns)과 행(rows)으로 구성된다.

데이타베이스는 정보를 카테고리를 따라 저장할 때 유용하댜. 예를 들어, 회사는 다음과 같은 테이블이 있는 데이타베이스를 가질 수 있다:

직원(Employees)
제품(Products)
고객(Customers)
주문(Orders)
PHP + MySQL
MySQL 과 결합된 PHP 는 플랫폼에 관계 없다 (즉, Windows 에서 개발하고, Unix 플랫폼에서 제공 될 수 있다.)
Queries
쿼리(query) 는 질문이나 요청이다.

우리는 특정 정보에 대하여 데이타베이스에 쿼리(query)할 수 있으며, 레코드 셋(record set)을 반환받는다.

다음의 (표준 SQL을 사용한) 쿼리(query):

SELECT LastName FROM Employees
위의 쿼리는 "Employees" 테이블에서 "LastName" 열(column)의 모든 데이타를 선택한다.

SQL 에 대한 자세한 내용은 ==> SQL tutorial.

Download MySQL Database
MySQL 데이타베이스와 PHP 서버가 없다면, MySQL 을 무료로 여기에서 다운로드 할 수 있습니다. : http://www.mysql.com
Facts About MySQL Database
MySQL 에 대하여 좋은 점 하나는, 임베디드 데이타베이스 응용을 지원하기 위해서 축소될 수 있다는 것 입니다. 아마도 이 때문에 많은 사람등은 MySQL 이 단지 중/소규모의 시스템만을 처리할 수 있다고 생각합니다.

진실은 MySQL 이 데이타와 최종 사용자가 모두 거대한 웹사이트(Friendster, Yahoo, 과 Google 같은)를 위한 사실 상의 표준(de-facto standard)의 데이타베이스 시스템이라는 것이다.

MySQL을 사용하는 회사에 대한 개요를 여기에서 살펴보시오 ==> http://www.mysql.com/customers/

출처 : http://jun.hansung.ac.kr/SWP/PHP/PHP%20MySQL%20Introduction.html

PostgreSQL

PostgreSQL은 확장 가능성 및 표준 준수를 강조하는 객체-관계형 데이터베이스 관리 시스템(ORDBMS)의 하나이다. BSD 허가권으로 배포되며 오픈소스 개발자 및 관련 회사들이 개발에 참여하고 있다. 데이터베이스 서버로서 주요 기능은 데이터를 안전하게 저장하고 다른 응용 소프트웨어로부터의 요청에 응답할 때 데이터를 반환하는 것이다. 소규모의 단일 머신 애플리케이션에서부터 수많은 동시 접속 사용자가 있는 대형의 인터넷 애플리케이션(또는 데이터 웨어하우스용)에 이르기까지 여러 부하를 관리할 수 있으며 macOS 서버의 경우 PostgreSQL은 기본 데이터베이스이다. 마이크로소프트 윈도우, 리눅스(대부분의 배포판에서 제공됨)용으로도 이용 가능하다.

  • 특장점

유연한 객체 생성
다른 관계형 데이터베이스 시스템과 달리, 연산자, 복합 자료형, 집계 함수, 자료형 변환자, 확장 기능 등 다양한 데이터베이스 객체를 사용자가 임의로 만들 수 있는 기능을 SQL 차원에서 제공한다.

이런 특징은 단순한 자료 저장소로써의 기능을 넘어 마치 하나의 새로운 프로그래밍 언어처럼 개발자의 창의성에 따라 무한한 기능을 손쉽게 구현할 수 있도록 한다.

상속
java 또는 C++ 프로그래밍 언어와 같이 테이블을 만들어 그 테이블 상속 기능을 이용해 하위 테이블을 만들 수 있다.

테이블에 저장된 자료는 상위 테이블을 조회하면, 해당 테이블의 하위 테이블에 포함된 모든 자료를 조회할 수 있으며, 하위 테이블을 만들 때, 상위 테이블의 칼럼을 그대로 상속 받으면서, 하위 테이블에만 속하는 칼럼을 추가로 만들 수 있다.

함수
때때로, '저장 프로시저'라고 불리는 SQL문으로 작성된 함수를 서버환경에서 사용할 수 있다. 비록 다른 언어와는 달리 제어문과 반복문을 사용하지는 못하지만, 다른 언어와 결합시킬 수 있다. 일부 언어에서는 심지어 트리거 내부에서 실행시킬 수 있다.

이러한 언어의 예는 다음과 같다.

PL/pgSQL (오라클의 PL/SQL과 유사하다)
스크립트 언어를 통한 지원 (예, PL/Python, PL/php, PL/Perl)
컴파일 언어를 통한 지원 (예, C/C++, PL/Java)
통계적 언어를 통한 지원 (예, PL/R)
PostgreSQL은 테이블에 대한 질의 결과를 반환하기 위한 '행 반환 함수'를 지원한다.

실행권한은 함수 작성자 및, 실행자 모두에게 있다.

데이터베이스 관리 도구

  • 서버 도구

postgres
최상위 서버 데몬

pg_ctl
서버 시작, 중지, 상태 등 서버 제어를 위한 명령어

initdb
데이터베이스 초기화 명령어

pg_resetxlog
트랜잭션 로그 초기화 명령어

  • 클라이언트 도구

psql
기초적인 관리 툴은 psql이다. psql의 특징으로는 명령어 기반 인터페이스라는 점이며 셸과 유사한 자동완성 및 스크립트를 통한 자동화 기능을 지원한다.

pgAdmin
pgAdmin은 그래픽 사용자 인터페이스를 지닌 툴로서 다수의 운영체제에서 작동하며, 배포는 아티스틱 라이선스를 따른다. PostgreSQL 6.3.2 버전부터 지원하기 시작했으며 개발초기의 이름은 pgManager였다. 현재는 pgAdmin 4이다.

phpPgAdmin
phpPgAdmin은 웹 기반의 관리 툴이다. phpMyAdmin과 인터페이스가 거의 똑같이 구성되어있으며 PHP로 작성되었다.

MySQL, PostgreSQL 차이점

  • Postgres와 MySQL의 주요 차이점

Postgres는 복잡한 쿼리와 대규모 데이터베이스를 다룰 수 있는 기능이 풍부한 데이터베이스입니다.
MySQL은 설치와 관리가 비교적 쉽고, 빠르고, 신뢰할 수 있고, 쉽게 파악할 수 있는 간단한 데이터베이스입니다.
Postgres는 테이블 상속, 함수 오버로딩 등의 기능을 갖춘 개체 관계형 데이터베이스(ORDMBS)인 반면, MySQL은 순수 관계형 데이터베이스(RDBMS)입니다.
대부분의 개발자는 MySQL의 경우 웹사이트와 온라인 트랜잭션에 적합하고 PostgreSQL은 복잡한 대규모 분석 프로세스에 적합하다고 이야기할 것입니다. 또한, PostgreSQL은 까다로운 데이터베이스 상황을 처리하는 데 도움이 되는 "많은 훌륭한 기능"(예: 확장성, 네이티브 NoSQL 기능)이 있다는 점도 언급할 것입니다. 마지막으로, MySQL은 기능이 많지 않기 때문에 "속도와 안정성"에 중점을 둘 수 있다고 말할 것입니다.

대부분이 맞는 말입니다. 새 릴리스가 출시될 때마다 MySQL과 PostgreSQL의 제품이 비슷해지고 있지만(표 참조), 두 데이터베이스 시스템은 서로 다른 특징을 갖고 있으므로 특정 사용 사례의 경우 더 나은 선택지가 존재할 수 있습니다.

profile
개발자 지망생

0개의 댓글