Hazelcast: разница в распределении данных по разделам в IMap и ISemaphore - PullRequest
0 голосов
/ 20 апреля 2019

Я сомневаюсь из ссылки https://hazelcast.org/mastering-hazelcast/#controlled-partitioning

Там написано:

В Hazelcast есть два типа распределенных объектов.

Один тип - это действительно разделенные данныеструктура, как IMap, где каждый раздел будет хранить раздел карты.

Другой тип - это неделевая структура данных, такая как IAtomicLong или ISemaphore, где только один раздел являетсяответственный за хранение основного экземпляра .

Допустим, я поместил 500 записей в IMap, и я понимаю, что каждая запись может находиться в разных разделах.Теперь я поместил 500 записей в ISemaphore, тогда из приведенного выше абзаца по ссылке это означает, что все 500 записей будут идти в одном разделе?Пожалуйста, помогите мне понять IAtomicLong или ISemaphore, где только один раздел отвечает за хранение основного экземпляра.

Также хотелось бы понять, чем отличаются семафор и IMap, когда речь идет оРаспределение данных по разделам в Hazelcast?

1 Ответ

0 голосов
/ 20 апреля 2019

С IMap имеет смысл разделить структуру данных, потому что она обычно содержит много элементов (500 в вашем примере), и часто необходим одновременный доступ к элементам в любом месте карты.

Но данныетакие структуры, как ISemaphore и IAtomicLong, являются простыми объектами, а не коллекциями объектов - вы не можете добавить 500 записей в ISemaphore.Состояние семафора состоит из нескольких полей (количество, текущий владелец, имя, возможно, несколько других), и разбивать их на части и хранить их в отдельных разделах не имеет смысла.

Очередь интереснее, поскольку она содержит несколько элементов, но не является секционированной структурой данных.Вы можете добавить 500 элементов в очередь, но доступ всегда будет находиться впереди очереди (для чтения) или сзади очереди (для записи), поэтому распределение структуры данных по разделам на самом деле не обеспечивает улучшенного параллелизмакак это происходит с Map, Set, List и другими подобными коллекциями, доступ к которым осуществляется случайным образом.

...