예를 들어 DB에 데이터가 카테고리별로 A가 20개 B가 50개 C가 30개라고 치자
그럼 A가 몇프로인지 계산하려면 A/(A+B+C) 이 데이터를 보여주려고 하는데 이걸 프론트 단에서 로직에 넣는거랑
DB에서 뷰 만들어서 계산해놓는거랑 뭔 차이임?
프론트에서 이런 연산들 만들면 느려지는건가?
DB에서 만들면 돈이 더 나가고?
예를 들어 DB에 데이터가 카테고리별로 A가 20개 B가 50개 C가 30개라고 치자
그럼 A가 몇프로인지 계산하려면 A/(A+B+C) 이 데이터를 보여주려고 하는데 이걸 프론트 단에서 로직에 넣는거랑
DB에서 뷰 만들어서 계산해놓는거랑 뭔 차이임?
프론트에서 이런 연산들 만들면 느려지는건가?
DB에서 만들면 돈이 더 나가고?
프론트에서 하면 a b c가 다 공개된다는 점도 있음
연산은 DB>어플단(자바,파이썬등)>스크립트 순으로 빠름. 근데 부하떄문에 보통 서비스단에 많이 로직처리함. 그리고 연산을 프론트로하면 당연히 해킹하는 새기들이 ㅈㄹㅈㄹ하기떄문에 프론트로 연산하면 안됨
서비스단이 백 말하는거임?
ㅇㅇ 자바 파이선 같은 어플단
그럼 DB에서 뷰를 만드는건 별로고 프론트에서 하는건 느리고 서버단에서 하라는거구나
근데 클라우드 쓸거 아니면 DB로 때려박아도 요금은 상관없음 B2B나 개인용은 앤간해선 안뻗으니까... 어디까지나 B2C에 이벤트 같은거 때린다고 가정할때 이야기임
클라우드 쓸거라서 그래
백이 연상을 하고 보내주는거니까 화면에 랜더링이 바로되는데 프론트는 시간이걸림
그럼 계산은 다 백으로 하는게 맞는건가? 프론트는 그냥 보여주기 전용?
근데 연산을 다 백으로 하면 서버가 복잡해져서 서버 비용 더나오는거 아님?
단순연산은 비용계산할거 아니고.. 진짜 부하나오는 연산은 DB는 비싸니까 그래서 자바단에 로직 두는거임. 통계툴 쓰기도 하고
그럼 결국 DB단은 최대한 데이터 위주로만 구성하고 연산은 서버단에서 하고 프론트는 보여주기만 해라 이거 맞음? DB에서에서 뷰 만드는건 별로임?
보통은 백엔드 서버에서 많이 함
보안적인 문제가 상관없으면 프론트에서 해도 되고....
옛날엔 싹다 서버에서처리했는데 요즘은 클라에서도 많이처리함 그래서 잘하는프론트 수요가 많음
프론트에서 했을때 장점이 뭔데?
백에서 처리해야지 연산 중에 오류가 나도 웹 사이트 자체는 온전함 프론트에서 하다가 에러 터지면 걍 사용자가 보는 웹페이지 자체가 터져버림 그래서 프론트는 백에서 오는 데이터만 받아갖고 오류일 경우 오류 페이지로 넘기기만 하면 됨
상품목록같이 그냥 퍼블릭하게 리스트 까도 되고 유저가 이것저것 소팅이나 필터하는거면 클라단 연산도 가끔 함 대부분은 비용 속도 보안 삼박자 밸런스때문에 서버에서 하고
뭔지 알겠다 ㄳㄳ
가장 중요한 이유가 빠졌네. 계산을 앱에서 하면, 계산 수식 바뀔때마다 사용자가 앱 업데이트를 해야함ㅋ 만약 사용자가 앱 업뎃 안하면 골치아프지~