8
2016-10-15 pgday 발발 발발

Pg report 20161010_02

Embed Size (px)

Citation preview

Page 1: Pg report 20161010_02

♣ 2016-10-15 pgday 발표 자료 ♣

Page 2: Pg report 20161010_02

■ 나는 왜 Postgresql 을 쓰는가 ?• Framework 이기 때문에.• 그럼 왜 Framework 인가?• 아래 기능을 보고도 Framework 가 아니라고 할 수 있나.

• #-기능-1 : 소켓 관련 작업.• #-기능-2 : HTTP 관련 작업.• #-기능-3 : 메일 발송.• #-기능-4 : 웹 크롤 작업.• #-기능-5 : DNS 작업(MX 레코드 조회 등)• #-기능-6 : 이미지 작업(이미지 회전, 축소, 확대, thumb nail 만들기 등)• #-기능-7 : 다른 DB 즉 Mysql 이나 Oracle 등과의 연동 작업.• #-기능-8 : 비동기 작업(Listen-Notify 를 이용).• #-기능-9 : 각종 그래프 작업.• #-기능-10: 각종 통계 작업. • #-기능-11: 기타 작업.

Page 3: Pg report 20161010_02

■ 저런 작업이 어찌 가능한가 ?• pl/pgsql 뿐만이 아니라 pl/python

이나 pl/perl 등의 언어를 지원하기 때문이다 .

• 그래서 python 의 방대한 라이브러리를 사용할 수 있다 .

Page 4: Pg report 20161010_02

■ 어차피 웹프로젝트에서는 CRUD 가 대부분인데 , 그런 작업들이 가능하다고 해서 딱히 웹프로젝트에서 Postgresql 을 써야할 이유는 없지 않은가 ?

• Logic 과 View 를 분리하는데 좋으니까 , 즉 모든 Logic 을 DB 에서 처리 (DB 로직 처리 ) 하는데 참 좋다 . 이 역시도 pl/python 등의 도움이다 .

Page 5: Pg report 20161010_02

■ ‘DB 로직 처리’는 어떤 형태로 나타나는가 ?• Postgresql 이 해당 웹페이지에서

필요한 모든 정보를 XML 로 표현해서 , 한 번에 전송하고 , 이를 받은 서버 언어(PHP, JSP 등 ) 에서는 관련 항목값을 View 의 적절한 부분에 뿌려주는 형태다 .

Page 6: Pg report 20161010_02

■ 그 정도는 Oracle 이나 Mssql 도 가능하지 , 유독 Postgresql 만 가능한 것이 아니다 .• 그렇기는 하지만, XML 을 다루는데, pl/python 등의

도움은 엄청나다. Oracle 등에서 외부 언어의 도움을 Postgresql 처럼 쉽게 받을 수 있는가.

• 그리고 ‘DB 로직 처리’에서 사용하는 XML 은 아래 요건을 충족해야 한다.

• 1) 모든 요소의 이름을 하나로 통일시킨다.• 2) 모든 값은 속성으로 표현한다.• 위 조건이 충족되지 않으면 개발 작업이 더딘데, 충족되게

사전 라이브러리를 개발하려면 손이 많이 간다. 확실한 것은 Oracle 등에서 이 작업이 Postgresql 만큼 편하지 않다.

Page 7: Pg report 20161010_02

■ 그렇다면 ‘ DB 로직 처리’를 해야 하는 이유가 있는가 ?• 대부분의 로직을 DB 작업자가 DB 에서

처리하기 때문에 , View 작업자의 작업 난이도가 팍 낮아진다 . 그래서 간단한 교육으로 , 웹디자이너나 웹퍼블리셔도 View 작업을 할 수 있다 . 이것이 웹프로젝트의 Risk 를 현저하게 줄일 수 있는 것이다 .

Page 8: Pg report 20161010_02

■ 최종 결론은 ?• Postgresql 은 단순히 DB 가 아니다 . DB 를 포함한 Framework 다 .

• Framework 라고 부를 수 있는 DB 가 Postgresql 말고 과연 있을까 ?