SlideShare a Scribd company logo
Apache Ignite.NET
Live Demo
Запустить кластер – просто!
▪ Самодостаточный NuGet пакет
▪ Никаких инсталляторов и конфигураций
▪ (Кроме Java Runtime)
▪ Одна строка кода: Ignition.Start();
Install-Package Apache.Ignite -Pre -Source https://www.myget.org/F/apache-ignite-net-
nightly
ICache<TKey, TValue>
▪ var cache = ignite.GetOrCreateCache<int, string>(“myCache”);
▪ Похож на ConcurrentDictionary
▪ Данные доступны всем узлам кластера
▪ Значения хранятся в сериализованном виде
▪ Компактный бинарный протокол
SQL
▪ Данные в кэше можно получать через SQL запросы
▪ In-Memory движок H2: создаёт таблицы из полей объектов
▪ Полная поддержка ANSI-99 SQL
▪ Только выбранные поля попадают в SQL
▪ Запрос отправляется на все ноды, выполняется, результаты аггрегируются
LINQ
Задачи LINQ провайдера
1. Генерация SQL (relinq.codeplex.com)
2. Десериализация результата:
▪ Единичное значение (count, sum, single, ...)
▪ IEnumerable<ICacheEntry> (без проекций, только фильтрация)
▪ IEnumerable<UserType>
▪ IEnumerable<primitive>
▪ IEnumerable<anonymous_type>
Чтение анонимного типа
▪ qry.Select(x => new { x.Key, x.Value.Name })
▪ Анонимный тип: generic immutable + конструктор, принимающий все свойства
▪ Десериализация: reader.Read<T>
▪ Желаем получить:
Func<BinaryReader, T> read = reader =>
(T) new f__AnonymousType0<int, string>(reader.Read<int>(), reader.Read<string>());
Compute Demo
Вопросы?
▪ ignite.apache.org
▪ github.com/apache/ignite/tree/master/modules/platforms/dotnet
▪ apacheignite-net.readme.io

More Related Content

PPTX
Знакомство с In-Memory Data Grid
PDF
Анатомия веб-сервиса (РИТ-2014)
PDF
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
 
