我想建立一个社交网站,我想知道什么是最适合这样一个网站的DBMS。
我知道这个问题已被问过一百万次并且总是带着同样自命不凡的新手:我希望我的网站“最好”!: - )
我也明白在这种情况下没有“最佳”。每个开发人员都想象/喜欢以不同的方式构建/关联/存储他们的数据。但我不知道从哪里开始成为新手。我知道mySQL可能是最受欢迎的,我一直听说MongoDB,CouchDB,Cassandra ..
我喜欢关系数据库的想法。它是有道理的,它是自然的,人类的。但作为程序员/ Web开发人员,我使用类,对象,键和属性,我相信数据库应该反映出面向对象的特性。我认为没有SQL类型的数据库就像那样工作,虽然我不知道如何。但是,对我来说更有意义的是,如果我在我的代码中构建/使用对象,具有嵌套对象和数组的对象,并且我想将它们存储在数据库中,我也可以以类似/等效的方式存储它们。
无论如何,有人能指出我正确的方向,因为我需要从某个地方开始,看看它到底在哪里! : - )
顺便说一句,愚蠢的新手问题现在就出现了:如果我构建数据库和网站,但毕竟我决定使用不同的数据库,就像“迁移”一样(例如来自对于现场网站或噩梦,mySQL到noSQL,反之亦然?
提前感谢您的帮助!
答案 0 :(得分:0)
首先,它取决于您用于社交网站的技术。 我会尝试用我在.Net技术方面的经验来帮助你。
使用Entity Framework可以实现面向对象并且与DBMS无关的数据库。 Hibernate也为java语言提供了这样的可能性,但是无法比较这两种技术。
现在对于DBMS,正如你所说,有多个选择,但选择取决于他们的数据使用,更新频率,请求,预期用户数...,并且还可以使用多个DBMS,具体取决于约束
例如,当使用缓存的用户数据时,我建议使用SQLite释放服务器内存,它也可以用于参数Data(可以与Entity Framework一起使用)。 对于hitorical Data,SQL Server可以是一个很好的选择。 MySQL也可以用于最常用的数据。
你知道,你的技术没有“最好的选择”,一切都取决于你的需求和限制。
希望会有所帮助。