База данных в памяти для рекомендаций mahout

В последнее время я работаю на mahout. Текущая версия поддерживает входные данные из файлов, MySQL и т. д. через свои модели данных. В моем случае необработанные данные находятся в базе данных Postgres на стороне клиента. Необработанные данные требуют серьезной предварительной обработки перед подачей в модель данных mahout. В настоящее время я сохраняю уточненные данные в виде простого файла *.csv и загружаю его в Mahout, используя встроенную FileDataModel.

Можно ли использовать базу данных в памяти для фактического хранения уточненных данных и загрузки их в Mahout, используя существующий MySQLJDBCDataModel/JDBCDataModel? . Если да, то какая БД в памяти подойдет для этой цели?


person Betafish    schedule 06.04.2016    source источник


Ответы (2)


sqllite3 довольно часто является базой данных goto в памяти, и по уважительной причине это одна из самых закаленных в боях баз данных, которую можно найти буквально везде. Используемый вами браузер, скорее всего, использует его. У него есть опция в памяти, которая довольно прямолинейна. Даже на диске это также быстро.

Большинство баз данных с достаточным объемом оперативной памяти в любом случае эффективно загрузят большую часть ваших данных в оперативную память. Я долгое время использовал PostgreSQL в качестве серверной части для поисковой системы, и в основном доступ был к ОЗУ, и при чтении почти ничего не попадало на диск. Если у вас уже есть база данных в PostgreSQL, может быть проще сохранить ее там.

person Harry    schedule 06.04.2016

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

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

person Steven Graves    schedule 06.04.2016