기술
실무에서 RDB 테이블을 분리할 때 고려하는 기준에는 어떤 것들이 있나요?
안녕하세요! 백엔드 개발자를 꿈꾸고 있는 취준생입니다! 최근 진행 중인 프로젝트에서 api와 DB를 개발하던 중 궁금한 사항이 생겨 질문 올려봅니다! (기술 스택은 spring boot, mybatis, mysql 활용 중입니다.) 처음 기획 단계에서 DB를 설계할 때 이론적으로 배웠던대로 데이터 중복 저장을 최소화 하고 데이터 간의 관계를 최대한 반영하기 위해서 테이블을 무작정 잘게 나눴는데요! 설계 후 개발 과정에서 까다로운 사항들과 계속 마주치게 되더라구요..! 지금 생각나는 까다로웠던 사항들만 대략 정리해보면, - 테이블 간의 관계가 복잡해져 쿼리가 길어지고 복잡해졌고,(가독성에도 영향을 주는 듯 하더라구요!) - 특정 데이터를 조회할 때, 오직 join 조건만을 위해 여러 테이블들이 탐색되어지는 경우 발생했고, - 데이터 변경(삽입 수정 삭제) 과정이 까다로워졌고, - 테스트를 위한 더미 데이터 설정에 어려움이 있었어요..! 성능적으로 효율적인게 가장 중요하지만, 개발 과정에서의 효율성(소요 기간, 가독성, 유지보수 등) 또한 중요하다고 알고 있어서요! 그리고 join이 많이 수행되는게 데이터 수가 늘어남에 따라 오히려 성능 저하로 이어지는 경우가 있을 것이라 생각되었습니다! 그래서 실무에서는 상황에 따라 테이블 분리 정도가 다를 것 같은데, 이때 어느정도까지 분리하는게 적절한지 논의하는 과정에서 주로 어떤 사항들에 대한 고민이 이루어지는지 여쭤보고 싶습니다! 구구절절한 질문 읽어주셔서 감사합니다 :)..
답변 1 • Up 1
11일 전 • 조회 61
기술
고객 데이터가 두 개인 경우 테이블을 새로 생성해야 하나요?
안녕하세요, 고객 정보를 관리하는 방법 관련해서 질문 있습니다. 저희 고객 정보에 이름, 이메일, 전화번호 등등 정보들이 있는데요, 여기서 추가 이메일 주소를 받으려고 합니다. 이 때 이메일 데이터에 두 개의 값을 넣으면 데이터베이스 정규화 위반이라 어떻게 해야 할지 고민이 되는데요. 고객 한 명당 테이블 하나를 만드는 방법이 좋을지, 아니면 전화번호만 있는 테이블을 따로 만들어서 고객 정보 테이블에 매핑하는 방법이 좋을지 고민입니다.. 이메일은 우선 두개까지만 받으려고 생각하고 있다고 합니다.
답변 2
14일 전 • 조회 166
기술
게시판 데이터베이스 설계 질문
안녕하세요! 간단하게 게시판을 만들어보려고 데이터베이스 설계 중에 궁금한 점이 생겨서 질문 남깁니다! 1. 게시판의 종류를 여러 개(ex: 공지사항, qna 등) 만들려고 하면 각각 테이블을 따로 만들어야 하나요? 2. 만약 하나의 테이블로 관리를 한다고 가정하면, 게시판의 속성이 다른 경우에는 어떻게 하나요? 질문이 너무 추상적인 것 같네요ㅠㅠ 오늘도 즐거운 하루 보내세요~
답변 2
한 달 전 • 조회 101
기술
Swift ui 데이터 관리
Swift ui로 하루에 하나씩 quote를 보여주는 앱을 만드려 하는데, 이 quote 리스트들을 어떻게 저장해두는게 좋을까요? 그냥 무식하게 파일 하나를 만들어서 리스트를 쭉 만들어 두는게 좋을까요? 아니면 csv라든지 따로 파일을 만들어두고 거기서 불러오는게 좋을까요?
답변 2
한 달 전 • 조회 54
기술
[mysql] 추가 정보를 저장하는 테이블에서도 고유한 id가 필요하나요?
<user table> id <- primary key email password <user_info table> id <- primary key user_id <- unique key name age address ... 이런 구조의 테이블을 작성하는데, user_info 테이블의 user_id값은 user 테이블의 id값을 참조합니다. 제 생각에는 user의 id값 자체가 고유한 값이기 때문에 user_info 테이블에서는 id값이 필요하지 않을 것 같다는 생각이 드는데, 보통 어떤 방법이 많이 사용되나요?
답변 2
한 달 전 • 조회 71
커리어
데이터 엔지니어 프로젝트 고민입니다..
안녕하세요. 졸업 예정자로 막학기 재학중에 있는 취업준비생입니다. 저는 당장 몇개월 전까진만해도 진로 분야를 결정하지 못한 상태였다가 데이터 관련 수업을 들으면서 데이터에 관심이 생겨 현재 데이터 엔지니어로 취업 희망에 있습니다. 데이터 엔지니어 강의를 구매해 수강하고 있지만 이력서 제출시 필요한 포트폴리오를 위해 프로젝트를 고민하고 있습니다. 구글링을 하여 몇가지를 찾아보았는데 데이터 인제니어링 프로젝트인지 확실치 않아 고민이 되고 어떻게 시작해야할지 잘 모르겠습니다.. 또한 데이터 엔지니어링을 공부하면서 공부할수록 조금 막연하다는 생각이 듭니다… 백엔드로 전환해야할까 하는 생각도 조금 듭니다.… 따끔한 조언과 충고 부탁드립니다!
답변 1 • Up 1
3달 전 • 조회 80
기술
커머스 도메인에서는 주문에 대한 동시성을 어떻게 처리하나요?
커머스 도메인에 대해 이해가 부족해 질문 남깁니다! 예를 들어 특정 상품에 재고가 있고, 그 제품에 대한 주문 건이 동시에 수천 건이 동시에 들어왔을 때, 어떻게 처리되나요? 분산 처리 환경이라면 건별로 db에 재고가 업데이트 되는건가요? 그러면 db성능 이슈는 어찌 해결하는지 궁금합니다. 아니면 커머스쪽에서 일반적으로 쓰이는 방법론이 있을까요? 완전 초짜라 두서없는 질문 죄송합니다! 😭
답변 1
4달 전 • 조회 187
기술
국내 스타트업에서 Firebase를 실제로 많이 쓰시나요?
테스트나 학습용으로는 많이 쓰이는 것 같은데 실제로는 어떤지 모르겠어서요. Firebase에 대해 검색해보면 최근 업데이트된 한국어 글도 많지 않은 것 같구요. 실제 서비스에 도입해도 문제 없이 잘 사용하시는지 궁금합니다.
답변 1 • Up 4
5달 전 • 조회 236
기술
이번에 db개발 빅데이터/dw개발 신입으로 입사했는데 입사 전 무엇을 공부해서 가면될까요??
정보처리기사를 취득하면서 기본적인 sql 문법구조는 알고있습니다 하지만 부족하다고 생각되어서 질문드립니다 어떤것을 배워가야하며, db쪽은 미래 전망이 어떻게 되는지 알수있을까요??
답변 0 • Up 1
5달 전 • 조회 151