【发布时间】:2014-01-27 06:50:58
【问题描述】:
改写的问题
是否有其他(通用)解决方案来记录将通过客户端 Web 应用程序使用的实时数据?
背景
我有一个在小型嵌入式 Linux 机器上运行的 Web 应用程序。它将有许多连接到它的子卡,用于监视/控制其他设备。有单独的进程运行以通过 Websocket 控制各种 IO 和与客户端的接口。由于用户的唯一界面是通过 HTML,检索数据、绘制数据等对我来说最有意义的是从数据库而不是原始文件系统中提取数据(我以前为富客户端软件做过)。
担忧
虽然我提出的模式最小化了数据库的大小,但LogSample 表很大是否存在性能问题?假设每天运行 8 小时的采样率为 1Hz:3600 samples * 8 hours * 10 LogValues = 288000 LogSamples / day。
建议的数据库架构
LogRecord
---------
+ Name
+ Start
+ Stop
+ Notes
- LogValues ----> LogValues
---------
+ Name
+ Units
+ Sample Rate
- Samples ----> LogSample
---------
+ Time Stamp
+ Value
地点:
- 带下划线的名称是独立的表格
-
---->表示一对多关系 - 采样率最高为 5Hz(目前计划为 1Hz)
- 时间戳将是一个整数,表示自开始时间以来的样本数
系统信息
最大连接用户数:15
数据库:sqlite3 或 PostgreSQL
操作系统:Ubuntu 13.04
Web 框架/ORM:Django
【问题讨论】:
标签: python database django web-services database-design