【发布时间】:2011-11-24 00:46:10
【问题描述】:
我正在寻找有关将哪个数据库用于项目的帮助或指导。如果您能提出任何观点,或指出缺陷,回答任何问题或推广任何一种数据库类型,我将不胜感激。
无论如何:
我们有一些跟踪表格的软件。
我们的用户可以拥有许多不同的属性,从字面上看 数百个设置,我不喜欢 MySQL 表那么宽。一世 真的很喜欢Mongo。
我们有不同类型的表格,每一种都可以有完全不同的 字段。现在,我们有一个包含通用数据的表单列表,然后 加入相关表以获取更多数据。我会拥有所有 使用 Mongo 将这些字段放在一个不同的文档中,我可以轻松地 无需担心添加字段。
我们在每个表格上都有费用、备注和历史记录。我喜欢他们在 MySQL 中的表现 在不同的表中,我可以按表单或用户获取历史记录- 和笔记一样。
我们的政策几乎是保留所有数据,甚至删除或预先编辑 数据……永远。我可以做 担心达到尺寸限制?到 2013 年底,我们可能会说 100GB
每页有多少 Mongo 查询会使事情陷入困境? 20? 100?将 如果我在服务器中有 SSD,会发生什么变化? (现在,我们有大约 60 MySQL 查询一个页面。这可以改进。)
让我的第一个 Mongo 项目成为一个有点大的项目是不是一个坏主意 一点软件?这是我可以边走边学的东西吗?
我喜欢 MySQL 列名不区分大小写 脏东西。
在 MySQL 中,我将事情分解到不同的表中。在 Mongo 中,将可以分离的数据放在一起可以吗?示例:
username, email, phone, license1 => [num,isValid], license2 => [num, isValid], notifications => [notification1...notification50000], password hash, salt, setting1, setting2...setting1000, permission1, permission2...permission1000当然,我会使用嵌套样式来组织,但是最好将所有这些存储在“用户”下还是将其分解为设置、许可证、权限?第二个例子:formName, address, notes => [note1 => [user,note,date], note2 => [user,note,date]]进行 HYBRID 设置是否有任何问题,其中用户数据是 Mongo,表单数据是 MySQL?
我们必须运行大量报告,Mongo 对此有限制吗?例如,我是否会在查找过去 40 天内每张费用超过 10 美元的表格时遇到问题,每行的费用总计,按填写表格的用户年龄排序?
数据冗余 - 在 Amazon 云上,MySQL 具有大量冗余。是否有任何服务可以与 Mongo 相匹配?自己进行设置是否复杂?
任何“云”提供商都支持 MongoDB 吗? AWS 为 MySQL 做了很多工作,但对于 Mongo 来说,我似乎只能靠自己了
我脑子里只有几件事 - 我真的很感激任何人要说的任何话。
【问题讨论】:
标签: php mysql database-design mongodb amazon-web-services