我正在设计和实现应用程序的数据层。做了一些基础研究,发现 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/