Я думаю, что у меня есть простая проблема, но я борюсь с ней в течение последних нескольких дней.Короче говоря, вот его описание:
- У меня ежедневно около 1 миллиона новых записей, каждая запись состоит из
record_name
(строка, около 20 символов), date
, value
, записи хранятся около двух лет (~ 700 млн записей в базе данных); - большинство
record_names
повторяются каждый день; - Мне нужно иметь возможностьчтобы найти наибольшее значение прироста между указанными датами, сохраняя при этом возможность фильтровать результаты путем подстановки
record_name
; - программного обеспечения, работающего с этим, должно работать в Windows XP.
- самое важное - время выполнения каждого запроса.
До сих пор я пробовал базу данных MySQL и Cassandra.В то время как MySQL имеет довольно приемлемую производительность в Linux (под приемлемым я имею в виду, что мои не очень высокие навыки были достаточны для программирования чего-то, что работает), в Windows это очень медленно.То же самое и с Кассандрой.
Данные, которые вставляются в эти базы данных, импортируются из файлов .csv.Первый импорт занимает около 5 минут для MySQL и 20 минут для Cassandra, последние занимают больше времени.Я подозреваю, что, возможно, я что-то неправильно настроил, но, если честно, я ничего не изменил в файлах конфигурации, связанных с производительностью.
Вопрос : какое решение лучше всего подходит для работы с данными такого типа, учитывая производительность.Язык программирования не важен, почти любой будет работать, поскольку запросы просты, и их реализация на любом из языков не займет много времени.
Большое спасибо за интерес к помощи.