对于学校项目,我们需要存储大量天气数据。每秒应该插入8000行。还需要使用过滤器,组,排序和限制来快速查询这些数据。
但是我们不允许使用现有的数据库管理系统,例如mySql或Mongo。
当前,我们正在考虑每秒创建一个新文件,每个文件有8000行。仅从所有这些文件中读回数据以生成前十名列表将不是很快。因此,快速查询是主要问题。
欢迎任何建议。
编辑:
我们需要每秒存储8000行,其中包含来自我们收到的xml文件的以下值。我们已经可以每秒在平面文件(CSV样式)中解析和存储8000个这些xml文件。但是我们无法进行任何快速查询。一个示例查询是:从最近的800万行中获取最高的100个温度。
<MEASUREMENT>
<STN>123456</STN>
<DATE>2009-09-13</DATE>
<TIME>15:59:46</TIME>
<TEMP>-60.1</TEMP>
<DEWP>-58.1</DEWP>
<STP>1034.5</STP>
<SLP>1007.6</SLP>
<VISIB>123.7</VISIB>
<WDSP>10.8</WDSP>
<PRCP>11.28</PRCP>
<SNDP>11.1</SNDP>
<FRSHTT>010101</FRSHTT>
<CLDC>87.4</CLDC>
<WNDDIR>342</WNDDIR>
</MEASUREMENT>
答案 0 :(得分:0)
如何使用SQLite?您可以将其嵌入到项目中并进行性能调整。 我还要在这里检查:https://en.wikipedia.org/wiki/Embedded_database
答案 1 :(得分:0)
尝试点击房子(https://clickhouse.yandex/):) 这有点用力过大,但是会非常快地工作!
编辑: 您不允许使用ANY数据库吗?如果是这样,则使用平面文件。