SQL 개발자를 위한 Firebase Realtime Database(동영상 시리즈)

기존 SQL에 더 익숙하지만, Realtime Database에 대해 더 자세히 알아보고 싶다면 Firebase YouTube 채널에서 제공하는 이 동영상 시리즈를 확인해 보시기 바랍니다.

첫 번째 동영상에서는 데이터가 기존 SQL 데이터베이스에 저장되는 방식 및 Realtime Database와 같은 NoSQL 데이터베이스에 저장되는 방식 간 주된 차이점을 다룹니다.

이 동영상에서는 SQL 데이터베이스에서 일반적으로 볼 수 있는 관계형 데이터베이스 모델을 Firebase Realtime Database에서 원활하게 작동하는 NoSQL 모델로 전환하는 프로세스를 보여줍니다.

NoSQL Database를 쿼리하는 것은 기존 SQL Database에서 사용하던 방식보다는 덜 강력합니다. 하지만 데이터의 구조를 올바르게 만들면 다양한 작업을 수행할 수 있습니다. 이 동영상에서는 기본 쿼리를 살펴보고 Realtime Database에서 어떻게 작동하는지 알아봅니다.

이 동영상에서는 8가지 일반적인 SQL 쿼리부터 시작하여 이러한 쿼리를 하나씩 Realtime Database에서 작동하는 쿼리로 변환합니다. 이제 이론적 지식을 토대로 실습해 보겠습니다.

Realtime Database에는 구체적으로 데이터를 결합하는 메서드는 없지만 한 위치에서 데이터를 가져온 후 다른 위치의 관련 데이터와 병합할 수 있습니다. 이번 강의에서는 이러한 병합 방법을 보여줍니다.

비정규화는 쿼리를 줄이거나 단순화하기 위해 데이터를 중복화하는 프로세스입니다. SQL 배경에서 본다면 이상하게 보일 수 있지만 NoSQL 데이터베이스에서는 일반적인 방법이며, 읽기 성능이 높아질 뿐만 아니라 한결 간편한 방법입니다. 이번 강의에서는 데이터 비정규화의 몇 가지 장점과 비정규화 방법을 알아보겠습니다.

비정규화는 읽기 및 쿼리 성능을 높이는 데 적합하지만 데이터 일관성이 저하될 수 있습니다. 다행히 다중 경로 업데이트를 사용하면 비정규화된 데이터의 일관성을 유지할 수 있습니다. 이 동영상에서는 조회 경로를 사용하여 데이터를 여러 위치에 복사하고 일관성을 유지하는 방법을 보여줍니다.

Realtime Database에 스키마가 없다고 해서 데이터 구조를 보호하지 못한다는 의미는 아닙니다. Realtime Database는 스키마 대신 보안 규칙이라는 선언적 서버 측 규칙 언어를 사용합니다. 이 동영상에서는 보안 규칙을 사용하여 데이터 구조를 보호하고 외래 키와 같은 구조를 만드는 방법을 보여줍니다.