Хранение 20 миллионов записей с отображением в структуре данных Java - PullRequest
0 голосов
/ 25 сентября 2019

Я пытаюсь сохранить 20 миллионов записей в памяти / структуре данных в Java.

Для каждой записи у меня есть имя пользователя (строка), его имя приложения (строка) и 4 других целочисленных атрибута.для каждого имени приложения.Имена приложений являются общими для всех имен пользователей.Для каждого пользователя существует 300 таких имен приложений.

Это означает, что каждое имя пользователя сопоставлено с 300 именами приложений.Каждое имя приложения имеет 4 целочисленных атрибута, которые регулярно обновляются.

Я пытаюсь найти структуру данных, которая позволяет мне хранить эту большую часть данных в памяти.

У меня есть 32 ГБ ОЗУ для запуска Java-приложения.

Мы попробовали 1 D массив с хэш-картой, 2 D массив с отображением, но в итоге они используют почти 60-70 ГБ данныхна 10 миллионов записей.

Мы более склонны использовать структуру данных в памяти, а не использовать какую-либо базу данных или решение без кучи памяти.

Может ли кто-нибудь помочь, предложив наилучший способ хранения?так много данных.

...