Я пытаюсь сохранить 20 миллионов записей в памяти / структуре данных в Java.
Для каждой записи у меня есть имя пользователя (строка), его имя приложения (строка) и 4 других целочисленных атрибута.для каждого имени приложения.Имена приложений являются общими для всех имен пользователей.Для каждого пользователя существует 300 таких имен приложений.
Это означает, что каждое имя пользователя сопоставлено с 300 именами приложений.Каждое имя приложения имеет 4 целочисленных атрибута, которые регулярно обновляются.
Я пытаюсь найти структуру данных, которая позволяет мне хранить эту большую часть данных в памяти.
У меня есть 32 ГБ ОЗУ для запуска Java-приложения.
Мы попробовали 1 D массив с хэш-картой, 2 D массив с отображением, но в итоге они используют почти 60-70 ГБ данныхна 10 миллионов записей.
Мы более склонны использовать структуру данных в памяти, а не использовать какую-либо базу данных или решение без кучи памяти.
Может ли кто-нибудь помочь, предложив наилучший способ хранения?так много данных.