mysql - 在 mongoDb、Mysql 和 hadoop 之间做出选择

标签 mysql mongodb bigdata nosql

我正在设计和实现应用程序的数据层。做了一些基础研究,发现 NoSql 可能看起来很适合我,因为它的结构不太复杂且简单。

我的要求是托管一个包含接近 800,000 条记录的表,在我看来这并不算多,即使是最差的数据库也可以轻松处理这个问题。

但是我的阅读量会比较高。任意时刻都接近20万。我的阅读查询:

阅读量:(任意瞬间 200,000 次)

    Select Sum(columnA, columnB),  Sum(columnC, columnD) from Table where 
( column E ='X' OR column F='Y'  or column G='X' OR column H='Y' ) Group 
by columnK Having Count(*) =4 order by columnK

写入:每分钟 30 行插入(无更新)

鉴于此,我发现任何普通数据库都可以。但就我而言,每一毫秒都很重要,因为这是一个财务应用程序,响应时间的任何减少都会有所帮助。最好的方法是什么?

最佳答案

如果您想走 NoSQL 路线,并且您认为您的情况需要这样做,我建议您将 Hbase、MongoDB 和 Cassandra 视为潜在的竞争对手。

还要知道它们不支持开箱即用的 SQL。 (例如,对于 HBase,您可以使用 Phoenix 作为 HBase 之上的 SQL 层)

NoSQL 的工作方式与普通 (My)SQL 的工作方式不同,因此您可能需要在做出选择之前先阅读内部工作原理。

在 POC 中进行彻底比较,看看什么最适合您的用例。

关于mysql - 在 mongoDb、Mysql 和 hadoop 之间做出选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35502146/

相关文章:

MySQL如何将值舍入到ceil

node.js - Mongoose/MongoDB TTL 通知?

hadoop - 使用 Apache Flume 收集 CPU 时间日志

java - 如何从两个CSV读取值并在Spark Java API中对其列进行黑白操作?

php - 如何避免CodeIgniter中的 "mysqli_num_rows() expects parameter 1 to be mysqli_result, object given"

mysql - 如何在codeigniter中使用数据库中的sha1()密码登录?

php - 使用php将mysql表合并到一个表中

MongoDB - distinct and count,最简单的情况

mysql - 如何在 MySQL 中使用 passport-facebook?

hadoop - 在配置单元中删除表命令