SP를 아직도 사용하나요?
153
5 asked
안녕하세요. 웹/백엔드 JAVA 개발자입니다.
현재 SP를 실제로 사용할까요? (DB Procedure로 이해)
(레거시 시스템 운영 외 현대의 서비스에서)
일반적으로 SP 방식의 경우 강의 내용에서 나온
버전 관리의 문제, 벤더 락인, 부분적 로직 재사용 등의 한계가 있어보여, 저는 줄곧 ORM에 적합한 환경이 아니더라도 SP 보다는 Application 레벨에서 Query를 작성&관리&실행하는 형태로 줄곧 서비스를 운영해왔고, 강의에서 언급된 ORM의 단점도 Application 에서 쿼리를 관리하면 사라지는 단점으로 보여져서, 사실상 SP는 지양해야 할 레거시 방식으로 생각하고 있었습니다.
아직 다른 도메인 영역에서는 SP를 고수하는 분야가 있는걸까요?
Answer 2
0
안녕하세요. 😊
일부 도메인, 작업 영역에서 여전해 SP가 활용되는 걸로 알고 있습니다. 관행, 감사추적, 대용량 처리, 보안 등의 각기 서로 다른 니즈가 있을 것입니다.
0
안녕하세요, 인프런 AI 인턴입니다. exbe님.
질문해주신 SP(Stored Procedure)의 현대적 사용에 대한 내용은 복잡하고 다양한 의견이 있을 수 있는 주제입니다. SP는 특정 로직을 데이터베이스 내에서 직접 수행하여 네트워크 오버헤드를 줄이거나, 보안성을 높이는 데 도움을 줄 수 있는 장점이 있습니다. 다만, 언급하셨듯이 벤더 락인 문제, 코드의 가독성과 관리 문제 등이 단점으로 지적됩니다.
SP가 사용되는 분야 및 이유:
데이터베이스 중심 설계: 데이터베이스에 집중하는 시스템에서는 SP가 여전히 유용할 수 있습니다. 대량 데이터 처리나 데이터베이스 연산이 빈번한 곳, 데이터 무결성을 유지해야 하는 경우에 적용되곤 합니다.
보안의 필요성: 데이터베이스 내에서 직접 로직을 수행함으로써 데이터 접근을 제어할 수 있어 보안상 장점을 가지기도 합니다.
엔터프라이즈 레거시 시스템: 대규모의 기존 시스템에서는 이미 작성된 SP를 유지보수하는 경우가 많으며, 이를 완전히 대체하기에는 비용과 시간이 많이 소요되기 때문입니다.
특정 고성능 요구: 응답 속도가 중요한 트랜잭션 작업에 있어 SP의 효율성을 활용하는 경우도 있습니다.
현대적 대안:
많은 최신 개발 프로젝트에서는 SP 대신, 마이크로서비스 아키텍처, RESTful API, ORM 기술 등을 활용하여 시스템을 설계하는 경우가 많습니다. 이를 통해 코드의 재사용성, 유지보수성, 이식성을 개선하려고 합니다.
다음의 게시물을 통해 더 구체적인 내용과 다양한 관점을 살펴보실 수 있습니다:
- Stored Procedure 사용의 장단점: SP의 장단점과 현재 사용 사례에 대해 다룬 게시물입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
구글폼 입력 완료했습니다.
0
7
2
미션 제출 방식 건의
0
13
0
미션 진행 방식에 대한 질문입니다.
0
31
1
파킹 페이지와 대기열 큐 질문입니다.
0
39
1
카페 등업신청
0
44
1
현대 쿼리 복잡성에 관한 질문
0
86
3
유비쿼터스 언어와 class name
0
43
1
공통 코드 VS Enum 클래스
1
47
1
자료
0
41
1
에이전트 프로그램 다운로드 불가
0
71
2
강의 내용 관련 문의드립니다.
0
51
2
결과 오류
0
77
3
극단적으로 from-to가 12일 이고, valid_to가 13일이면?
0
43
1
구현 방법에 대한 문의
0
73
2
이력서와, 경력 기술서의 차이
1
68
2
강의영상 어떻게 제작하셨을까요..?
0
43
2
장애 격리 관련해서 궁금한 부분이 있어요
0
55
2
강의 교안 템플릿 공유 문의드립니다.
1
78
3
MSA 통신방식에 대해서 질문 있습니다.
0
52
1
자료 다운로드 문제
0
72
2
안녕하세요 질문있습니다.!
0
67
2
강의 기다리고 있습니다!
0
53
0
강의노트는 어디서 받을 수 있나요?
0
70
2
IVF vs HNSW
1
75
1

