关系数据库和多播消息
我读到,关系数据库是处理 Twitter 等多播消息的糟糕方法。
那么 Twitter 只将每条推文保存一次,然后在每个流中检索它?或者保存每个用户流中的每条推文?
我想知道为什么关系数据库(如 mysql 或 postgresql )不适合类似 twitter 的应用程序。
I have read that relational databases are a terrible way to do multicast messages like twitter.
So twitter saves every tweet only one times and then retrieve its in every stream ? or saves every tweet in every users's stream ?
I want to know why relational database ( like mysql or postgresql ) doesn't good for twitter-like application.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这实际上取决于您的应用程序。 NoSQL、基于列的数据库或关系数据库都会根据您的设计和要求进行不同的扩展。像 Twitter 这样的大型网站会进行大量缓存。
不要过早优化。编写您的应用程序并对其进行分析。 80% 的缓慢将出现在 20% 的代码/查询中。
It really depends on your application. NoSQL, a column-based database or Relational database will both scale differently depending upon your design and requirements. And large sites like Twitter do a lot of caching.
Don't prematurely optimize. Write your application and profile it. 80% of your slowness will be in 20% of your code/queries.