0

我想建立一个社交网站,我想知道用于此类网站的最佳 DBMS 是什么。

我知道这个问题已经被问过一百万次了,而且总是带着新手一样的自命不凡的傲慢:我想要我的网站的“最佳”!:-)

我也明白在这种情况下没有“最佳”。每个开发人员都想象/喜欢他们的数据以不同的方式结构化/相关/存储。但我不知道从哪里开始成为新手。我知道 mySQL 可能是最流行的,我不断听到有关 MongoDB、CouchDB、Cassandra 的消息。

我喜欢关系数据库的想法。这是有道理的,这是自然的,人性的。但作为一名程序员/Web 开发人员,我使用类、对象、键和属性,我相信数据库应该反映面向对象的特性。我认为 noSQL 类型的数据库就是这样工作的,尽管我不确定如何。但是,对我来说更有意义的是,如果我在代码中构建/使用对象、具有嵌套对象和数组的对象并且我想将它们存储在数据库中,我不妨以类似/等效的方式存储它们。

无论如何,有人能指出我正确的方向吗,因为我需要从某个地方开始,看看它会把我带到哪里!:-)

顺便说一句,愚蠢的新手问题正在向您提出:如果我构建了数据库和网站,但最终决定我应该使用不同的数据库,这就是“迁移”之类的事情(例如从 mySQL 到 noSQL反之亦然)可能是实时网站还是噩梦?

预先感谢您的帮助!

4

1 回答 1

0

首先,它取决于您用于社交网站的技术。我将尝试根据我在 .Net 技术方面的经验来帮助您。

使用实体框架可以实现使您的数据库面向对象并独立于 DBMS。Hibernate 也为 java 语言提供了这样的可能性,但无法比较这两种技术。

现在对于 DBMS,正如你所说,有多种选择,但选择取决于它们的数据使用、更新频率、请求、预期用户的数量……而且根据这些限制,也可以使用多个 DBMS。

例如,当你使用缓存的用户数据时,我建议使用 SQLite 来释放服务器内存,它也可以用于参数数据(可以与实体框架一起使用)。对于历史数据,SQL Server 可能是一个不错的选择。MySQL 也可用于最常见的数据。

你看,你的技术没有“最佳选择”,这完全取决于你的需求和限制。

希望会有所帮助。

于 2013-10-08T21:13:20.453 回答