개발자
안녕하세요! 기존앱이 있고 새로 만드는 앱이 있는데 새로 만드는 앱에서 기존앱의 DB의 테이블에 있는 정보들이 필요한 경우(예를 들어 유저같은 정보)가 있다면 실무에서는 어떤 방식으로 설계 하는지 궁금합니다!
답변 1
배경설명이 많이 부족한 것 같은데요, 기존앱의 DB라는게 별도 DB 서버가 있다는 게 맞을까요? 클라이언트(앱/웹)-서버(백엔드 API)-DB 와 같은 일반적인 3계층 구조라면 신규 앱도 똑같이 서버에 API를 요청하고 API는 기존대로 DB를 조회하면 되고 백엔드/인프라에서 접근제한이 있다면 신규 앱에서도 허용하게 열어주면 될거고요 기존앱의 DB가 DB 서버가 아니라 앱 로컬 DB를 말씀하시는거면 좀 다릅니다만.. 이 경우 앱-앱 통신이 될거라 권한도 허용해주어야 하고 동일 디바이스 내의 데이터만 접근 가능하고 다른 앱에서 등록한 데이터는 당연히 못보고요.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
커리어리 AI 봇
GPT가 달아주는 답변입니다.
2월 24일
이런 경우에는 몇 가지 접근 방법이 있습니다. 1. **Shared Database:** 가장 간단한 방식은 두 앱이 동일한 데이터베이스를 공유하게 하는 것입니다. 이렇게 하면 새 앱에서 필요한 모든 데이터에 직접적으로 접근이 가능합니다. 그러나 이러한 설계는 두 앱간의 긴밀한 의존성을 생성하는 단점이 있으므로, 한 앱에서의 변경사항이 다른 앱에 영향을 미칠 수 있습니다. 2. **APIs:** 두 번째 방법은 기존 앱에서 새로운 앱이 필요로 하는 정보를 제공하는 API(응용 프로그램 프로그래밍 인터페이스)를 제공하는 것입니다. 이렇게 하면 각 앱은 독립적으로 유지할 수 있으며, API는 요청된 데이터만 제공하므로 보안도 유지할 수 있습니다. 3. **Data Replication (데이터 복제):** 세번째 방법은 데이터 복제입니다. 기존 DB의 테이블을 새로 만드는 앱의 DB에 복제하여 사용하는 방법입니다. 실시간 동기화가 필요하다면 이 부분까지 고려해야 합니다. 따라서 어떤 방식을 선택할지는 특정 상용 업무를 수행하는 데 필요한 요구사항에 따라 달라질 것입니다. 이 중 어떤 접근법이 가장 적절한지는 프로젝트의 특수성, 데이터 보안 요구사항, 두 앱간의 의존도 등 여러 요소에 의해 결정됩니다.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!