Автоматически Sharding Карта Java через несколько узлов

У меня есть проблема, где я должен собрать Карту, возможный размер которой находится в ГБ (идущий на прошлых 64 ГБ), и я не могу предположить, что у пользователя программы будет этот вид машины монстра бродящим вокруг. Хорошее решение состояло бы в том, чтобы распределить эту карту через многие машины для создания намного более скромного объема потребляемой памяти на экземпляр.

Кто-либо знает о библиотеке/комплекте инструментов, которые могут выполнить этот sharding? Я не забочусь о репликации или транзакциях; просто распространив это требование к памяти вокруг.

5
задан andeyatz 29 January 2010 в 17:20
поделиться

5 ответов

-

Я предлагаю начать с Hazelcast:

http://www.hazelcast.com/

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

Насколько я знаю, он выступает быстрее, чем коммерческие альтернативы, поэтому я тоже не буду беспокоиться о производительности.
(Я сам официально официально не сравнил)

2
ответ дан 14 December 2019 в 04:38
поделиться

Гигассоты DataGrid звучит как та, которую вы ищете. (Не бесплатно)

0
ответ дан 14 December 2019 в 04:38
поделиться

Должен ли это быть открытым источником? Если нет, Oracle Coherence может сделать это.

2
ответ дан 14 December 2019 в 04:38
поделиться

терракота может быть полезна, посмотрите здесь

http://www.terracotta.org/

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

3
ответ дан 14 December 2019 в 04:38
поделиться

Вы можете решить свою проблему, используя вместо этого базу данных, что-то вроде http://hsqldb.org/ может обеспечить необходимую функциональность, позволяющую записывать данные на диск, а не хранить все это в памяти.

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

1
ответ дан 14 December 2019 в 04:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: