使用MySQL来pipe理20 TB数据是否可行?
我正在一个项目中工作,我的工作是build立一个数据库系统来pipe理大约600亿个数据条目。 项目背景是我必须对大量每秒从大约30,000个RFID阅读器读取的消息进行实时存储。 假设每个RFID阅读器每天产生6000条消息,我必须将180,000,000条条目插入到数据库中。 一个可能的数据input就像“time_stamp,Reader_ID,Tag_ID,other_msg_content” 将根据时间范围,Reader_ID和Tag_ID进行查询(SELECT)。 查询不会很复杂。 现在我正在devise数据库系统,并计划使用MySQL。 我的转储问题是: 使用MySQL是明智的,还是应该使用Oracle(昂贵)或HBase? 如果我必须使用MySQL,任何想法如何build立群集? 如果我把消息插入一个表格,表格很快就会变长。 我想使用Sharding技术将长表拆分为许多短表。 3.A. 我想知道一个MySQL InnoDB表的正确长度,也就是说,在插入了多less条数据之后,我将开始分片? 3.B. 那里有没有好的分片代理解决scheme? 我知道spock代理和其他一些,需要build议。 我必须使用MySQL群集吗? 或者我只使用mysql主服务器和分片从服务器,并使用复制来实现高可用性? 假设我必须在MySQL中处理20TB数据(一年),我打算使用20个节点(PC服务器,便宜),并且每个节点存储1TB的数据,这有可能吗? 任何意见都欢迎。 非常感谢。