Моделирование временных рядов в базовых данных - PullRequest
1 голос
/ 15 июля 2010

Я смотрю на написание приложения, которое обрабатывает данные временных рядов и хочу перенести тяжелую работу с данными в Core Data.Мой вопрос заключается в следующем: с точки зрения скорости извлечения и простоты манипулирования, было бы лучше смоделировать сущности или, скорее всего, будет проще «хранить» точки данных временных рядов в виде массива, который я храню как преобразуемый объект(или как там это называется) в объекте Core Data.

Например, предположим, что у меня есть отметка времени и наблюдение, связанное только с одним объектом, я могу смоделировать объект как один объект, точку данных (с атрибутами отметки времени и наблюдения) как другой и иметьдва связаны через один-ко-многим.Моя «неосведомленная» интуиция заключается в том, что это может в конечном итоге привести к проблеме производительности, так как будет добавлено больше объектов и соответствующих им точек данных, поскольку получение точек данных фактически сродни фильтрации всех объектов из гигантского набора точек данных, для которыхотношение указывает, что они связаны с целевым объектом.Я неправильно понимаю, как это работает?Управляет ли Core Data более разумно в фоновом режиме и имеет ли какой-нибудь умный способ поиска вещей, чтобы производительность не снижалась с ростом количества точек данных?(Я предполагаю, что все сводится к очень большой таблице на заднем плане, с объектами в качестве ключа и множеством строк по одной для каждой отметки времени / наблюдения.)

Моя другая мысль, чтобы потенциально обойти проблему, состоит в том, чтобыпросто сделайте временной ряд связкой элементов массива или словаря, а затем сохраните массив / словарь в качестве атрибута самого объекта.Я понимаю, что это лишило бы некоторые функциональные возможности запросов к основным данным и может сделать пользовательский интерфейс менее «волшебной автоматизацией».

Будем весьма признательны за любые взгляды на это.

Спасибо - С.

1 Ответ

0 голосов
/ 02 февраля 2011

Здесь обсуждается хранение данных временных рядов в хранилище базовых данных sqlite: http://www.cocoabuilder.com/archive/cocoa/182936-optimizing-core-data-for-large-time-series.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...