社区
C++ 语言
帖子详情
高分求数据存取的一个问题
flymood
2010-10-11 06:30:56
有台工控计算机,1G内存,4G的硬盘(闪存卡)。这台机器是用来做实时采集的,有1万多个采集点。现在要把这1万多个点,1秒钟存一下,能够存放最近15天的数据,就是滚存的意思。现在我在犹豫,是用access文件,还是mysql,还是二进制文件实现这个存储功能。由于别的机器可能会召唤这些数据,还有考虑取的效率。
各位兄弟有什么好的建议没?
...全文
116
18
打赏
收藏
高分求数据存取的一个问题
有台工控计算机,1G内存,4G的硬盘(闪存卡)。这台机器是用来做实时采集的,有1万多个采集点。现在要把这1万多个点,1秒钟存一下,能够存放最近15天的数据,就是滚存的意思。现在我在犹豫,是用access文件,还是mysql,还是二进制文件实现这个存储功能。由于别的机器可能会召唤这些数据,还有考虑取的效率。 各位兄弟有什么好的建议没?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
flymood
2010-10-16
打赏
举报
回复
[Quote=引用 16 楼 yutaooo 的回复:]
晕,我推荐的berkeley db怎么就不考虑呢?这个就是嵌入式数据库,而且是最成熟最好的一个。
虽然名气不响亮,但是,你要知道,早期的mysql就建立在bdb的基础上。直到bdb被oracle收购。
我对工控是比较熟悉的,相信我,一定是不希望用企业级数据库的。免维护是个相当大的需求。
[/Quote]
比较了几种数据库后,发现berkeley db还真是不错。虽然中文资料没有sqlite等多,但是oracle官方的资料还是比较全。谢谢你的推荐。
flymood
2010-10-16
打赏
举报
回复
多谢兄弟。我这几天正在研究berkeley db和sqlite,还有Firebird。以前没用过嵌入式数据库,看了些资料后,发现这些数据库真是好东西。哈哈。
flymood
2010-10-15
打赏
举报
回复
就这样吧。也没是好办法,我研究研究嵌入式数据库。
yutaooo
2010-10-15
打赏
举报
回复
晕,我推荐的berkeley db怎么就不考虑呢?这个就是嵌入式数据库,而且是最成熟最好的一个。
虽然名气不响亮,但是,你要知道,早期的mysql就建立在bdb的基础上。直到bdb被oracle收购。
我对工控是比较熟悉的,相信我,一定是不希望用企业级数据库的。免维护是个相当大的需求。
ayw215
2010-10-12
打赏
举报
回复
这么点内存和硬盘,用啥mysql啊,用SQLite
job82824
2010-10-12
打赏
举报
回复
那就用SQLite吧。硬盘不够用的话可以考虑挂载个usb的硬盘专门用作数据存储。
猫已经找不回了
2010-10-12
打赏
举报
回复
我觉得硬盘可能不够。
10000*3600*24*15约有1*10^10的数据,假设每个数据只是一个int型4字节数据,那么你要存的总量为40G。
硬盘够吗,你这种存取,Mysql等数据库肯定没问题,但是硬件倒是问题。
fengbingchun
2010-10-12
打赏
举报
回复
用oracle吧
flymood
2010-10-12
打赏
举报
回复
[Quote=引用 9 楼 job82824 的回复:]
你的硬盘也太小了点儿。
40k*3600*15=2G。
15天的数据最紧凑存储也要2G了。还有操作系统的1G文件,外加虚拟文件1G刚好全部占完?你这个系统可能xp跑着会很悬的......要是再装数据库的话还要占空间的。
可以考虑直接二进制文件的--掉电数据不丢失。
干脆再弄一台服务器来好了。让工控机给数据库服务器发包存储,这样不是更好些吗?
[/Quote]
其实这台机器工控机都算不上,因为cpu很弱,是moxa的powerpc,平常就是用来做电力规约解析。就是采集电力设备的数据,规约转换后送向远方的服务器。现在要考虑的是到远方的通讯有可能中断,在中断其间,这些数据要存储在本地,通讯恢复后,再把这些数据再送给远方的服务器,存进历史数据库。
由于不是一般的机器,存储用的不是普通硬盘,就是闪存卡,原来是1G,但是moxa黑啊,换个4G的,竟然要1000多,市场上4G的闪存卡多便宜啊,但是没办法,这是moxa专用的接口,其他卡插上没用。再加机器也是不可能的,这台机器是在标准机柜上装着呢,没空间加其他机器了。
这台机器其实本来跑的是嵌入式linux,但是现场用的都是opc规约,就装了个裁剪过的xp。
job82824
2010-10-12
打赏
举报
回复
你的硬盘也太小了点儿。
40k*3600*15=2G。
15天的数据最紧凑存储也要2G了。还有操作系统的1G文件,外加虚拟文件1G刚好全部占完?你这个系统可能xp跑着会很悬的......要是再装数据库的话还要占空间的。
可以考虑直接二进制文件的--掉电数据不丢失。
干脆再弄一台服务器来好了。让工控机给数据库服务器发包存储,这样不是更好些吗?
job82824
2010-10-12
打赏
举报
回复
10000个浮点型就是39k左右,数据量很小嘛。1秒存一次间隔还是很长的。Access可以用,但肯定不如mysql的好。如果滚动存储的话不妨采用硬盘数据缓存。每次实时采样时都存储在硬盘缓存文件上,等到采样中止或者完成后才录入数据库当中。
如果用Access的话,不要实时写入,那样的话文件指针会越来越大的。就用上面的方式,每隔一定周期写入一次。写入后就压缩。
flymood
2010-10-12
打赏
举报
回复
顶上去,都来看看啊。
flymood
2010-10-11
打赏
举报
回复
多谢楼上几位。
后续还是把存的数据提出来,按数据点和时间传送给远方的程序,远方的程序再存进oracle。这机器上就是简单的存储。不需要分析等其他功能。
Defonds
2010-10-11
打赏
举报
回复
mysql,实用,利于维护,后期数据移植也不错
hmg25
2010-10-11
打赏
举报
回复
二进制文件,后期进一步处理麻烦,建议还是mysql
cattycat
2010-10-11
打赏
举报
回复
access肯定不行,用mysql,数据增大时,可以对表划分区,性能好。
yutaooo
2010-10-11
打赏
举报
回复
这个关键看你还有什么应用需求。后续的统计,分析工作如何展开。如果,只是暂存,将来会转储到企业级数据库,比如DB2,Oracle,SqlServer,MySQL,那么,文件吧。简单实用。
如果,后续应用比较简单,分析功能比较弱,我推荐一下berkeley db。
access,mysql我不推荐。原因是,需要后续维护,要求数据库专业知识。对于工控来说,最好是免维护。
javaGui实现银行管理系统源码+
数据
库(高分大作业).zip
javaGui实现银行管理系统源码+
数据
库(高分大作业).zip功能 首先从登陆页面登陆或者注册登陆,就可以看到银行职员管理,可以实现添加修改删除, 客户账户管理也是可以实现添加修改删除,
存取
贷业务管理是可以在客户账户管理中右键客户进行操作的。 业务查询是根据客服账户管理中的办理业务存储的
数据
库读取来的 银行排队管理,可视化分为VIP窗口和普通窗口,可以实现取号叫号打分 银行网点查询,可以增删改,查询信息,导航 这次大作业,我们使用的是java的gui工具包swing模块进行编写,满足了老师要求的几个要点。存储上
数据
使用了mysql
数据
库,较于文件存储是比较方便高效的。 使用的是jdk16,运行时请检查是否导入jar包! 感谢李恒武老师教授的课程提供的这次大作业机会让我能更好的了解到自己的缺点与不足,接下来我会更努力的学习,不辜负老师的期望。李恒武老师教授的课程深入浅出,让我学到了很多很多。 javaGui实现银行管理系统源码+
数据
库(高分大作业).zip功能javaGui实现银行管理系统源码+
数据
库(高分大作业).zip功能javaGui实现银行管理系统源码+
数据
库(高分大作业).
全息光盘存储器的
数据
存取
与像素匹配
全息光盘存储(HDS)技术作为一种非常具有潜力的新型信息存储技术, 是下一代光盘发展的目标。在全息光盘存储系统中, 为了实现
数据
精确快速地写入和读出, 降低误码率, 需要在整个高分辨率页面上实现空间光调制器(SLM)与光电阵列耦合器(CCD)之间1∶1像素匹配。在体全息存储理论和光学设计理论基础上, 研究实现SLM和CCD像素1∶1匹配的方法, 提出了实现像素匹配的要求和条件, 并且按照此要求完成该全息光盘存储器的光学系统。实验中, 分别使用随机
数据
掩膜版和SLM实现了对CCD的512×512精确像素匹配, 在光学系统中引入存储介质条件下, 图像质量良好, 掩膜版和SLM原始误码率分别为2.5×10-4和1.5×10-4。
软考高项论文50分秘籍——心法篇
讲师以52分和53分通过论文,2次高分通过,方法论经得起考验
基于ARM+FPGA高分辨率液晶显示系统的设计与实现
结合ARM操作灵活和FPGA实时处理的优点,提出采用ARM+FPGA结构驱动高分辨率RGB888液晶显示屏。ARM接口丰富、操作灵活可以满足客户操作方便的需求;FPGA模块采用FPGA+DDR形式,
数据
存取
速度达到400 MB/s可以满足画面刷新速度较快的需求;FPGA操作DDR方式采用双端口64 bit模式,设计32 bit
数据
读取宽度,实现RGB888
数据
无失真显示。
高分辨率视频图像处理中 SDRAM 控制器的设计
摘要:本文介绍了一种基于FPGA的用于高分辨率视频图像处理的SDRAM控制器的设计方法。通过设置SDRAM的工作状态,使其工作在猝发模式。在视频时序信号控制下,用多行连续的SDRAM存储空间,
存取
视频
数据
。并在
数据
接口部分增加FIFO,缓存一行视频,在像素时钟控制下,实现视频
数据
实时的存储和读取。通过改变相关参数,能对所有VESA分辨率视频流进行操作。具有通用性强、系统复杂度低、可靠性高、可扩展等特点。在某型号的机载大屏显示器系统中,用该SDRAM控制器实现了图像的翻转等功能,也验证了该控制器的实用性。 0 引言 随着人们对视频图像的清晰度和细节显示要求的不断提高,高分辨率、高bi
C++ 语言
64,683
社区成员
250,491
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章