- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我必须对存储在 MySQL 数据库中的非常大的数据集执行一些严肃的数据挖掘。然而,需要比基本 SELECT * FROM X WHERE ...
多一点的查询往往变得相当低效,因为它们返回大约 10e6 或更多的结果,尤其是当 JOIN
引入了一个或多个表 - 考虑连接包含数千万行的 2 个或多个表(过滤数据后),这几乎在每个查询中都会发生。我们经常希望对这些(sum
、avg
、count
等)运行聚合函数,但这是不可能的,因为 MySQL简直窒息。
我应该注意到,为优化当前性能付出了很多努力——所有表都已正确索引并调整了查询,硬件是一流的,存储引擎已配置等等。然而,每个查询仍然需要很长时间 - 以至于“让我们在回家之前运行它并希望明天上类时最好”。不好。
这必须是一个可以解决的问题——许多大公司进行非常数据和计算密集型的挖掘,并且处理得很好(无需编写自己的存储引擎,谷歌)。我愿意接受时间惩罚来完成工作,但以小时为单位,而不是几天。我的问题是——人们用什么来解决这样的问题?我听说过针对这类问题的存储引擎(greenplum 等),但我想听听通常是如何解决这个问题的。我们当前的数据存储显然是相关的,并且可能应该保持这种状态,但欢迎提出任何想法或建议。谢谢。
最佳答案
我建议使用 PostgreSQL,我已经在 ~0.5B 行的表上成功地使用了它,这些表需要一些复杂的连接操作。 Oracle 也应该对此有好处,但我没有太多经验。
应该注意的是,切换 RDBMS 并不是一个神奇的解决方案,如果你想扩展到那些规模,那么在优化你的查询、优化数据库结构和索引、微调数据库配置,根据您的使用情况使用正确的硬件,复制,使用物化 View (正确使用时非常强大。参见 here 和 here - 它特定于 postgres,但也适用于其他 RDBMS)...有些时候,你只需要在这个问题上投入更多的钱。
已编辑 修复了一些奇怪的拼写错误(无用的 android 自动更正...)并添加了一些关于物化 View 的资源
关于mysql - 用于超大数据集的 RDBMS——人们在使用什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7306156/
RDBMS 中有哪些不同类型的键?请在答案中包含示例。 最佳答案 来自 here和 here :(在我用谷歌搜索你的标题后) Alternate key - An alternate key is a
请解释什么是 RDBMS 中的集群? 最佳答案 在 SQL 中,簇也可以指行的特定物理顺序。 例如,考虑一个包含两个表的数据库:INVOICES 和 INVOICE_ITEMS。如果同时插入许多 IN
请解释什么是 RDBMS 中的集群? 最佳答案 在 SQL 中,簇也可以指行的特定物理顺序。 例如,考虑一个包含两个表的数据库:INVOICES 和 INVOICE_ITEMS。如果同时插入许多 IN
这个问题在这里已经有了答案: What is the difference between DBMS and RDBMS? (9 个回答) 关闭 10 个月前。 这就是他们的区别吗,这就是我的理解。
如果我正确理解了 CAP 定理,可用性意味着即使节点出现故障,集群也会继续运行。 我见过很多人(http://blog.nahurst.com/tag/guide)将RDBMS列为CA,但我不明白RB
关闭。这个问题需要更多 focused .它目前不接受答案。 想改进这个问题?更新问题,使其仅关注一个问题 editing this post . 6年前关闭。 Improve this questi
在我作为首席开发人员的项目中,我们之前有一个存储单个 XML 文件的网络配置。配置包含有关网络布局的信息 - 其组成主机、每个主机的各种详细信息(如操作系统、平台、每个主机中配置的用户、每个用户的多个
我想编写一些可以在几乎所有数据库中运行而没有任何 SQLExceptions 的查询。那么,我在哪里可以获得编写查询的 ANSI 标准? 最佳答案 不确定这对您有帮助。 供应商在标准实现方面千差万别,
作为一名程序员,我在各种系统上工作过,一些使用 Oracle,一些使用 MySQL。我一直听到人们说 Oracle 更稳定、更健壮、更安全。是这样吗? 如果是,以什么方式和为什么? 为了这个问题的目的
重要提示:我收到了很多答案,感谢大家。但是所有的答案都是评论多于答案。我的问题与每个 RDBMS 的往返次数有关。一位有经验的人告诉我,MySQL 的往返次数比 Firebird 少。我希望答案保持在
我正在开发一个开源产品,需要一个嵌入式 dbms。 你能推荐一个嵌入式开源数据库吗... 每个可以处理超过 10 GB 的对象 拥有对嵌入友好的许可证(LGPL,而非 GPL)。 是纯Java 是(最
为什么使用同义词?,syNONYMS IN SQL 的优点? 最佳答案 它们只是数据库中对象的简写名称。例如,您可以创建一个名为 Products 的同义词。如果您在名为 ProductionCont
我经常创建的查询具有7-8个联接来检索数据。在实际的数据库应用程序中,是否有许多这样的联接正常?或者我的数据库设计不佳?我很好奇,因为如果在每个请求数据库上必须做很多工作,那么如果成千上万的客户端连接
Aheo问是不是ok to have a table with just one column .如果没有列,或者考虑到在大多数现代“关系”DBMS 中这似乎很难做到,那么没有属性的关系如何? 最佳答
模式的定义是数据库中数据的逻辑结构。它归用户所有,并且与数据库用户同名。模式包含表的名称,列类型是什么等等。数据字典也仅包含元数据(当然,它是在数据库级别而不是用户级别)。模式和数据字典之间的确切区别
在以下方面设置游泳池的最佳方法是什么: - 你什么时候创建连接? 你什么时候关闭连接,你会关闭所有连接吗? 你测试连接还是不错的。何时以及如何? 您如何确定最大连接数的好数字? 你有什么样的监控来确保
我目前正在尝试选择数据库供应商。 我只是想从其他数据库开发人员那里征求一些个人意见。 我的问题特别针对以下人群: 1) 之前使用过支持复制到磁盘(混合)的主内存数据库(MMDB)(即 ExtremeD
空值表示 没有值(value) 不适用、未分配、未知或不可用 哪个是真的? 最佳答案 这完全取决于使用它的上下文。 null 表示没有值,但其原因取决于使用它的域。在许多情况下,您列出的项目都是 nu
假设我有这个 RDBM 表(Entity-attribute-value_model): col1: entityID col2: attributeName col3: value 由于扩展问题,我
我想知道是否在其中一个属性上创建了具有聚集索引的表或特别是堆文件是根据该属性排序的。排序的堆文件和具有聚集索引的堆文件之间有区别吗? 最佳答案 Is there a difference betwee
我是一名优秀的程序员,十分优秀!