开发者

Database design for Wave-like collaboration system

How do we decide what the smallest unit is? For text collaboration should it be a word, a parag开发者_高级运维raph?

Is there going to be performance issues if the unit is too small? But it might be more flexible


Implementing the multi-user interactive editing capabilities of Google Wave probably requires a unique data structure, not something that fits into a conventional relational database.

It all depends on your needs, of course. Do you want to recover the full history of a document? Or the order in which a user typed it? How many users? How many documents? All of these things will impact the data model.


I guess the question is "wrong" and that this is not a relational model candidate.
A whole flow could be stored in a BLOB like storage/field, and you would use specialised (full-text) indexing. Maybe this can help ?


Depends on what your goals are.

A "message" (one user to another) seems like a good unit.

You'd attach other stuff to that message, of course, like timestamp, session id, to-user, from-user -- whatever is necessary to reconstruct what actually happened.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