核心数据中的时间序列建模

时间:2010-07-15 12:53:16

标签: performance core-data data-modeling

我正在考虑编写一个处理时间序列数据的应用程序,并希望将繁重的数据工作转移到Core Data中。我的问题是 - 从检索速度和操作简便性的角度来看,建模实体会更好吗,或者将时间序列数据点“存储”为可存储为可转换对象的数组可能更容易(或称其中的任何内容)在Core Data对象中。

例如,假设我有一个时间戳和一个仅与一个对象相关联的观察,我可以将对象建模为一个实体,一个数据点(带有属性时间戳和观察)作为另一个,并通过一对多。我的“不知情”的直觉是,这可能最终导致性能问题,因为更多的对象及其相应的数据点被添加,因为检索数据点实际上类似于过滤掉来自大量数据点的所有实体。 relationship表示它们链接到目标对象。我误解了这是如何工作的吗? Core Data是否在后台更智能地管理它并且有一些聪明的方法来查找内容,以便在数据点数量增加时性能不会降低? (我假设整个事情在后台缩小为一个非常大的表,对象作为键,每个时间戳/观察一行有很多行。)

我可能解决这个问题的另一个想法是简单地将时间序列设为一堆数组或字典元素,然后将数组/字典保存为对象本身的属性。据我所知,这会夺走一些核心数据查询功能,并可能使用户界面不那么“神奇的自动化”。

对此的任何意见都将不胜感激。

谢谢 - C。

1 个答案:

答案 0 :(得分:0)

有关于将时间序列数据存储在Core Data sqlite商店中的讨论:http://www.cocoabuilder.com/archive/cocoa/182936-optimizing-core-data-for-large-time-series.html