PostgreSQL 배우기 : 다른 무료 데이터베이스 시작하기

폭로: 귀하의 지원은 사이트 운영에 도움이됩니다! 이 페이지에서 권장하는 일부 서비스에 대한 추천 수수료가 발생합니다.


PostgreSQL (Postgres라고도 함)은 오픈 소스 객체 관계형 데이터베이스 관리 시스템 (ORDBMS)입니다. PostgreSQL 개발 커뮤니티의 목적은 “세계에서 가장 진보 된 오픈 소스 데이터베이스”로 만드는 것입니다. 대부분의 SQL 표준을 구현할뿐 아니라 다른 관계형 데이터베이스 시스템에는없는 여러 가지 고급 기능을 추가합니다..

PostgreSQL의 연혁

1973 년에 UC Berkeley, Eugene Wong 및 Michael Stonebraker의 컴퓨터 과학자 2 명은 Ingres (INteractive GRaphics REtreival System)라는 데이터베이스 시스템을 연구하기 시작했습니다. 이 작업은 원래 대학의 경제학자가 사용하기위한 것이었지만 Stonebraker와 Wong은 IBM의 System R과 새로운 구조적 쿼리 언어의 개념에서 영감을 얻은 관계형 데이터베이스 시스템에서 작업하도록 프로젝트를 확장했습니다..

1982 년 Stonebraker는 Berkeley를 떠나 독점 관계형 데이터베이스 시스템을 개발했으며 POSTGRES (Post-RES)라고 불렀습니다. POSTGRES는 Ingres의 많은 아이디어를 사용했지만 코드베이스의 포크가 아니 었습니다. Stonebraker는 데이터베이스에 데이터 유형 및 관계에 대한 명시적인 지원을 추가하고자했습니다..

새 시스템의 첫 번째 프로토 타입은 1988 년에 시연되었고 버전 1 릴리스는 1989 년에 나왔습니다. 버전 2는 내년에, 그리고 내년에는 버전 3이 있으며, 매번 쿼리 규칙을 다시 작성했습니다. 1993 년까지 POSTGRES 팀이 지원 요청을 처리 할 수없는 사용자가 너무 많았습니다. 1994 년 팀은 버전 4를 발표하고 프로젝트를 종료했습니다. 그들은 모든 작업을 공개 (MIT 스타일) 라이센스로 공개하여 다른 개발자가 프로젝트를 인수 할 수있게했습니다..

같은 해에 UC Berkeley의 두 학생이 POSTGRES의 쿼리 언어를 SQL로 바꾸고 웹에서 새 버전 (Postgres95)을 발표했습니다. 1996 년 Hub.org의 Marc Fournier는 개발 서버를 제공했으며 Postgres는 오픈 소스 개발 프로젝트가되었습니다. PostgreSQL (post-gres-cue-ell)로 이름이 변경되었습니다. 그 이후로 PostgreSQL 글로벌 개발 그룹 (Global Development Group)으로 알려진 대규모 자원 봉사자 및 개발자 커뮤니티가 개발을 계속했습니다..

PostgreSQL 정보

PostgreSQL은 관계형 데이터베이스 시스템이 기대하는 모든 작업을 수행합니다. 데이터는 사용자 작성 테이블에 저장되며 각 항목은 특정 테이블의 행입니다. 테이블의 열은 다양한 속성에 해당합니다. 복잡한 데이터 구조를 만들기 위해 테이블을 서로 관련시킬 수 있습니다. 대부분의 RDBMS와 마찬가지로 Postgres는 쿼리에 SQL을 사용합니다. PostgreSQL을 흥미롭게 만드는 것은 제공하는 추가 기능의 수입니다..

관계형 개체

PostgreSQL은 단순한 관계형 데이터베이스가 아니라 객체 관계형 데이터베이스입니다. 이는 상속 및 다형성과 같은 객체 지향 프로그래밍 원칙을 지원한다는 의미입니다. 이러한 기능은 관계형 데이터 구조를 객체에 매핑 할 때 자주 발생하는 몇 가지 문제를 해결하려는 시도입니다..

데이터 타입

