РИТ++ 2017 завершён. Ждем вас на Highload++ Junior 2018! Подать заявку на доклад

BigMemory - работа с сотнями миллионов бизнес-объектов в управляемых средахПринципы масштабирования

Доклад принят в программу конференции
Дмитрий Хмаладзе
Agnicore

20 лет опыта работы как в собственных IT-стартапах в Америке, так и в консалтинге клиентов списка Fortune 500. Galaxy Hosted - пионер SaaS в сфере мед. услуг в 1998; 15 лет исследовательской работы; языки программирования, распределенная архитектура, программирование и архитектура систем, C/C++,.NET, Java, Android, IOS, Web design, HTML5, CSS, JavaScript, RDBMSs and NoSQL/NewSQL.

Тезисы

Наш доклад описывает способ использования больших объемов памяти, которые стали доступны в последние годы. К сожалению, эта память обычно остается незадействованной в управляемых средах исполнения в связи с принудительной сборкой мусора. Разработчики прибегают к внешним хранилищам данных ( i.e Memcached), что несет дополнительные расходы.

Описываемый нами способ BigMemory Pile обкатан и применим для большинства современных приложений, связанных с социальными графами, обработкой потоков, IoT, stateful-алгоритмов/анализ, системами кэширования и отслеживания причинно-следственных связей.

BigMemory Pile основан на прозрачной сериализации нативных объектов среды исполнения с сохранением данных в пред-аллокированных массивах большого размера, тем самым достигается "невидимость" объектов предметной области для сборщика мусора.

Практичность подхода BigMemory заключается в том, что приложение обеспечивает надежную пропускную способность и время отработки, полностью устраняя паузы сборщика мусора, позволяя вести разработку на нативных объектах ООП (классы, полиморфизм, графы), при этом, несмотря на сериализацию, приложение обрабатывает больше запросов в секунду, чем хранение данных в виде объектов или во внешнем хранилище.

Прочие языки
,
Базы данных / другое
,
Организация системы кеширования
,
Распределенные системы
,
Архитектура данных, потоки данных, версионирование

Другие доклады секции Принципы масштабирования