Notionの内部実装
from
Notion
https://www.notion.so/blog/data-model-behind-notion
notionのtech blogの記事
mrsekut.icon
Notionを構成するものは全て
NotionのBlock
という概念
テキスト、画像、リスト、行などは全てBlock
相互に変換することができる
これをどのようにmodelingするか?
https://www.notion.so/blog/data-model-behind-notion#saving-changes-on-the-server
serverに保存する
過去にも戻れるので、immutable data model的な構造にもなってるはず
リアルタイム更新は
WebSocket
を使ってる
説明を見ると割と単純だなと思えるけど、0から考えろと言われると大変だな
mrsekut.icon
この構造を発見したのがすごい点
PostgreSQL
を使ってる
ref
https://www.notion.so/blog/designing-synced-blocks