PostgreSQL은 확장 된 데이터 유형 세트를 제공합니다. 모든 RDBMS는 여러 종류의 숫자, 부동 소수점, 문자열, 부울 및 날짜 유형을 지원합니다. PostgreSQL은 또한 다음을 제공합니다.

  • 분산 데이터베이스 시스템에 필수적인 uuid, Universally Unique ID;
  • 부동 소수점 숫자에서 발견 된 반올림 및 계산 오류를 제거하는 고정 소수점 형 통화;
  • 정적 옵션 세트가 열거되었습니다.
  • 기하학적 유형 : 점, 상자, 선분, 선, 경로, 다각형 및 원;
  • 이진, SQL의 블롭 객체와 유사;
  • 여러 프로토콜에 따른 네트워크 주소;
  • 비트 마스크, 비트 마스크로 사용될 수있는 고정 길이 이진 문자열;
  • 전체 텍스트 검색 기능에 유용한 텍스트 벡터;
  • XML, JSON 및 배열과 같은 데이터 표현 유형;
  • 다른 여러 유형을 그룹화하는 복합 유형;
  • 숫자 범위, 날짜 범위 및 시간 범위를 포함한 범위 유형;
  • 사용자 정의 유형.

데이터 크기 및 무결성

PostgreSQL은 대량의 데이터를 처리 할 수 ​​있습니다. 데이터 자체는 매우 클 수 있습니다. 행 크기 제한은 1.6TB이며 단일 필드는 1GB의 데이터를 보유 할 수 있습니다.

이 시스템은 ACID (원 자성, 일관성, 격리 및 내구성)를 준수하며 매우 강력한 트랜잭션 및 참조 무결성을 제공합니다..

가상 테이블

데이터베이스 테이블 세트에 대해 SQL 쿼리를 실행하면 결과가 다른 테이블이됩니다. 가상 테이블은 결과 테이블을 생성 한 후 추가 쿼리를 실행할 수있는 데이터베이스 기능입니다. 이를 통해보다 복잡한 쿼리 및 읽기 성능 향상 기회.

PostgreSQL은 여러 가상 테이블 기능을 지원합니다. PostgreSQL에 고유 한 두 가지는 재귀 및 구체화 된 뷰입니다. 재귀를 사용하면 이미 생성 한 결과 집합에서 동일한 쿼리를 실행할 수 있습니다. 가능한 모든 집계 결과가 발견 될 때까지 여러 번 수행 할 수 있습니다. 재귀는 계층 적으로 구조화 된 데이터에 유용합니다. 구체화 된 뷰는 영구 (저장된) 가상 테이블을 작성하며 필요할 때마다 (하루에 한 번, 쓰기시) 업데이트 할 수 있습니다. 복잡한 조인으로 자주 실행되는 쿼리의 경우 성능이 크게 향상 될 수 있습니다.

PostgreSQL 리소스

PostgreSQL은 “세계에서 가장 진보 된 오픈 소스 데이터베이스”라고 자부합니다. 이는 PostgreSQL과 관련하여 많은 것을 배울 수 있음을 의미합니다. Postgres 초보자에서 전문가로 전환하기위한 최고의 리소스는 다음과 같습니다..

온라인

첫 번째 장소는 공식 PostgreSQL 웹 사이트입니다.

튜토리얼

  • postgresql.org의 공식 튜토리얼, 아마도 가장 먼저 읽어야 할 것;
  • PostgreSQL Tutorial, Postgres 튜토리얼 전용 웹 사이트;
  • PostgreSQL 사용의 특정 측면에 대한 많은 자습서가 포함 된 다른 단일 용도 웹 사이트 인 Postgres Guide.
  • PostgreSQL Tutrorial은 Tutorials Point의 매우 간단하고 간단한 소개입니다.
  • PostgreSQL Tutorial w3resource의 또 다른 기본 소개;
  • Linux 관련 자습서 인 PostgreSQL 데이터베이스 및 Linux (특히 Linux 호스팅을 사용하므로 웹 배포를 수행하는 경우 특히 유용합니다).

비디오 자습서

  • Udemy의 유료 비디오 기반 자습서 인 PostgreSQL 초보자 안내서;
  • 초보자 PostgreSQL 데이터베이스 자습서 1 – PostgreSQL 설치 및 설정;
  • SQL 튜토리얼 1 : PostgreSQL 설치 및 설정;
  • 패션은 어렵다; PostgreSQL은 쉽습니다.
  • 포스트그레스.

참고

  • PostgreSQL 문서,이 문서를 잘 알아야합니다. 용지를 선호하는 경우 6 권 인쇄본 (1 권 링크)이 있습니다.
  • 공식 문서에 포함되지 않은 모든 문서를위한 커뮤니티 중심 소스 인 PostgreSQL Wiki – 유용한 정보의 소중한 소스
  • SQL에 대한 빠른 알림이 필요한 경우 PostgreSQL 치트 시트;
  • PostgreSQL의 psql 명령에 대한 빠른 알림이 필요한 경우를위한 PostgreSQL 명령 줄 치트 시트.

