В настоящее время я работаю над проектом, основанным на Android. Не вдаваясь во многие подробности, программное обеспечение будет работать на настраиваемом устройстве. Аппаратное обеспечение никогда не изменится и всегда будет одинаковым. Это определенный плюс:)
С учетом сказанного, этот проект требует от нас хранения загрузок и нагрузок данных на устройстве. В некоторых таблицах выше 3 м строк. SQLite обрабатывает это множество строк просто отлично для нас, проблема возникает, когда мы начинаем делать сложные объединения, чтобы вернуть все необходимые нам данные. Мы думали о денормализации базы данных, но опасаемся, что это приведет к тому, что база данных окажется вне сферы использования.
Мы изучаем использование объектно-ориентированной базы данных, например db4o или NeoDatis. Мы надеемся, что, сохранив объекты, мы можем избавиться от наших отношений на уровне строк и сохранить их на объекте (точно так же, как ООП). Проблема в том, что мы не смогли найти тесты производительности (по крайней мере, не последние) этих ODB, запущенных и используемых на Android.
Есть ли у кого-нибудь опыт работы с OODB на Android и/или с хранением и доступом к этому большому количеству данных? Если да, то любые советы, которые вы могли бы предоставить, были бы с благодарностью.
- Изменить
Вот пример проблемы, с которой мы сталкиваемся. Это не связано с нашим приложением (мой NDA говорит, что я не могу опубликовать ничего конкретного), но этот пример хорошо отражает проблему.
Представьте, что мы создаем приложение для наблюдения за каждым автомобилем, который ездит на Тернпайке в Нью-Джерси в любой момент времени. Для любого данного автомобиля нам нужно отслеживать автомобиль Make and Model, сколько людей в машине и что такое демографические данные людей в машине. Таким образом, в основном вы получаете данные, которые выглядят примерно так:
автомобиль
id | цвет | make_id | in_toll_lane | model_id
сделать
id | имя
модель
id | имя | make_id
car_person
id | возраст | секс | is_driver | car_id
toll_lanes
id | cars_in_line | ideal_cars_in_line | ideal_occupants
Эти данные будут часто меняться. Это также будет довольно большим, так как нет сомнений в том, что многие люди едут по NJ Pike в любой момент времени.
С этими данными мы должны иметь возможность выстрела, по требованию, любого, кто едет на щуке. Нам также нужно иметь возможность сделать снимок всех мужчин, которые едут, или всех женщин на магистрали. Мы также должны иметь возможность искать по возрасту, полу, марку, модели и т.д.
Теперь представьте себе, что нам нужно выяснить, на какой дорожной дорожке должен попасть каждый автомобиль, в зависимости от количества людей в автомобиле, идеального числа пассажиров, количества автомобилей уже в очереди и идеального количества автомобилей, которые должны быть в очереди.
Это очень простой пример, хотя и довольно репрезентативный из нашей проблемы.
- Редактирование конца
Спасибо заранее!