0

我需要创建一个类似于谷歌日历的服务(仅限基本功能),以使用 iCalendar 格式查看和编辑/删除约会。在开始之前我想问你,哪种数据库最适合存储这种信息。它必须是一个可扩展的解决方案。

如果你能帮助我,非常感谢。

4

4 回答 4

1

您可以安全地使用 mysql,也许与 PDO 一起使用。这样,如果需要,您将来可以随时移动到另一个数据库。但是,对于这样的任务,mySQL 应该足够了。

于 2012-12-18T23:10:58.150 回答
1

鉴于您的问题范围广泛,您可以使用任何关系数据库,例如:

  1. MySQL
  2. 格力邮政
  3. SQL 服务器
  4. 甲骨文

或 NoSQL 数据库,例如:

  1. MongoDB
  2. 乌鸦数据库

您的选择取决于对这些数据库的知识和经验。

就个人而言,我会选择 MySQL,因为它稳定、开源,有很多关于它的资源(包括优化技巧),而且它是“免费的”。

于 2012-12-18T23:26:38.357 回答
1

如果你想要一个可扩展的数据库,你可以使用 NoSQL 数据库(例如 MongoDB、CouchDB)。这种数据库是可扩展的。

但是对于像“基本功能”这样的“谷歌日历”,经典的 SQL 数据库(例如 MySQL)也足够大。即使你有很多用户。

所以 NoSQL 或 SQL 数据库很容易使用。所以使用你最喜欢的数据库。

于 2012-12-18T23:18:27.707 回答
0

询问可扩展性是错误的方法。如果您的服务增长,您根本无法知道会遇到哪种可扩展性问题。

您可以扩展几乎所有数据库解决方案,而无需进行任何更改。但最终您将不得不对问题采取完全不同的方法,因为原始解决方案无法进一步扩展。

例如,高性能环境中的 MySQL 用于安装了足够 RAM 的服务器上,以至于整个数据集在某个时间点都保存在 RAM 中,而硬盘只写入整个时间以实现持久性。顺便说一句,硬盘是一个非常快的 SSD 阵列。

但即使是这些巨无霸服务器也可能变得太小,并且必须应用“分片”和“分区”等策略将数据集拆分到多个数据库服务器上。如果读写相互进入,主从复制可能会有用。

如果您刚开始,您的基本问题应该是:我想使用什么数据结构来向至少一个用户提供服务?任何数据库都可以支持这一点,但有些可能更容易使用,这取决于数据结构和您对它们的了解。

如果没有服务,就没有用户,扩展的需求就会减少。

于 2012-12-18T23:38:35.187 回答