도구

  • Postgres를위한 수백 가지 도구의 분류 된 목록 인 PostgreSQL 소프트웨어 카탈로그;
  • PostgreSQL을위한 PostGIS, 공간 및 지리 객체;
  • pgAdmin, 데이터베이스 관리에 거의 없어서는 안될 데스크탑 GUI 도구;
  • 여러 웹 호스팅 회사에서 제공하는 PostgreSQL 용 웹 GUI 인 phpPgAdmin;
  • 실제로 PostgreSQL을위한 많은 GUI 관리 도구가 있습니다.
  • postgresql-orm 패키지;

드라이버 및 라이브러리

  • Python의 경우 Psycopg 및 PyGreSQL, Django의 경우 django.contrib.postgres;
  • 루비를위한 Pg 보석;
  • PHP 용 PostgreSQL 확장;
  • Node.js를위한 Node-postgres;
  • Java 용 JDBC.

커뮤니티 및 지속적인 학습

  • Postgres Weekly는 중요한 PostreSQL 뉴스를 정기적으로 모은 것입니다.
  • PGCon – PostgreSQL 개발자의 공식 연례 모임 인 사용자 및 개발자를위한 PostgreSQL 컨퍼런스.
  • 중요한 PostgreSQL 블로그의 집합 인 Planet Postgres;
  • 로컬 PostgreSQL Meetup 그룹
  • 포럼 :
    • Postgres Plus 포럼;
    • dBforums : PostgreSQL.

서적

  • Juba, Vannahme 및 Volkov의 PostgreSQL 학습;
  • PostgreSQL : 시작 및 실행 : Obe와 Hsu의 고급 오픈 소스 데이터베이스에 대한 실용적 소개;
  • Jayadevan Maymala의 PostgreSQL for Data Architects;
  • PostgreSQL로 데이터베이스 시작 : Stones와 Matthew의 초보자부터 전문가까지;
  • Riggs 등의 PostgreSQL 9 Administration Cookbook;
  • Ahmed, Fayyaz 및 Shahzad의 PostgreSQL 개발자 안내서;
  • Dar 등의 PostgreSQL 서버 프로그래밍;
  • Shaun M Thomas의 PostgreSQL 9 High Availability Cookbook;
  • Hans-Jurgen Schonig의 PostgreSQL 문제 해결;
  • Hans-Jurgen Schonig의 PostgreSQL 관리 기초;
  • Korry Douglas의 PostgreSQL.

일반적인 SQL 및 관계형 데이터베이스 원칙

기본 RDBMS 원칙, 특히 데이터 모델링 (정보를 관계형 데이터로 표현하는 방법을 알아내는 기술과 과학)에 대해 잘 이해하고 있다면 PostgreSQL에서 더 많은 것을 얻을 수 있습니다..

  • Allen과 Terry의 관계형 데이터 모델링 시작;
  • Alan Beaulieu의 SQL 학습;
  • Anthony Molinaro의 SQL Cookbook;
  • SQL Antipatterns : 데이터베이스 프로그래밍의 함정 피하기, Bill Karwin.

데이터베이스 비교

PostgreSQL은 관계형 데이터베이스 관리 시스템 (RDBMS)을위한 여러 옵션 중 하나입니다. PostgreSQL의 주요 대안은 다음과 같습니다.

  • 신탁,
  • MySQL 및 드롭 인 대체 MariaDB;
  • Microsoft SQL Server;
  • SQLite.

물론, 대부분의 프로젝트에서는 실제로 이들 중 하나를 선택할 수 없습니다. 오라클은 대기업에 사용되는 비공개 소스 독점 애플리케이션입니다. 그렇지 않다면 필요하지 않습니다. MS SQL Server는 비공개 소스이므로 Windows 환경에서 구축 및 배포하는 경우에만 유리합니다. SQLite는 많은 비 전통적인 목적을위한 훌륭한 데이터베이스이지만 대부분의 데이터베이스 중심 응용 프로그램에는 적합하지 않습니다..

그렇다면 PostgreSQL과 MySQL 중에서 어떻게 선택할 수 있습니까? 도움이되는 몇 가지 자료는 다음과 같습니다.

  • MySQL과 PostgreSQL은 아마도 가장 상세하고 편향되지 않은 비교 일 것입니다.
  • SQLite vs MySQL vs PostgreSQL : 관계형 데이터베이스 관리 시스템 비교;
  • MySQL / MariaDB 대신 PostgreSQL을 선택하는 이유;
  • 시스템 속성 비교 MariaDB vs MySQL vs PostgreSQL;
  • PostgreSQL 대. MySQL.