PPTX
MySQL 5.7 - NoSQL - JSON, Protocol X, Document Store / Петр Зайцев (Percona)
PDF
Мониторинг ожиданий в PostgreSQL / Курбангалиев Ильдус (Postgres Professional)
PDF
Что нового и полезного в PostgreSQL 9.5 / Илья Космодемьянский (PostgreSQL-Co...
PDF
"OpenStack & Oracle — взболтать, но не смешивать". Сергей Филимонцев, Яндекс
PDF
RootConf 2015
Знакомство с In-Memory Data Grid
Анатомия веб-сервиса (РИТ-2014)
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
 
MySQL 5.7 - NoSQL - JSON, Protocol X, Document Store / Петр Зайцев (Percona)
Мониторинг ожиданий в PostgreSQL / Курбангалиев Ильдус (Postgres Professional)
Что нового и полезного в PostgreSQL 9.5 / Илья Космодемьянский (PostgreSQL-Co...
"OpenStack & Oracle — взболтать, но не смешивать". Сергей Филимонцев, Яндекс
RootConf 2015

What's hot (20)

PDF
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)
PDF
Максим Дунин, Nginx, Inc.
PDF
Резервное копирование MySQL в экстремальных условиях
PDF
DPDK в виртуальном коммутаторе Open vSwitch / Александр Джуринский (Selectel)
PPTX
Евгений Потапов (Сумма Айти)
PDF
PostgreSQL on sas/ssd/nvme/nvdimm
PPTX
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
PDF
Беспроблемная эксплуатация PostgreSQL
PDF
Демонстрация продуктов и технологий Net app
PDF
PostgreSQL Streaming Replication
ODP
PPTX
Оптимизация работы с данными в мобильных приложениях / Святослав Иванов, Артё...
PDF
Девять кругов ада или PostgreSQL Vacuum / Алексей Лесовский (PostgreSQL-Consu...
PPTX
Что нового в nginx? / Максим Дунин (Nginx, Inc.)
PDF
Отладка и устранение проблем в PostgreSQL Streaming Replication.
PPTX
Жизнь проекта на production советы по эксплуатации / Николай Сивко (okmeter.io)
PDF
Механика DDoS (Александр Крижановский)
PDF
Очереди и блокировки. Теория и практика / Александр Календарев (ad1.ru)
PPTX
В ногу со временем, или как делать upgrade PostgreSQL / Андрей Сальников (Dat...
PDF
Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)
Максим Дунин, Nginx, Inc.
Резервное копирование MySQL в экстремальных условиях
DPDK в виртуальном коммутаторе Open vSwitch / Александр Джуринский (Selectel)
Евгений Потапов (Сумма Айти)
PostgreSQL on sas/ssd/nvme/nvdimm
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Беспроблемная эксплуатация PostgreSQL
Демонстрация продуктов и технологий Net app
PostgreSQL Streaming Replication
Оптимизация работы с данными в мобильных приложениях / Святослав Иванов, Артё...
Девять кругов ада или PostgreSQL Vacuum / Алексей Лесовский (PostgreSQL-Consu...
Что нового в nginx? / Максим Дунин (Nginx, Inc.)
Отладка и устранение проблем в PostgreSQL Streaming Replication.
Жизнь проекта на production советы по эксплуатации / Николай Сивко (okmeter.io)
Механика DDoS (Александр Крижановский)
Очереди и блокировки. Теория и практика / Александр Календарев (ad1.ru)
В ногу со временем, или как делать upgrade PostgreSQL / Андрей Сальников (Dat...
Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...
Ad

Similar to Apache Ignite.NET в действии (20)

PDF
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
PPT
Платформа для автоматического тестирования Erlang проектов на примере UserGat...
ODP
Java 9 - Back to the Future
PDF
Open stack в 2ГИС
PDF
IT-инфраструктура. FAQ для разработчика
PPTX
Робототехника с Not eXactly C. Часть I
PPT
Conflux: GPGPU .NET
PPTX
Асинхронность и сопрограммы
PDF
Леонид Васильев "Python в инфраструктуре поиска"
PPTX
Платформа для консолидированного управления ресурсами ЦОД
PDF
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)
PDF
Другая виртуализация
PDF
Лекция 9. Программирование GPU
PPTX
Tarantool
PDF
nginx internals
PPTX
Использование Open Source инструментов для автоматизации тестирования
PPTX
Система обработки бизнес-логики server-side приложения на Groovy
PPTX
Sql server clr integration
PPTX
Net core and linux in production
PDF
HackIoT: wifi гаджет своими руками
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
Платформа для автоматического тестирования Erlang проектов на примере UserGat...
Java 9 - Back to the Future
Open stack в 2ГИС
IT-инфраструктура. FAQ для разработчика
Робототехника с Not eXactly C. Часть I
Conflux: GPGPU .NET
Асинхронность и сопрограммы
Леонид Васильев "Python в инфраструктуре поиска"
Платформа для консолидированного управления ресурсами ЦОД
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)
Другая виртуализация
Лекция 9. Программирование GPU
Tarantool
nginx internals
Использование Open Source инструментов для автоматизации тестирования
Система обработки бизнес-логики server-side приложения на Groovy
Sql server clr integration
Net core and linux in production
HackIoT: wifi гаджет своими руками
Ad

More from Mikhail Shcherbakov (20)

PPTX
Delegates and events in C#
PPTX
Mythbusters - Web Application Security
PPTX
Михаил Щербаков "WinDbg сотоварищи"
PPTX
Архитектура Apache Ignite .NET
PDF
сценарии использования статического анализатора
PPTX
WCF. Легко или проблемно
PDF
Поиск ошибок в программах на языке C#
PPTX
Когда в C# не хватает C++ . Часть 3.
PDF
Project Rider
PPTX
WinDbg в руках .NET разработчика
PPTX
Structured logging
PPTX
RESTful API: Best practices, versioning, design documentation
PPTX
Простой и кросс-платформенный WEB-сервер на .NET
PPTX
Использование Visual Studio Tools for Apache Cordova в реальных проектах
PPTX
Sandboxing in .NET CLR
PPTX
Когда в C# не хватает C++ . Часть 2.
PDF
Распространённые ошибки оценки производительности .NET-приложений
PPTX
Когда в C# не хватает C++
PDF
Как это работает: DLR
PPTX
Visual Studio 2015 Diagnostic and Debugging Tools
Delegates and events in C#
Mythbusters - Web Application Security
Михаил Щербаков "WinDbg сотоварищи"
Архитектура Apache Ignite .NET
сценарии использования статического анализатора
WCF. Легко или проблемно
Поиск ошибок в программах на языке C#
Когда в C# не хватает C++ . Часть 3.
Project Rider
WinDbg в руках .NET разработчика
Structured logging
RESTful API: Best practices, versioning, design documentation
Простой и кросс-платформенный WEB-сервер на .NET
Использование Visual Studio Tools for Apache Cordova в реальных проектах
Sandboxing in .NET CLR
Когда в C# не хватает C++ . Часть 2.
Распространённые ошибки оценки производительности .NET-приложений
Когда в C# не хватает C++
Как это работает: DLR
Visual Studio 2015 Diagnostic and Debugging Tools

Apache Ignite.NET в действии

  • 2. Запустить кластер – просто! ▪ Самодостаточный NuGet пакет ▪ Никаких инсталляторов и конфигураций ▪ (Кроме Java Runtime) ▪ Одна строка кода: Ignition.Start(); Install-Package Apache.Ignite -Pre -Source https://www.myget.org/F/apache-ignite-net- nightly
  • 3. ICache<TKey, TValue> ▪ var cache = ignite.GetOrCreateCache<int, string>(“myCache”); ▪ Похож на ConcurrentDictionary ▪ Данные доступны всем узлам кластера ▪ Значения хранятся в сериализованном виде ▪ Компактный бинарный протокол
  • 4. SQL ▪ Данные в кэше можно получать через SQL запросы ▪ In-Memory движок H2: создаёт таблицы из полей объектов ▪ Полная поддержка ANSI-99 SQL ▪ Только выбранные поля попадают в SQL ▪ Запрос отправляется на все ноды, выполняется, результаты аггрегируются
  • 6. Задачи LINQ провайдера 1. Генерация SQL (relinq.codeplex.com) 2. Десериализация результата: ▪ Единичное значение (count, sum, single, ...) ▪ IEnumerable<ICacheEntry> (без проекций, только фильтрация) ▪ IEnumerable<UserType> ▪ IEnumerable<primitive> ▪ IEnumerable<anonymous_type>
  • 7. Чтение анонимного типа ▪ qry.Select(x => new { x.Key, x.Value.Name }) ▪ Анонимный тип: generic immutable + конструктор, принимающий все свойства ▪ Десериализация: reader.Read<T> ▪ Желаем получить: Func<BinaryReader, T> read = reader => (T) new f__AnonymousType0<int, string>(reader.Read<int>(), reader.Read<string>());