hamburger-tech-nits

主にプログラミングのNITSな話

RDB形式のFirestore的なサービスが無いのはなぜ?

Firestoreでjoinをしたいと1億回くらい考えている。joinをできないのはRDBではなくNoSQLベースだから。

RDB形式の類似サービスが無いのはなぜなのかという疑問が出てきたので調べていたら、そもそも周辺知識が足りてなかったので朝の自由時間が一瞬で溶けた。

結論としては、以下の2点がポイントっぽい。

  1. 従来のRDBMSは事前にスキーマ定義する前提である。それをするためには直接アクセスして管理が必要。ただし、事前にルールを決められるのでインデックスの付与だったり外部キーの設定ができる。
  2. Firestoreは厳密なスキーマ定義を用意しないNoSQLベースなので柔軟性があり、クライアント側から自由に書き込みができる。柔軟性があるので書き込みしやすくて早い。

結局それぞれRDBとNoSQLの良さ・悪さが関係しているので、クライアント側だけでいい感じに操作できるRDBのサービスはまだないのだろう、ということで落ち着いた