NoSQL 데이터베이스

Postgres를 MySQL과 비교하면 비 관계형 데이터베이스 또는 “NoSQL”데이터베이스와 같이 빠르게 성장하는 데이터베이스 시스템 범주는 제외됩니다. 여기서 비교는 비교적 유사한 두 기술이 아니라 완전히 다른 데이터 처리 및 관리 방법 사이의 비교입니다..

가장 널리 사용되는 NoSQL 데이터베이스는 MongoDB입니다. 다른 상대적으로 인기있는 선택은 Cassandra, Couchbase 및 Redis입니다..

다음은 PostgreSQL과 NoSQL 대안을 결정하는 데 도움이되는 몇 가지 리소스입니다.

  • SQL 대 NoSQL KO. 포스트그레스 vs 몽고;
  • PostgreSQL과 NoSQL : 구조가 중요한 이유 (PDF);
  • 시스템 속성 비교 MongoDB와 PostgreSQL;
  • 비교할 수없는 비교 : PostgreSQL vs MySQL vs MongoDB;
  • 45 분 동안 9 개의 데이터베이스.

흥미롭게도 최근 PostgreSQL은 일부 NoSQL 기능을 추가했으며 MongoDB는 일부 분석 도구에 PostgreSQL을 사용하고 있습니다..

PostgreSQL을 배워야합니까??

“학습”PostgreSQL에는 최소한 두 가지가 있습니다. 일반적인 관계형 데이터베이스 원칙 (SQL, 데이터 모델링)과 PostgreSQL의 고유 한 접근 방식.

관계형 데이터베이스 시스템에 구축 된 기능의 대부분은 개발자의 관점에서 PostgreSQL 작업과 MySQL과 같은 다른 RDBMS 간의 차이가 거의 없습니다. 이 SQL 코어는 대부분의 웹 개발자에게 중요하며 대부분의 작업에 적합합니다..

PostgreSQL을 고유하게 만드는 구체적인 사항을 알아야합니까? 그것은 당신이 이미 가지고있는 다른 기술들과 어떤 유형의 시스템에서 일할 것인지에 달려 있습니다..

일반적으로 MySQL은 PHP 개발자가 선호합니다. WordPress, Joomla! 및 Drupal의 기본 RDBMS입니다. Microsoft 서버에서 작업하는 .NET 개발자 및 다른 사람들은 일반적으로 MS SQL Server를 선호합니다. 대기업 개발자는 Oracle을 알아야 할 가능성이 더 높습니다.

그렇다면 누가 실제로 PostgreSQL을 사용하고 있습니까? 대부분의 Ruby 및 Python 커뮤니티, 특히 Ruby on Rails 및 Django에서 선호하는 데이터베이스 인 것 같습니다. Node.js 개발자는 몽고를 자주 사용하지만 관계형 데이터 저장소를 호출 할 때는 대개 PostgreSQL입니다. 클라우드 서비스 제공 업체는 Postgres를 MySQL보다 선호하는 경향이 있으며 그 위에 WordPress 배포도 제공합니다..

ORM과 Ruby on Rails, Django 및 Laravel과 같은 프레임 워크에서 제공하는 데이터베이스 추상화 덕분에 PostgreSQL을 구체적으로 알지 않고도 상당히 많은 작업을 수행 할 수 있으므로 다른 언어에 먼저 초점을 맞추고 싶을 것입니다. 그러나 이미 몇 가지 프로그래밍 언어에 대해 잘 알고 있고 데이터베이스 기술에 대해 알고 싶다면 PostgreSQL을 시작하는 것이 좋습니다..

추가 자료 및 자료

코딩 및 개발과 관련된 더 많은 가이드, 자습서 및 인포 그래픽이 있습니다.

  • SQL 리소스 : 모든 관계형 데이터베이스 개발자에게 중요한 일반 SQL 리소스.
  • ADO.NET 소개 : .NET 프레임 워크 내에서 데이터베이스를 사용하기 위해이 시스템에 대한 모든 것을 배웁니다..
  • Ruby on Rails 소개 : 가장 인기있는 웹 개발 플랫폼 중 하나를 배우기 시작하십시오.

웹 호스팅에 대한 최고의 가이드

데이터베이스 기반 응용 프로그램을 만들려면 해당 응용 프로그램을 어딘가에 호스팅해야합니다. 웹 호스팅에 대한 Ultimate Guide를 확인하십시오. 정보에 입각 한 선택을하기 위해 알아야 할 모든 것을 설명합니다..

웹 호스팅에 대한 최고의 가이드
웹 호스팅에 대한 최고의 가이드

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map