问题标签 [historical-db]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
1904 浏览

sql-server - 用于极长期数据归档的技术解决方案?

对于极长期的数据归档,例如 25 到 100 年,是否有任何好的技术解决方案?

不知何故,我不太相信 SQL 2000 备份文件将在 25 到 100 年内用于法庭案件或历史学家。

这是客户的要求,而不仅仅是猜测。

这类似于尝试通过备份 ENIAC 或读取 Atari Writer 字处理文件来尝试做一些有用的事情。硬件不再存在,存储介质可能已损坏,使用该技术的专业人员可能不再存在,等等。

0 投票
1 回答
528 浏览

resources - PI historical database SDK resources

I'm looking for any third-party resources for programming the OSIsoft PI historical database SDK. Websites, books, etc. I already have what OSIsoft puts out.

0 投票
1 回答
84 浏览

sql - 历史数据和修改对象

我的应用程序从 JMS 主题接收对象树,并且必须仅保留那些出于历史目的而更改的对象。

例如,如果它接收到一个对象树,其中包含对象 A、B、C(根据它们的 id 已经存在于数据库中)按此层次顺序(A 包含 B,其中包含 C),但只有对象 C 发生了变化,只有该对象将存储在数据库中,为历史目的创建一个新条目

哪种解决方案最适合这种方法?哪些技术(Hibernate、JPA)可以帮助我实现这一目标?

0 投票
1 回答
241 浏览

cassandra - 对于 Cassandra 来说,历史数据应该如何处理?

假设我有十几个 CF/SCF,并且写入流量不断增加(可能有峰值)。随着时间的推移,其中一些会比其他人增长得更快(由于它们自身的性质),并且数据表可能会很大。在那个阶段,它们是否仍应与另一个 CF/SCF 坐在同一个磁盘上?如果由于存储数据量大,磁盘快满了怎么办?还是我们应该考虑引入额外的 CF/SCF 来存储历史数据?

一般来说,我们需要遵循哪些最佳实践来处理历史数据?

0 投票
2 回答
342 浏览

database-design - 如何存储历史服务器数据?

我正在寻找有关如何将数据存储在数据库中以进行历史数据挖掘的建议。如果我可以在给定时间获取实体的状态,那么存储它的最佳方式是什么,以便我可以历史地挖掘该数据,根据过去的状态预测状态可能是什么?

对于更具体的示例,我可以获得服务器的启动/关闭状态,以及该服务器的当前负载。我可以定期得到这个。我想存储这些数据,以便我可以轻松查询特定时间范围内的上/下状态或负载,或获取该服务器的整个历史记录。我在数据库设计方面没有太多经验(如果有的话)。

0 投票
2 回答
184 浏览

php - 历史存储公式(计算)

我有一个应用程序可以评估用户提交并根据各种公式为每个提交分配一个点值(所有人的统一费率,第一个“x”条目的统一费率,第一个“x”条目的降级值)。公式基于提交的类型(提交的类别决定了点值和用于计算所述值的公式)。

问题是客户希望历史地存储这些公式,以便对于任何给定的记录,他们可以查看用于计算点值的公式。

关于如何实现这一点,我有一些想法,但似乎没有一个是一个好的选择:

1) 将公式存储在 PHP 代码中并注释掉过去的公式,确保记下生效日期范围。

2) 每次更改公式时创建一个视图,并更新代码以使用新视图。请注意视图名称或代码中的生效日期。

3) 将公式存储在公式表中,为每个公式提供一个唯一的 ID,以及日期有效/停用值。

是否有另一种或更好的方法来实现这一目标?如果更新公式,前两个需要编写/更改大量代码,第三个需要解析并将公式存储在数据库中(我试图避免的事情)。

想法?

0 投票
2 回答
389 浏览

relational-database - 报告历史数据 - 何时使用当前或历史数据(警告用户更改记录的含义?)

这类似于这个问题

基本上我正在为建筑监控系统编写数据库和软件。该系统监控温度、湿度、设备(如冰箱)的压力等。

当为特定单元生成报告时,每个传感器都有一个带有传感器名称的列,读数如下。

我正试图决定它应该是阅读时的名字,还是现在的名字。

