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