我必须为独特的环境开发一个数据库。我没有数据库设计经验,可以使用每个人的智慧。物理硬件的数据库设计
我的团队正在设计一个物理硬件和数据采集系统的数据库。我们需要一个存储所有硬件配置参数的系统,并跟踪这些参数在用户更改时的变化。
的设置:
- 我们有近200检测器和与每个检测器相关联大约40的参数。在这40个参数中,我们预计在实验过程中只有少数参数会发生变化。与单个检测器相关的大多数参数都是静态的。
我们在定时运行中收集本实验的数据。在这些运行期间,加载到硬件中的参数一定不能改变,尽管我们应该能够随时编辑数据库以准备下一次运行。当前计划:
- 数据库将提供当前参数与上次运行期间使用的参数之间的差异。
- 在新运行开始时,最新的数据库更改将加载到硬件中。
- 用于即将到来的运行的设置必须标有运行编号和当前日期和时间。这是至关重要的。我需要运行实验设置的历史记录。
会有几个不同的客户端读写数据库。尽管对数据库的更改很少,但我不能保证这些更改不会同时发生。
- 必须是健壮的和不可腐蚀的。实验系统的配置取决于硬件。数据库的任何故障都会阻止数据采集,而且我们的时间非常昂贵。数据库备份?
我目前的计划是使用sqlite数据库实现上述要求,但我不确定它是否可以支持我所有的要求。还有其他技术我应该看看吗?有没有人做过类似的事情?我愿意学习任何技术,只要它是成熟的。
提示和建议是受欢迎的。
谢谢
肖恩
更新1:
数据库访问:
有可读写的数据库3个精简版应用程序和一个只能读取的应用程序。
具有写入权限的应用程序负责设置硬件参数的非重叠子集。具体来说,我们有一个应用程序(其中可能有多个副本)设置高电压,一个应用程序设置可能在实验期间改变的硬件参数的剩余部分,以及一个GUI设置参数的其余部分这几乎是静态的,并且只对数据的正确重建至关重要。
只有读取权限的程序是我们的数据分析软件。它需要访问数据库中几乎所有的参数,才能正确地将传入数据格式化为我们可以正确分析的内容。到数据库的连接数应该> 10。
备份:
在我们实验室的另一个设置转储每次运行的XML文件。尽管我不认为xml是合适的,但我打算每次运行都备份系统,以防万一。
你多久运行实验?它是每秒几次,每几分钟一次还是每天几次?你多久更换一次参数?每运行一次,或每运行1000次,或?这些可能会影响数据库的大小,从而影响实施。 – polyglot 2009-05-28 16:52:56