Successfully reported this slideshow.

More Related Content

More from PgDay.Seoul

Pg report 20161010_02

  1. 1. ♣ 2016-10-15 pgday 발표 자료 ♣
  2. 2. ■ 나는 왜 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: 기타 작업.
  3. 3. ■ 저런 작업이 어찌 가능한가? • pl/pgsql 뿐만이 아니라 pl/python 이나 pl/perl 등의 언어를 지원하기 때문이다. • 그래서 python 의 방대한 라이브러리를 사용할 수 있다.
  4. 4. ■ 어차피 웹프로젝트에서는 CRUD 가 대부분인데, 그런 작업들이 가 능하다고 해서 딱히 웹프로젝트에 서 Postgresql 을 써야할 이유는 없지 않은가? • Logic 과 View 를 분리하는데 좋으니까, 즉 모든 Logic 을 DB 에서 처리(DB 로직 처리)하는데 참 좋다. 이 역시도 pl/python 등의 도움이다.
  5. 5. ■ ‘DB 로직 처리’는 어떤 형태 로 나타나는가? • Postgresql 이 해당 웹페이지에서 필요 한 모든 정보를 XML 로 표현해서, 한 번 에 전송하고, 이를 받은 서버 언어(PHP, JSP 등)에서는 관련 항목값을 View 의 적절한 부분에 뿌려주는 형태다.
  6. 6. ■ 그 정도는 Oracle 이나 Mssql 도 가능하지, 유독 Postgresql 만 가능한 것이 아니다. • 그렇기는 하지만, XML 을 다루는데, pl/python 등의 도움은 엄청나다. Oracle 등에서 외부 언어의 도움 을 Postgresql 처럼 쉽게 받을 수 있는가. • 그리고 ‘DB 로직 처리’에서 사용하는 XML 은 아래 요건을 충족해야 한다. • 1) 모든 요소의 이름을 하나로 통일시킨다. • 2) 모든 값은 속성으로 표현한다. • 위 조건이 충족되지 않으면 개발 작업이 더딘데, 충 족되게 사전 라이브러리를 개발하려면 손이 많이 간 다. 확실한 것은 Oracle 등에서 이 작업이 Postgresql 만큼 편하지 않다.
  7. 7. ■ 그렇다면 ‘DB 로직 처리’를 해야 하는 이유가 있는가? • 대부분의 로직을 DB 작업자가 DB 에서 처리하기 때문에, View 작업자의 작업 난이도가 팍 낮아진다. 그래서 간단한 교육으로, 웹디자이너나 웹퍼블리셔도 View 작업을 할 수 있다. 이것이 웹프로 젝트의 Risk 를 현저하게 줄일 수 있는 것이다.
  8. 8. ■ 최종 결론은? • Postgresql 은 단순히 DB 가 아니다. DB 를 포함한 Framework 다. • Framework 라고 부를 수 있는 DB 가 Postgresql 말고 과연 있을까?

×