Как часть нашей исследовательской группы, мы собираем большое количество данных о местоположении. Наши данные в основном выглядят как (идентификатор пользователя, координаты широты и долготы, временная метка). Есть и другие метаданные, но здесь это не актуально.
Мы собираем около 2-3 миллионов записей в неделю и рассчитываем собрать данные за год в свое время.
Мне бы очень хотелось получить несколько советов по технике хранения и обработки этих данных. Мы хотели бы иметь возможность отвечать на вопросы, подобные:
(1) Для данного места, кто находился рядом с этим местом (в пределах указанного расстояния) в течение определенного периода времени?
(2) Какие места находятся рядом друг с другом?
Это общая идея. Нам не нужен ответ в реальном времени, но что такое хорошие базы данных (или другое программное обеспечение для хранения данных)? Я встречал людей, говорящих о k-d деревьях, это работает в таком масштабе? Какое оборудование мне нужно? Я надеюсь получить указатели на общие стратегии. Как мы храним эти данные? Имеет ли смысл хранить все это в базе данных? Какие данные / программное обеспечение / пакеты хорошо подходят для расчета расстояния / радиуса?
Мы наиболее знакомы с Python / Linux, предпочли бы держаться подальше от Java и предпочитать открытое / бесплатное программное обеспечение. Мы новички во всем этом, ссылки на книги и бумаги также будут полезны. Все и любые советы будут очень полезны.