AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 13931
Accepted
Jeremy Beard
Jeremy Beard
Asked: 2012-02-27 00:23:18 +0800 CST2012-02-27 00:23:18 +0800 CST 2012-02-27 00:23:18 +0800 CST

为什么关系数据库不能满足大数据的规模?

  • 772

人们经常重复说,大数据问题是关系数据库无法扩展以处理现在正在创建的海量数据。

但是,像 Hadoop 这样的大数据解决方案不受这些可扩展性限制的约束是什么?为什么 Oracle RAC 或 MySQL 分片或 MPP RDBMS 像 Teradata(等)不能实现这些壮举?

我对技术限制很感兴趣——我知道集群 RDBMS 的财务成本可能令人望而却步。

scalability
  • 3 3 个回答
  • 20104 Views

3 个回答

  • Voted
  1. Best Answer
    Dave Markle
    2012-02-27T05:14:04+08:002012-02-27T05:14:04+08:00

    MS 刚刚在荷兰进行了一次技术演讲,他们讨论了其中的一些内容。它开始缓慢,但在 20 分钟左右进入 Hadoop 的核心。

    它的要点是“取决于”。如果您有一个合理安排、(至少在某种程度上)易于分区的数据集(至少在某种程度上)是同质的,那么使用 RDBMS 扩展到那些高数据量应该相当容易,具体取决于您在做什么.

    Hadoop 和 MR 似乎更适合您被迫对数据进行大规模分布式扫描的情况,尤其是当这些数据不一定像我们在 RDBMS 世界中发现的那样同质或结构化时。

    大数据解决方案不受哪些限制?对我来说,他们不受约束的最大限制是必须提前制定严格的模式。使用大数据解决方案,您现在可以将大量数据推入“盒子”,稍后在查询中添加逻辑以处理数据缺乏同质性的问题。从开发人员的角度来看,权衡是项目前端的易于实施和灵活性,而不是查询的复杂性和不太直接的数据一致性。

    • 15
  2. BenjaminBallard
    2012-02-29T08:56:28+08:002012-02-29T08:56:28+08:00

    数据库先驱和研究员 Michael Stonebraker 共同撰写了一篇论文,讨论了传统数据库架构的局限性。通常,它们使用更昂贵的硬件进行扩展,但难以并行扩展更多商品硬件,并且受到为旧时代设计的遗留软件架构的限制。他认为,大数据时代需要多种新的数据库架构,这些架构可以利用现代基础设施并针对特定工作负载进行优化。这方面的例子有 C-store 项目,它导致了商业数据库 Vertica Systems,以及 H-store 项目导致了 VoltDB,这是一个专为高速大数据工作负载而设计的内存中 OLTP SQL 数据库。(完全披露,我为 VoltDB 工作)。

    您可能会发现此网络研讨会对此主题很有趣。它回应了随着 NoSQL 数据库的成功而出现的一些神话。基本上,他认为 SQL 不是问题,不应该为了获得性能而放弃传统的数据库特性,例如一致性。

    • 6
  3. sunil
    2012-03-02T21:29:24+08:002012-03-02T21:29:24+08:00

    RDBMS 不能扩展并不完全正确。然而,陈述中的部分事实取决于架构。在您提供的列表中,Oracle RAC 与其他(分片 MySQL 和 Teradata)不同。主要区别在于共享磁盘与无共享架构。

    像 Oracle RAC 这样的共享磁盘架构受到扩展的影响,因为在某些时候,所有运行的机器都应该在某些数据上同步。例如,全局锁管理器是一个杀手。您可以在一定程度上对其进行微调,但最终会碰壁。如果你不能轻易添加机器,你应该拥有更少但超级强大的机器,这可能会烧掉你的口袋。在无共享架构(或分片数据)的情况下,每台机器都拥有一些数据的所有权。如果要更新一些数据,它不需要与其他机器同步。

    然后是 NoSQL 数据库的品种。我会将它们视为传统 RDBMS 数据库的一个子集。并非这个世界上的所有应用程序都需要 RDBMS 提供的所有功能。如果我想使用数据库作为缓存,我不会关心持久性。可能在某些情况下我也不会关心一致性。如果我所有的数据查找都基于一个键,我不需要支持范围查询。我可能不需要二级索引。我不需要所有传统数据库都有的整个查询处理/查询优化层。

    • 5

相关问题

  • 如何扩展 SQL Server 2008 或 2012?

  • MySQL 分片表/服务器或其他减少表大小的方法?

  • MySQL 的分片启发式算法是什么 - 每个表的记录数和每个实例的表数?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何查看 Oracle 中的数据库列表?

    • 8 个回答
  • Marko Smith

    mysql innodb_buffer_pool_size 应该有多大?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    从 .frm 和 .ibd 文件恢复表?

    • 10 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    如何选择每组的第一行?

    • 6 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    pedrosanta 使用 psql 列出数据库权限 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST
  • Martin Hope
    bernd_k 什么时候应该使用唯一约束而不是唯一索引? 2011-01-05 02:32:27 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve