Cas*_*ynn 6 mysql sql database mongodb nosql
我最近去了10gen在NoSQL / MongoDB上赞助的技术讲座。我不是DBA的超级专家,演讲者提出了一个有趣的观点,目的是说明使用NoSQL数据库的优势之一。
例子是这样的:Craigslist正在使用MySQL。他们有一个巨大的表,上面有数百万甚至数亿条记录。他们需要通过在表中添加列来修改该表的架构。由于此表中的记录太多,因此实际添加该列需要3个月的时间
他进一步说,使用NoSQL数据库,您无需执行任何操作-只需开始将对象保存到具有您要记录的额外属性的集合中即可。
我明白了,用RDBMS引擎修改庞大的数据集可能要花一些时间。但这真的是RDBMS的巨大缺点吗?这是夸张吗?可以加快这样的操作吗?
我对这三个月的时间框架非常怀疑。我之前曾使用过包含数亿行的 MySQL 表,即使在多年前的硬件上,添加一列最多也需要几天而不是几个月的时间。当然,这因每行中包含的数据量而异,但我仍然持怀疑态度。
当然,仅使用 ALTER TABLE 扩展表可能不是最好的方法...从旧表创建新表通常要快得多(CREATE TABLE [新表] LIKE [旧表]),更改空表上的架构,将旧表中的所有行复制到新表(INSERT INTO [新表] SELECT [字段] FROM [旧表]),然后将新表重命名为旧表。