我正在尝试用Go编写一个小型的webapp,用户以多部分的形式上传一个gzipped文件。该应用程序解压缩和解析文件,并将一些输出写入响应。但是,当我开始写入响应时,我一直遇到一个错误,输入流看起来已损坏。不写入响应解决了问题,从非gzipped输入流进行读取也是如此。gzip.NewReader(part)
//Strings read from the input
我计划在任何时候只保留当前的每小时表和前一小时的表,因为旧的数据对我来说并不重要。
对于ex。每个每小时的表将增长到最大7-8 gb,并且查询是高度并发和面向写入的(10:1写入:读取,每秒20000次写入,平均每秒2000次读取)。由于数据的大小很小(在我的数据库中最大为10 go ),并且所有查询都是计数器增量,我应该使用像Cassandra(计数器列)这样的键值存储,还是像Redis这样的内存数据库。(我计划对数据库进行分区,以分担巨大的