微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

“列添加”(模式修改)是NoSQL(mongodb)数据库相对于像MySQL这样的RDBMS的关键优势

我最近参加了由Nogen / MongoDB上的10gen赞助的技术讲座.我不是DBA超级大师或其他任何人,而且演讲者提出了一个有趣的观点,旨在说明使用Nosql数据库的优势之一.

这个例子是这样的:
Craigslist正在使用MySQL.他们有一张巨大的桌子,里面有数百万甚至数亿的记录.他们需要通过向其添加列来修改此表的架构.由于此表中有如此多的记录,实际添加该列需要3个月

他进一步说,使用Nosql数据库,您不必执行任何操作 – 只需将对象保存到具有您要记录的额外属性的集合中.

我明白了,也许用RDBMS引擎修改一个庞大的数据集需要一段时间.但这真的是RDBMS的一个巨大缺点吗?这夸张了吗?可以加快这样的行动吗?

解决方法:

我对这3个月的时间框架持高度怀疑态度.我以前曾使用过数以亿计的行处理MysqL表,甚至在几年前的硬件上,添加一列可能最多需要几天,而不是几个月.当然,这取决于每行中包含的数据量,但我仍然持怀疑态度.

当然只是使用ALTER TABLE扩展表可能不是最好的方法…从旧的表创建新表通常要快得多(CREATE TABLE [新表] LIKE [旧表]),改变在空表上的schema,将旧表中的所有行复制到新表中,(INSERT INTO [new table] SELECT [fields] FROM [old table]),然后将new重命名为old.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