apache ignite for node.js developers - gridgain systems · apache ignite support –faster time to...

16
Apache Ignite for Node.js Developers Denis Magda GridGain Product Management Ignite PMC 2018 © GridGain Systems

Upload: others

Post on 08-Jun-2020

13 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Apache Ignite for Node.js Developers - GridGain Systems · Apache Ignite Support –Faster Time to Reliable Ignite •Get up and running faster with 2 hours initial consultation •Ensure

Apache Ignite for Node.js DevelopersDenis MagdaGridGain Product ManagementIgnite PMC

2018 © GridGain Systems

Page 2: Apache Ignite for Node.js Developers - GridGain Systems · Apache Ignite Support –Faster Time to Reliable Ignite •Get up and running faster with 2 hours initial consultation •Ensure

2019 © GridGain Systems GridGain Company Confidential

Agenda

1

• Why Apache Ignite and Node.JS?• Apache Ignite for Node.JS overview• Node.JS client implementation details• Node.JS client roadmap• Q&A

Page 3: Apache Ignite for Node.js Developers - GridGain Systems · Apache Ignite Support –Faster Time to Reliable Ignite •Get up and running faster with 2 hours initial consultation •Ensure

2019 © GridGain Systems GridGain Company Confidential

Why to use Node.JS with Ignite?

2

• Node.JS is best suited for real-time applications– Fast response time and events processing– Prudent resources utilization -> single-threaded– No compute intensive tasks -> single-threaded

• Apache Ignite solves performance and scalability problems– Ultra fast distributed memory-centric storage– Used as a cache, IMDG or IMDB for real-time applications

Page 4: Apache Ignite for Node.js Developers - GridGain Systems · Apache Ignite Support –Faster Time to Reliable Ignite •Get up and running faster with 2 hours initial consultation •Ensure

2019 © GridGain Systems GridGain Company Confidential

Apache Ignite and GridGain Overview

Mainframe NoSQL HadoopIgnite Persistence

Persistent Layer

RDBMS

Machine and Deep Learning

EventsStreamingMessagingTransactionsSQLKey-Value

Service GridCompute Grid

Application Layer

Web SaaS SocialMobile IoTR

ollin

g U

pgra

des

Secu

rity

& Au

ditin

g

Mon

itorin

g &

Man

agem

ent

Segm

enta

tion

Prot

ectio

n

Dat

a C

ente

rRep

licat

ion

Net

wor

k Ba

ckup

s

Full,

Incr

emen

tal,

Con

tinuo

us B

acku

ps

Poin

t-in-

Tim

e R

ecov

ery

Het

erog

eneo

us R

ecov

ery

In-Memory Data Store

Page 5: Apache Ignite for Node.js Developers - GridGain Systems · Apache Ignite Support –Faster Time to Reliable Ignite •Get up and running faster with 2 hours initial consultation •Ensure

2019 © GridGain Systems GridGain Company Confidential

GridGain as an In-Memory Data Grid (IMDG)• Slides in-between apps and RDBMSs

with no rip and replace – ANSI-99 SQL compliant– Support for ACID transactions

• Accelerates existing app performance• Offload new data and computing

requirements (real-time auditing and compliance, analytics, computations)

Accelerate Existing Applications with No Rip and Replace

In-MemoryDatabase

StreamingAnalytics

ContinuousLearning Framework

In-MemoryData Grid

Compute and Service Grid

ACID TransactionsANSI-99 SQLKey-Value

In-Memory Data Store

Mainframe NoSQL Hadoop

Data Layer

RDBMS

Page 6: Apache Ignite for Node.js Developers - GridGain Systems · Apache Ignite Support –Faster Time to Reliable Ignite •Get up and running faster with 2 hours initial consultation •Ensure

2019 © GridGain Systems GridGain Company Confidential

Clustering

5

• Server Nodes– Act as containers for data and

computations– Generally started as standalone

processes

• Clients– Used from the Node.JS apps

Page 7: Apache Ignite for Node.js Developers - GridGain Systems · Apache Ignite Support –Faster Time to Reliable Ignite •Get up and running faster with 2 hours initial consultation •Ensure

2019 © GridGain Systems GridGain Company Confidential

Node.JS Client

6

• Lightweight Connectivity– Connects through a socket-based protocol

• APIs for real-time apps– Key-value– SQL– Scan queries

• Model configuration

Page 8: Apache Ignite for Node.js Developers - GridGain Systems · Apache Ignite Support –Faster Time to Reliable Ignite •Get up and running faster with 2 hours initial consultation •Ensure

2019 © GridGain Systems GridGain Company Confidential7

Demo:- Start several nodes with ignite.sh (clustering demo)- Connect to console.gridgain.com (monitoring demo)- Open Node.JS Ignite examples with WebStorm or other IDE- Run the key-value sample

