0

我正在从事一个自由项目,该项目捕获音频文件,运行一些傅立叶分析,并吐出三个图表(xy 图)。每个图表都有大约 3000 个数据点,我计划在浏览器中使用 High Charts 显示这些数据点。

您推荐哪些数据库技术来存储和访问这么多数据?我应该将点存储在数组中还是多行中?我也在考虑Mongo。计划是使用 Rails,所以我希望使用单个数据库来进行数据和身份验证。

我还没有处理过为单个页面访问这么多数据的查询,而且这很可能是一小部分数据。此外,这是一个向投资者展示的 MVP,因此将其扩展到巨大的水平并不是当务之急。

我最初的想法是,使用 Postgres 并拥有一个大的数据点表,每行存储,就可以了,而且相对于图像等而言,一堆双精度数不会太占用内存。

实际上,我可能只提取 100 个均匀分布的数据点来制作图表,但仍必须存储原始数据。

4

1 回答 1

0

我做了很多 Mongo 的工作,我可以告诉你如果我是你我会做什么。

关于您的数据的一个非常好的属性是 x,y 坐标通常具有固定大小。换句话说,您不是在存储来自用户的评论,这些评论的大小可能会有很大差异。

使用 Mongo,我首先会制作一个包含 3,000 个点的示例文档。只是一个简单的 x,y 点数组。我会看到该文档有多大以及我的前端如何处理它 - 换句话说,High Charts 可以处理它吗?

我也会尝试坚持最容易管理的概念模型,即每个图表一个文档,每个图表有 3k 个点。这是考虑数据的一种自然方式,我会从那里开始,看看是否有任何性能影响。Mongo 可以轻松地存储这些文档,所以我认为最大的痛苦在于渲染数据的 UI。

Mongo 会很好地处理身份验证。我认为这是 MVP 通用数据存储的不错选择。

于 2013-02-02T05:41:33.993 回答