mysql使用nosql_我应该使用NoSQL而不是MySQL吗?

我使用PHP来开发Web应用程序。我用MySQL作为RDMS。对于RDMS的许多作用,许多问题都可以通过规范化来解决。但是有些情况下RDMS不能很好地工作,所以其他解决方案如NoSQL已经被设计出来。

我不清楚什么情况会让NoSQL更适合。一些不同的NoSQL选项如何不同,哪些情况可能比另一个更好,哪些与PHP 5.3或更高版本(API明智)兼容?

因此,我正在寻找一份我可以使用的NoSQL服务器软件列表(例如MySQL作为RDMS)以及为什么我会使用另一种(任何混合动力?)。还有使用NoSQL而不是RDMS解决的问题的具体示例。

最后,我想知道在这种情况下NoSQL服务器是否会更好地工作:

一个数据表,其中每行可以有不同的列/字段。一行可能有5列,另一行可能有5个完全不同的列,另一行可能有10列。但是在所有这些行中,有一个主自动递增的数字ID。数百万“行”。

(就上面我来说,NoSQL是完美的,因为它是一个对象的集合,而不是表中的行。不知道A.I主键)。

在RDMS中,您可以创建最常用的列,然后使用PHP的序列化/反序列化来存储其他列。但是,如果必须对存在于此“序列化数组”中的列运行报告,这会非常低效且复杂,如名为“birthday_pledge”的列的所有行上的SUM(每行使用该行)。

在我的情况下,除了主键之外,每个“列”都是自定义的和用户定义的。但我需要能够在这些“列”上运行报告(总和,过滤器,搜索)。因此,如果NoSQL不是解决方案,我唯一能想到的就是为用户创建自定义表格(尽管这可能会变得复杂)。

我还想指出可伸缩性(多数据库服务器,冗余和故障转移)非常重要。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值