ТехноСаратов → Блог

Грид статья №2: распределенное хранение данныхБлогПрограммирование

В предыдущей статье я попытался рассказать о гридах в общем и о распределенных вычислениях в частности. Как я думаю из неё стало ясно, что грид технология это инновационное решение достаточно насущных … проблем, вызванных все более растущими потребностями к вычислительным системам.
Одним из прикладных двигателей этой технологии являются веб сервисы, думаю не для кого не секрет, что пользователей у сервисов миллионы, тем самым нагрузка, обьем данных просто огромен. Из всех проблем при поддержки этих сервисов на должном уровне, я хочу выделить обработку и хранение данных. Данные задачи довольно таки критичны к скорости и данные связанные с коротко срочным хранением, должны как-то с минимальными задержками обрабатываться и отдаваться пользователю с помощью наиболее незаметного для него механизма.
Как известно наиболее выгодная память из соотношения цена/скорость это оперативная память. Но любая машина имеет ограниченное число этой памяти, тогда как же организовать данное хранение наиболее простым способом? На помощь программистам приходит такой продукт, как gigaspace. Этот продукт является библиотекой для языка Java, правда не опен-сорс, но все же предоставляемой бесплатно, если ваш проект стоит менее 20.000 долларов. Она дает вам практически полноценную базу данных в оперативной памяти, причем хранить в ней можно все что угодно.

Приведу простой пример использования gigaspace:

Разберем пример немного по подробней:

здесь мы создаем переменную с адресом спейса куда будем записывать информацию. jini:// — указывай протокол по которому будет производиться подключение. URL_HOST — в этой переменной храним хост на котором поднят нод, запись может быть как числовой IP так и символьный адресс. /*/mySpace — дефолтовый спейс записанный для пример, в реальных программах адрес спейса состовляеться из двух частей: 1) название контейнера, который подставляется в место ‘*’ (‘*’ — маска используется для того, что бы не указывать название контейнера); 2) это имя конкретного спейса.


здесь мы создаем переменную с адресом составленным выше.

простая операция записи какого либо обьекта.

На сайте разработчиков можно найти полную карту по API библиотеки.
Достоверно известно, что eBay серьезно использует данную технологию и разработкой проектов на основе гридов занимаются наши земляки)
Надеюсь кому то хоть немного интересно)