我的网站:,一个基于搜索密集位置的社交网络。因此,在较高的层次上是一些组件,如我们在facebook上看到的--概要、提要等。在较低的层次上,我正在深入研究世界各地的酒店、餐馆等的预订情况。因此,大量的数据、大量的搜索、大量的分析、大量的读/写。
当前平台:1 MySQL数据库,Php,1专用主机。网站是地理位置如此世界各地,支持多朗和定位,必须是实时的.计划加入CDN一旦启动。一旦我最终确定要使用的确切技术,这种情况就会改变。
这里是有关项目的列表:
问题--谁能建议:数据库要使用哪种类型,哪个品牌(关系型、文档型、键值、图形等)、数据库引擎(InnoDB不能在所有情况下都能工作)、添加服务器/文件系统/缓存(如memcached等)?如果rdms的话,我该去正常化还是去归一化。或者一路走来。
MySQL对某些部件起作用,memcache对某些部分起作用,lucene对某些部件起作用,有些部件(如收件箱)可能需要文档数据库,关系可能需要一个图形数据库,但我不确定哪一个能准确地工作在上面的7个项中,以及我是否可以对上面的大多数项使用相同的平台/技术。我唯一的要求是开放源码,所以它可以免费使用和使用PHP。我不希望实现一个单独的数据库/一组技术来支持上述7项要求中的每一项。当然,作为一个社交网络,性能和可伸缩性也很重要。
发布于 2010-11-22 03:29:04
如果你有钱,那么甲骨文将支持你的大部分要求。这可以归结为标准的RDBMS,加上CLOBs和全文搜索。
SQLserver女士也将支持这些功能,但您只能使用Windows。
如果你用开源来做这件事,我会认真看待PostGres,因为MySql的未来看起来不确定,现在它是世界上最大的商业数据库供应商所拥有的。
发布于 2010-11-22 04:26:09
好吧,FourSquare大部分是用MongoDB来完成的,所以它必须有一些东西。
我不想在这里发动任何圣战(虽然我想这听起来可能不像),但不要使用MySQL,只是.不要。此外,现在看来甲骨文更有可能想要杀死它。甲骨文本身就是一种巨大的浪费金钱。
如果您想继续使用关系模型,请看一看VoltDB,它作为SQL一直在制造一些噪音,实际上是水平可伸缩的。
就我个人而言,我将从Mongo、Lucene和Hadoop/HBase的组合开始,用于数据处理(分析、关系等)。但实际上,这只是一个借口,玩闪亮的新玩具,我不声称有太多的经验,这些。
我也会认真地重新思考PHP,但现在我再次讨论圣战。
发布于 2010-11-22 23:55:42
首先,如果您认为站点会发展到与其他成功站点类似的地方,那么您需要一个分布式的解决方案。这意味着某种NoSQL解决方案。但是你不需要选择一个单一的NoSQL解决方案,越来越多的你看到所谓的多个数据库的方法来处理特定的方面。看起来太复杂了?可能无法与尝试将不合适的技术扩展到您的体系结构中相比。因此,将对象存储在Cassandra或Mongodb中,这提供了出色的规模和性能。然后将关系数据输入分布式图形数据库,以处理网络链接。您将拥有比SQL数据库更好的可伸缩性的技术。但是,您需要单独检查各种技术的技术需求,需要做出太多的决定才能做出产品推荐。
https://stackoverflow.com/questions/4241918
复制相似问题