database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 9974 게시물 읽기
No. 9974
[질문] 서비스가 대부분 프로시저로 구현 될 경우 문제는 없는지?
작성자
나그네
작성일
2018-05-09 16:40
조회수
5,720

 안녕하세요 

새로운 사이트를 보게 됬는데 

대부분의 쿼리 로직을 어플리케이션으로 구현하지 않고, 

대부분 프로시저로만 구현을 해서 사용하고 있네요. 

거의 오라클만 써봤고, EPAS, Postgresql 은 초보라서 그러는데 

오라클의 경우 이렇게 개발하는 것은 성능 문제와 유지보수 문제로 지양하는 편입니다. 

Postgres 계열의 경우 이렇게 개발하는 게 일반적인 건지요? 

shared 메모리와 관련된 문제 등 성능 문제는 없나요? 

이 글에 대한 댓글이 총 2건 있습니다.

 저는 개발 13년차인데 db기반 으로 개발을 시작해서 인지 

ms-sql/oracle 에서 biz로직을 모두 프로시저로 했습니다.  

물론 PG에서도 프로시저(함수)기반으로 합니다.

개발언어는 c#/java 사용하구요... was는 iis/weblogic

성능 문제라고 말씀하시는데  대용량 조회 할때 was쪽에서 xml로 파싱하다가

was에서 out-of-memory리 발생해서 해당 로직을 오라클 프로시저에서 xml생성하는거로 변경했습니다.

shared메모리 문제라고 하셨는데 이건 개발자가 쿼리나 프로시저를 잘못 개발해서 그런거지 DB의 문제 일까요?

 

C#커뮤니티에서도 이 거로 몇번 얘기가 나왔는데 거기 관리자분은 (c#개발자 출신) 보통의 경우는 WAS쪽에 BIZ로직을 처리하고 속도나 성능에 문제가 있을땐 프로시저를 사용한다고 합니다.

물론 이분은 DB보다 C#을 더 잘하십니다. 본인이 잘 하는쪽에 비중을 두는게 맞겠죠?

p.s

말씀드린 c#커뮤니티는 www.csharpstudy.com 입니다.

 

"오라클의 경우 이렇게 개발하는 것은 성능 문제와 유지보수 문제로 지양하는 편입니다."

과연 오라클에서 프로시저로 개발하면 성능에 문제가 있을까요? ^^ 

 

 

지현명(gwise)님이 2018-05-11 12:23에 작성한 댓글입니다.
이 댓글은 2018-05-11 12:33에 마지막으로 수정되었습니다.

보통 오라클 개발 프로젝트의 경우 비즈니스 쿼리 로직을 전부 PL/SQL 로 개발하는 것은 피하고 있습니다. 

java 어플리케이션과 같이 쓰는 경우가 많은데 이 ibatis xml 을 사용하여 sql을 매핑하여 사용하는게 일반적입니다. 프로시저로 작성하는 부분도 분명히 있습니다. 하지만 모든 비즈니스 로직 부분을 프로시저로 작성하게 되면 차후 수정시에 연결된 모든 invalid 객체를 컴파일 해야 하는 등의 문제가 생기고, 개발자가 바뀌거나 하게 되면 유지보수 문제가 심각하게 발생합니다. 

성능 문제는 cbc 입니다. 튜닝이나 어플리케이션 로직 수정, 바인드 변수 사용 등으로 피하는 방법은 얼마든지 있죠. 하지만 일반적인 방법을 말씀드린 겁니다. 

답글에도 나와있지만, WAS 쪽에 BIZ 처리 로직을 두는게 일반적이긴 합니다. 
 

 

 

나그네님이 2018-06-03 12:28에 작성한 댓글입니다.
이 댓글은 2018-06-03 12:31에 마지막으로 수정되었습니다. Edit
[Top]
No.
제목
작성자
작성일
조회
9978오라클 처럼 java class를 DB내에 저장해 놓고 사용 할 수 있나요? [1]
pga
2018-05-15
5350
9976인덱스 함수중에 어떤함수가 적절한지.. [1]
test
2018-05-14
5614
9975쿼리 조회시 조건절 외 결과값이 같이 출력됩니다. [2]
뽀그리초보
2018-05-11
5891
9974[질문] 서비스가 대부분 프로시저로 구현 될 경우 문제는 없는지? [2]
나그네
2018-05-09
5720
9973[질문] 날짜, rank기준으로 데이터를 가로로 나타낼려고 합니다. [3]
문의드려요
2018-05-08
5390
9972게임DB에서 유저의 특정 로직마다 Table I/O 비용 계산법? [2]
youngba
2018-05-07
5536
9971Listen / Notify 구현이 eclipse에서 작동이 안 되네요.. [2]
김창권
2018-05-04
5775
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.049초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다