“列添加”(模式修改)是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.

相关文章

校园网上订餐系统系统主要功能模块包括公告内容(公告栏、轮...
从今天开始,正式进入项目阶段。本次的项目是跟着黑马的瑞吉...
在可预见的将来,IT不会萎缩,只会越发展越庞大,最终会渗透...
vulntarget-b靶场最详细通关记录。
MongoDB是一个开源、高性能、支持海量数据存储的。
【NoSQL数据库技术与应用】课本代码、课后答案(持续更新)