Page 9: Apache Ignite for Node.js Developers - GridGain Systems · Apache Ignite Support –Faster Time to Reliable Ignite •Get up and running faster with 2 hours initial consultation •Ensure

2019 © GridGain Systems GridGain Company Confidential

Distributed SQL

Persistent Store

ANSI-99 SQL

Compute Grid

JDBC ODBC

C++.NETJava Node.JSBinary Protocal (Thin client)

In-Memory Data StoreIndexes on RAM or Disk

Apache Ignite SQL SupportCross-platform Compatibility

DDL & DML Support

SELECT, UPDATE, INSERT, MERGE, CREATE, DELETE & ALTER

Dynamic Scaling

Page 10: Apache Ignite for Node.js Developers - GridGain Systems · Apache Ignite Support –Faster Time to Reliable Ignite •Get up and running faster with 2 hours initial consultation •Ensure

2019 © GridGain Systems GridGain Company Confidential9

Demo:- Run the SQL samples of Node.JS examples package- Switch to WebConsole showing that the tables are created and metrics are updated

Page 11: Apache Ignite for Node.js Developers - GridGain Systems · Apache Ignite Support –Faster Time to Reliable Ignite •Get up and running faster with 2 hours initial consultation •Ensure

2019 © GridGain Systems GridGain Company Confidential

Thin Clients – Implementation Details

10

• Socket-level binary protocol– Cross-platform

• Thin Client is– An API above the protocol and – Language specific implementation

• Supported languages– Java, .NET, C++– Node.JS, Python, PHP

Page 12: Apache Ignite for Node.js Developers - GridGain Systems · Apache Ignite Support –Faster Time to Reliable Ignite •Get up and running faster with 2 hours initial consultation •Ensure

2019 © GridGain Systems GridGain Company Confidential

Regular Client vs. Thin Client

11

Regular (aka. Thick) Client Thin Client

Cluster Communication • Starts a JVM process• Part of a cluster topology• Several ports have to be opened

• Connects through a proxy• TCP/IP connection• One port has to be opened

Scalability and performance

• Best• Goes to primary nodes directly

• Worse• Communicates through the proxy (now)• Direct communication (coming)

Supported APIs • All Ignite and GridGain APIs • Get/put, SQL, scans, configuration

Supported Languages • Java, .NET, C++• Time consuming to support other

language

• Easy to support any language• Java, .NET, C++, Node.JS, Python, PHP

are already available

Page 13: Apache Ignite for Node.js Developers - GridGain Systems · Apache Ignite Support –Faster Time to Reliable Ignite •Get up and running faster with 2 hours initial consultation •Ensure

2019 © GridGain Systems GridGain Company Confidential

Node.JS Client - Roadmap

12

• 2x and up performance acceleration– Direct connectivity to servers– Partition-awareness

• Triggering compute tasks execution– Java tasks deployed on servers– More powerful version of stored procedures

• Continuous queries

• Tell the community what you need

Page 14: Apache Ignite for Node.js Developers - GridGain Systems · Apache Ignite Support –Faster Time to Reliable Ignite •Get up and running faster with 2 hours initial consultation •Ensure

2019 © GridGain Systems GridGain Company Confidential

Resources

13

• Documentation:– https://apacheignite.readme.io/docs/nodejs-thin-client

• Getting Started Article:– https://www.gridgain.com/resources/blog/getting-started-

nodejs-and-apacher-ignitetm

• RDBMs acceleration how-to:– https://www.gridgain.com/resources/blog/using-no-rip-

and-replace-apacher-ignitetm-mysql-and-nodejs

• Ignite community:– https://ignite.apache.org/community/resources.html#ask

• GridGain Community Edition:– https://www.gridgain.com/products/software/communit

y-edition

Page 15: Apache Ignite for Node.js Developers - GridGain Systems · Apache Ignite Support –Faster Time to Reliable Ignite •Get up and running faster with 2 hours initial consultation •Ensure

2019 © GridGain Systems GridGain Company Confidential

Apache Ignite Support – Faster Time to Reliable Ignite

• Get up and running faster with 2 hours initial consultation

• Ensure fast, reliable Ignite with unlimited 24x7 global support– Unlimited web/e-mail support– Identify bugs, workarounds– Troubleshoot performance,

reliability issues

https://www.gridgain.com/products/services/support/support-apache-ignite

Page 16: Apache Ignite for Node.js Developers - GridGain Systems · Apache Ignite Support –Faster Time to Reliable Ignite •Get up and running faster with 2 hours initial consultation •Ensure

2019 © GridGain Systems GridGain Company Confidential

Any Questions?@apacheignite@gridgain