Теперь у нас есть проект Java с базой данных PostgreSQL при загрузке Spring 2 с Spring Data JPA (Hibernate).
Требования к новой архитектуре: На N компьютерах у нас есть рабочее место.Каждое рабочее место использует одну и ту же программу с различной конфигурацией (настроенный клиент для перераспределенной базы данных).Количество компьютеров не велико - количество 10/20 компьютеров.База данных должна быть масштабируемой (много данных может храниться на диске ~ 1/2 Тб).Каждый день до 1 миллиона строк могут быть вставлены в базу данных с одного рабочего места.Каждое рабочее место работает с перераспределенной базой данных - это означает, что каждый узел должен иметь возможность чтения / записи данных, измененных друг другом.И принять какое-то решение на основе данных, измененных другим рабочим местом во время выполнения (Транзакционный).Хранилище данных (дисковый архив базы данных) должно быть в состоянии архивировать и копировать как резервный снимок.Проект должен быть переносим на новую архитектуру с Spring Data JPA 2 и резервное копирование базы данных с жидкой базой.Работает на Windows / Linux.
Краткий обзор показывает, что наиболее популярной распространяемой БЕСПЛАТНОЙ базой данных в настоящее время являются: 1) Redis 2) Apache Ignite 3) Hazelcast
Мне нужна помощь в пониманиичтобы архитектор описал систему.Прежде всего, я пытался использовать Redis и зажигать.Redis запускается легко - но работает как простой IMDG (в сетке данных памяти).Но мне нужно хранить все данные в постоянной базе данных (на диске, как, например, воспламенять постоянство).Есть ли способ использовать Redis с существующей базой данных PostgreSQL?Postgres синхронизируется со всеми узлами, а Redis использует в кеше памяти свежие данные, создаваемые каждым рабочим местом.Каждые 10 минут данные сбрасывались на диск.1) Это возможно?Как?
Также я пытался использовать Ignite - но мой проект работает с весенней загрузкой 2. Spring data 2. И последняя выпущенная версия Ignite 2.6, а поддержка data data 2 появится только в apache ignite 2.7!2) Я должен загрузить версию 2.7 для ночной сборки, но как я могу использовать ее в своем проекте?(нужно установить в локальный репозиторий Maven?)
3) И в конце концов, какая архитектура будет лучшей в этом случае?Поставщик хранилища данных хранит постоянные данные на диске, синхронизируется с каждым рабочим пространством в кэш-памяти и сохраняет данные в памяти на диск по таймауту?Какое решение будет лучшим и какую базу данных мне выбрать?(может быть что-то работает с существующим PostgreSQL?)
Thx)