LIG
10
2021-06-04 14:03:23
2
77

관계형 데이터베이스와 파이어베이스 연결


안녕하세요.

컴퓨터공학과 재학중인 학생입니다. 현재 졸업과제를 진행 중에 아무리 찾아도 정보가 없어 여기에 질문을 올리게 되었습니다.

바로 본론으로 들어가면 현재 개발환경은 아래와 같습니다.

개발환경: Spring Boot, JPA, Oracle, Vue.js, AWS EC2/RDS, Android Studio

현재 진행중인 프로젝트는 SNS에 부가적인 서비스가 추가된 프로젝트입니다. 부가 서비스 중 하나인 채팅 등의 이유로 질문을 올리게 되었습니다. 처음 기획에선 DB를 파이어베이스를 사용하려고 했지만 지도교수님의 (강제) 지도하에 오라클을 사용하게 되었습니다. 하지만 채팅 부분에선(다른 기능에서도 필요하기 때문에 꼭 사용해야합니다...) 실시간 데이터베이스로  웹에서도 팝업 알림 등을 구현하고자  파이어베이스를 추가적으로 사용하고 싶습니다. 팀원과 머리를 맞대어 생각했을 때 두가지 방법을 생각했는데 

1. 회원가입 시 오라클과 파이어베이스 두 곳 모두 회원 정보를 넣는 방식

   이 방법으로 했을 경우 두가지의 경우가 생길 것 같은데 파이어베이스의 authentication을 이용하여 파이어베이스에도 권한(?)을 줄 것인지, 그냥 회원 정보만 담을 것인지 입니다.

  1-1. 회원 정보만 담을 경우

-> 모든 코드에서 회원 ID 값(PK)을 이용하여 구현을 하여 파이어베이스에서도 같은 ID 값을 가지고 있어야하는데 시퀀스를 이용하여 값을 넣기때문에 회원가입이 완료되고 오라클에 값이 들어가져야 ID값이 결정되는 상황입니다. 

-> 추가로 자료를 찾는 중에 파이어베이스에서는 권한을 가진 데이터만 정보를 담을 수 있다는 글을 봤습니다. 그게 정확히 어떤 권한인지 로그인을 한 userUID의 정보만 저장할 수 있는지 궁금합니다. 

 1-2. 파이어베이스의 authentication을 이용할 경우

-> 이렇게 되면 로그인이 중복으로 되어 문제가 되지 않을 지 궁금합니다.

2. 채팅 시 http세션에 등록되있는 유저정보를 채팅내용에 담아서 전송하는경우

-> 링크를 바탕으로 채팅방을 하나씩 만들어서 세션 유저정보로만 정보를 주고받으면 채팅을 종료 후 재 시작 시 원활한 채팅이 이루어질 지 궁금합니다.

이 이외의 방법으로도 조언 주셔도 괜찮고 어떠한 정보라도 괜찮습니다.

꼭 부탁드리겠습니다!!! 감사합니다 !!!



0
  • 답변 2

  • 박종복
    688
    2021-06-04 14:09:41

    파이어베이스를 사용하지 않더라도 웹소켓을 이용하면 채팅등 서버푸시기능을 구현할 수 있습니다.

    물론 파이어베이스를 이용하는것 보다 구현은 더 까다롭습니다.

    데이터베이스 2개를 동기화 하는 문제와 구현의 까다로움 사이에서 어떤게 더 낳을지 판단해보시면 될듯하네요.

  • LIG
    10
    2021-06-04 18:04:50
    처음엔 웹소켓 사용해서 채팅 등을 구현하였지만 파이어베이스를 꼭 사용해야하는 상황때문에 글을 올리게 되었습니다...
  • 로그인을 하시면 답변을 등록할 수 있습니다.