加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-13 13:29:00 所属栏目:百科 来源:网络整理
导读:我最近参加了由Nogen / MongoDB上的10gen赞助的技术讲座.我不是DBA超级大师或其他任何人,而且演讲者提出了一个有趣的观点,旨在说明使用NoSQL数据库的优势之一. 这个例子是这样的: Craigslist正在使用MySQL.他们有一张巨大的桌子,里面有数百万甚至数亿的记录
我最近参加了由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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读