- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我需要存储每隔几分钟从 10000 多个节点(可能会增加)生成的遥测数据,每个节点都通过 Internet 将数据提供给服务器进行日志记录。我还需要从 Web 应用程序查询此数据。
我在决定最好的存储解决方案是什么时遇到了一些麻烦..
每个节点都有一个唯一的ID,每个变量包都会有一个时间戳。 (可能需要由服务器生成)。
遥测数据在同一个数据包中包含所有变量,因此从概念上讲,它可以很容易地存储在单个数据库表中,每个变量一列。序列号+时间戳足以作为 key 。每个遥测数据包的大小为 64 字节,包括设备 ID 和时间戳。所以每年大约 100Gb+。
我希望能够查询数据以获取跨时间范围的变量,并存储此数据的汇总报告以便绘制图表。
现在,如何最好地处理这个问题?我对使用 MySQL 非常熟悉,所以我倾向于这个。如果我要使用 MySQL,为每个设备 ID 设置一个单独的表是否有意义? - 这会使查询速度更快还是拥有 10000 个表会成为问题?
我不认为需要一次性查询所有设备的变量,但可能需要。或者我是否应该将所有内容都放在一个表中,如果它变得非常大,则使用 MySQL 集群?
或者有更好的解决方案吗?我一直在查看一些非关系数据库,但看不到任何完全符合要求或看起来非常成熟的东西。例如,MongoDB 每行会有相当多的大小开销,而且我不知道与 MySQL 相比,它在大时间范围内查询单个变量的值时效率如何。 MySQL 也已经存在了一段时间并且很健壮。
我还希望能够轻松复制和备份数据。
任何想法或如果有人做过与您输入的类似的事情,我们将不胜感激!
最佳答案
你看过time-series databases了吗? ?它们是为您描述的用例而设计的,并且由于内置数据折叠和压缩,实际上最终可能会在空间需求方面更加高效。
我建议研究使用 HBase 或 Cassandra 进行原始存储的实现,因为它可以为您提供经过验证的异步复制功能和吞吐量。
HBase 时序数据库:
关于mysql - 存储来自 10000 个节点的遥测数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10524416/
用普通 Cordova 启动了一个项目。此消息不断出现: You have been opted out of telemetry. To change this, run: cordova tele
背景: 我正在处理一个非常古老的应用程序,它很少且间歇性地生成异常。 当前的做法: 通常我们程序员使用全局异常处理程序来处理罕见的未知数,像这样连接: [STAThread] [SecurityPer
我使用此代码通过 TelemetryClient 记录异常: var appInsightsRoleName = "tracking"; var telemetry = new ExceptionTe
Android 版本。 > 4.3标准安卓信标库估计信标。Eddystone-UID包遥测包。 我正在尝试从 Eddystone-UID 包传输的遥测包中读取温度传感器传输。根据 Android Be
我按照此 Microsoft article 设置了使用 Azure 的 Application Insights 在 IIS 上运行的本地 .NET 应用程序 。而且效果一直很好。 据我了解,这是一
我刚刚 fork 了新的 mapbox 库并试图将它作为一个模块添加到我的项目中。主要问题是 gradle 在同步时出错,因为我无法访问遥测 2.0.0-SNAPSHOT Error:Could no
我想在 Application Insights 的请求事件中包含 header ,并找到了以下帖子,其中包含针对具有 HttpContext 的应用程序的解决方案。我正在使用 Nancy 应用程序,
我需要使用遥测向 QnA 用户发送有关我的 Azure 机器人见解的问题和答案。已经尝试过本教程: https://docs.microsoft.com/en-us/azure/bot-service
我是 Azure Application Insights 的长期用户,并且经常使用 TelemetryClient 的 TrackTrace() 和 TrackException()我编写的每个企业
我们在 AKS 中托管了一个小型 API,它是使用 .Net core 2.2 编写的。它一直运行良好,我们已经在 Azure 门户中看到了我们所有的 App Insights 遥测数据,如预期的那样
我是一名优秀的程序员,十分优秀!