我目前认为应该是后者,因为我倾向于相信给定相同的(主)键,它唯一标识的数据的含义不应该改变,即使它的属性会改变。因此,任何名称更改都应仅用于更正或澄清,IMO,几乎就像名称本身是主键一样(我完全是自然键,但由于长度和可能需要拼写,我倾向于不使用名称更正 - 在这种情况下,虽然我有一个“SensorNo”字段(不是 ID),它是它正在监控的单元所独有的)。

无论如何 - 这意味着我确实可以使用当前名称,如果他们将传感器的名称从“Air”更改为“Food”,那么它应该在所有报告数据上显示“Food”,即使它显示之前的数据变化,这个变化的想法应该意味着它总是意味着“食物”,而不是“空气”——这是一个更正。

对于“上限”和“下限”(例如温度范围)等非“关键”数据,在报告时应使用历史数据,在这种情况下,因为它显示了传感器在测量时的温度范围。阅读。

您可能会说这类似于更改用户的全名:它仍然是同一个人,但他们可能会更改姓名,因此报告历史记录应始终显示人员的最新姓名,否则可能会出现混乱。

我的计划是允许用户更改名称,但首先警告他们其含义,并声明它只能用于更正。

人们对此有何看法?你如何处理这种情况?我也很想听听 Catcall的来信,他回答了这个问题。

(请注意,这不是关于如何存储历史数据的讨论,我对这方面已经很好了)。

0 投票
1 回答
154 浏览

mysql - MySQL 数据库设计用于存储具有国际化和历史支持的地理空间数据

我正在研究一个数据库模式来存储地理空间数据,我需要支持点名称和描述等字符串的国际化,并支持记录所有修改。

这是我当前的架构:

它工作正常,但是每次添加新语言时我都必须更新设计,并且在我更新一个翻译的情况下,我必须复制一整行......这会导致数据重复。所以为了避免我想把本地化的字符串放在另一个表中:

它有效,但我无法跟踪翻译的修改。

设计一个数据库的最佳方法是什么,该数据库存储对象及其属性的翻译和属性修改的历史。

0 投票
1 回答
48 浏览

mysql - 将历史数据附加到非历史表

我在 MySQL 中有两个具有相似结构的表,一个是更新的数据,另一个是该数据的历史记录,我需要对我们拥有的所有数据执行分析。我认为使用将所有数据聚合在一个表中的视图会很有用,但我不确定如何完成它。

0 投票
1 回答
54 浏览

java - 可以用SVN模拟历史管理吗?

介绍:

您好,基本上我需要做的是为一组文件模拟历史管理(在数据库历史管理方面),其中包含可编译和可执行的代码片段。

说明:

在数据库历史管理中,对象由其状态组成,这些状态由实际修改的日期决定。然后可以在给定日期获取对象以及该给定日期的当前信息。这是我试图为要执行的文件实现的行为。由于持久化项目文件最自然的方式是通过 SVN 产品,我想到这样的功能可能已经在 Subversion 或其他版本控制系统中实现。我需要的是 - 在给定的日期之前,并且可能是对 svn 服务器的请求,以接收我正在跟踪的文档的“正确”版本(根据日期)。

问题:

目前我正在使用 Subversion 和 TortoiseSVN,但我不熟悉高级功能并在这里寻求帮助。我可以从我的 java 代码中检索存储在我的 SVN 中的文件版本吗?

任何帮助将不胜感激,问候,

版本:

由于我的抽象解释似乎在这里不够理解,我将举一个例子。假设我的 SVN 中有一个文件 test.tgf。让这个文件由一个可执行的二进制文件和我的机器知道如何执行 .tgf 文件。在 SVN 中,我有该文件的 2 个版本 - 版本 1 包含将打印到控制台的代码“这是这段代码的第一个版本”,版本 2 包含将打印到控制台的代码“这是这段代码的第二个版本”。现在让我们假设我们有一个仅包含 2 个小部件的 GUI——一个日期输入和一个“计算”按钮。当用户输入日期并单击计算处理该事件的 java 代码时,必须检查日期是否小于等于 01.01.2010,如果是,则执行第一个版本的 test.tgf。否则,将执行的代码是 test.tgf 的第二个版本。我希望它更清楚不是。

米伦

结论:

是的,可以使用 SVN 模拟历史管理(就数据库历史管理而言)。谢谢波尔