Firestore, 채팅 앱을 개발할 때 모범 사례가 있는지 묻고 싶습니다. 채팅방에 메시지를 저장하는 가장 좋은 방법은 무엇입니까?firestore : 배열과 문서 모음의 성능 비교
모든 대화방에는 고유 한 문서가 있다는 가정이 있습니다.
사용자가 보낸 메시지를 저장하기 위해 배열을 사용하기 시작했습니다. 이 방법의 문제점은 새 메시지가 채팅방에 제출 될 때마다 새 항목을 추가 (추가) 할 수있는 방법이 없다는 것입니다. 하나는 새 메시지를 추가하여 배열의 새 복사본을 저장해야합니다. 채팅 내역이 서브 어레이 등으로 나뉘어져 있지 않은 한, 이것은 실제로 나쁠 것입니다.
공식 문서에서는 특정 chatroom의 메시지를 별도의 문서로 저장해야하는 구조를 제안합니다 그 chatroom의 소장품에서. 이 방법이 최선인지, 어떤 단점이 있을지, 아니면 다른 방법으로이 작업을 수행 할 수 있을지 궁금합니다.
채팅방의 모든 메시지를 단일 문서에 저장하면 허용 된 크기 인 1MB보다 큰 문서로 빠르게 이동합니다. 배열을 사용하는 것은 [이 블로그 게시물] (https://firebase.googleblog.com/2014/04/best-practices-arrays-in-firebase.html)에서 설명한 것처럼 다중 사용자 환경에서는 좋지 않습니다. 각 채팅 메시지에 대해 별도의 문서를 사용하는 것이 가장 단순 해 보입니다. 문서가 그 방향으로 나아가는 것을 감안할 때 왜 다른 접근법이 더 좋다고 생각합니까? –
아니, 네가 맞아, 난 그냥 nosql 데이터베이스와 아무 경험이 없어 그리고 나는 많은 것들을 조금 conter 직관적 인 MySQL의 배경에서 오는 것을 찾는다. –