-
22-09-2019 - |
题
我们设置了建立一个网上平台(API、服务器、数据、嗬!).为方面,想象一下,我们需要建立一些东西喜欢twitter,但所作的评论(鸣叫)组织了一个活的事件。信息有关的活动本身必须交给客户以快速和一致地为可能,同时评论有关事件的大概可以再等多一点的时间可以交付。我们将读取量之后的现场活动的完成。
可扩展性是非常重要的。我们要开始出租VP片和规模。我是个大风扇云,并希望保持有的尽可能长的时间。我们可能会被使用红宝石。
我相信,我想要尝试一个文档存储,而不是一个RDBMS。我喜欢这个主意的架构存储和承诺的更容易的扩展通过专注于关键的价值。
问题是我不知道哪种技术最适合我们的平台。我已经看了沙发,Mongo,东京内阁,卡桑德拉,并RDBMS与blobbed文件。任何帮助,挑选合适的工具,对于这个特定的工作?
解决方案
结帐的有SQL替代品比较 BJ克拉克.
可扩展性是非常重要的。
然后你需要考虑的摘录从他博客:
- 东京柜-不
- 穿红衣-不
- 项目伏地魔-秤
- MongoDB-有限公司(分片是已实施)
- Cassandra尺度
- 亚马逊S3-秤
- 沙发
不规模(集群 和复制) - MySQL-不
并考虑 HyperTable.这也是一个严重的竞争者没有-SQL的替代品。它是一个开放源执行情况的大表的概念。我相信,它的尺度,因为它的广泛使用通过中国的搜索引擎,百度和娱乐门户网站卖技巧,目的是帮助日内.
你是说:
信息有关的活动 本身必须交给客户 快速和一致地为可能, 虽然评论有关事件可以 可能要等待更长一点的时间可以 交付。我们将读取量之后 现场活动的完成。
这是我喜欢Twitter的方法。你的编程语言的选择也是非常重要,因为Twitter最初就跟着红宝石的后端的消息传递,但是 他们说 这不是一个正确的选择和他们动整个信息传递系统的 斯卡拉 语言。
他们仍然使用红宝石为他们的前端。如果你想要去与一个高度可靠、容错系统,是非常适合扩展的环境,那么你应该考虑 斯卡拉 或 二郎.
其他提示
Ramesh有一个很好的总结。我要补充说,Cassandra有一个更加丰富的数据模型比香草的发电机的克隆(喜欢伏地魔或Dynomite):行命名,排列而不只是关键性/价值。Cassandra是正在使用的Twitter,Mahalo,Ooyala,SimpleGeo、WebEx和其他人(http://n2.nabble.com/Cassandra-users-survey-td4040068.html),至少有一些是运行卡桑德拉群集在EC2或机架空云服务器。
如果您想进行水平扩展(通过多个节点,多个分发您的数据),你必须采取CAP定理考虑。
http://www.julianbrowne.com/article/viewer/brewers带肩定理
这是不容易的东西,但你必须选择,总有某种权衡的。