©2015 Software AG. All rights reserved. For internal use only1 |
Manish Devgan
Software AG
In-Memory Data Management Goes Mainstream
October 9, 2015
©2015 Software AG. All rights reserved. For internal use only2 |
Introduction
Product Manager
Many years in Enterprise Software industry
Lives in Washington DC Metro
Interests – In-Memory, NoSQL, Distributed
Systems, Modern BI, Analytics, Security,
Cloud
www.linkedin.com/in/manishdevgan
@mdevgan
manish@terracotta.orgEmail
©2015 Software AG. All rights reserved. For internal use only3 |
1.
2.
3.
4.
Overview – In-Memory Data Management
Software AG Open Source Projects
Use Cases
Q&A
Agenda
©2015 Software AG. All rights reserved. For internal use only4 |
Growth of Data
Transactions, Processes, Mobile, M2M, Sensors, Logs, ..
©2015 Software AG. All rights reserved. For internal use only5 |
The value of ^ time
+0.1s costs Amazon 1% in sales
+0.5s costs Google 20% search traffic
©2015 Software AG. All rights reserved. For internal use only6 |
Uptime, SLAs
Performance and Scale
©2015 Software AG. All rights reserved. For internal use only7 |
The shift where data lives and gets analyzed
90% of Data
in Disk-based
Databases
90% of Data
in In-Memory
MEMORY
©2015 Software AG. All rights reserved. For internal use only8 |
Why now?
Explosion in
volume &
velocity of
business data
Steep drop in
price of RAM
©2015 Software AG. All rights reserved. For internal use only9 | ©2015 Software AG. All rights reserved.9 |
In-Memory Computing Hits Mainstream
“In-Memory Data Platform
Is No Longer An Option —
It's a Necessity!”
“..In-Memory Computing
Technologies Enable
Digital Business”
©2015 Software AG. All rights reserved. For internal use only10 | ©2015 Software AG. All rights reserved.10 |
In-Memory Data Grids – Forrester Wave
©2015 Software AG. All rights reserved. For internal use only11 |
Change how you manage & integrate data, and you
completely change what’s possible for the business.
11
©2015 Software AG. All rights reserved. For internal use only12 | ©2015 Software AG. All rights reserved. For internal use only12 |
Open Source
©2015 Software AG. All rights reserved. For internal use only13 |
Terracotta Open Source Footprint
©2015 Software AG. All rights reserved. For internal use only14 |
•  Standards in the enterprise Java ecosystem
•  Each with Millions of installs - huge user bases
•  Hundreds-of-thousands of downloads
•  Used in other popular projects/frameworks/products
Existing Open Source Projects
©2015 Software AG. All rights reserved. For internal use only15 |
340K+Ehcache 2.x (Maven)
TC Server OS 4.3 – offheap +
clustering (website)
4,000+
Downloads (May to Aug 2015)
Open Source Projects
© 2015 Software AG. All rights reserved.
For internal use only
Frameworks leveraging Ehcache
©2015 Software AG. All rights reserved. For internal use only16 |
Ehcache3: Modern, JSR-107 compliant, caching API
API with generics & typing support
cache.put(1L, “a value"));
String myVal = cache.get(1L);
cache.put
(new Element(Long.valueOf(1), “a value"));
String myVal =
(String)cache.get(Long.valueOf(1)).getValue();
v2
v3
www.ehcache.org
©2015 Software AG. All rights reserved. For internal use only17 |
Terracotta In-Memory Open Source offering
ü  API
ü  Distributed storage (1 stripe – active
with optional mirror)
ü  Key/Value Offheap Data
Management
ü  Integrations (e.g. Hibernate)
©2015 Software AG. All rights reserved. For internal use only18 | ©2015 Software AG. All rights reserved.18 |
Your Problem: You are
working with data that you want
to use, manage, and harness the
value of instantaneously
Our Solution: Terracotta
BigMemory stores “big” amounts
of data in machine memory,
right where the application
runs, for ultra fast access. It
delivers high speed performance
at any scale
©2015 Software AG. All rights reserved. For internal use only19 |
Tiered Memory Store
Tiered Storage
Distributed BigMemory
Server RAM or Flash/SSD
Process Memory
Local BigMemory
2,000,000+
1,000,000
100,000
Micro-
seconds
Micro-
seconds
Milli-
seconds
Speed (TPS)
1,000s
Latency
External Data Source
(e.g., Database, Hadoop, Data Warehouse)
BigMemoryBigMemory
4 GB
32 GB – 12 TB
100s GB – 100s TB
Seconds
©2015 Software AG. All rights reserved. For internal use only20 |
Terracotta BigMemory
©2015 Software AG. All rights reserved. For internal use only21 |
Terracotta BigMemoryServerArray
Stripe
Commodity Server
Application
Stripe Stripe Stripe Stripe
Commodity Server
Application
Commodity Server
Application
Commodity Server
Application
Ehcache
BigMemory
TCP
Client
aka L1
Highest value data is
stored in-process - right
where it is used
API
©2015 Software AG. All rights reserved. For internal use only22 |
Terracotta BigMemoryServerArray
Stripe
§  High Availability
§  Scalability
§  Consistency
§  Durability
§  Monitoring
§  Management
Commodity Server
Application
Stripe Stripe Stripe Stripe
Commodity Server
Application
Commodity Server
Application
TCP
Server on
commodity HW
Transactionally
updated mirror
for high
availability
Stripe
Commodity Server
Active
Server
Commodity Server
Mirror
Server
aka L2
DRAM
FRS
DRAM
FRS
©2015 Software AG. All rights reserved. For internal use only23 |
Extreme Scale Up on Intel® Xeon® Processor E7 v2-based Servers
•  Enterprises increasingly need to take
immediate action on big data
intelligence, which is driving changes to
the traditional enterprise architecture
•  Desire to keep data instantly available in
high-speed machine memory, rather than
locking it away in slow, disk-bound
databases
•  Intel Xeon processor E7 v2-based servers
have the memory capacity and the
compute power to deliver new innovative
solutions
•  Increasing data volumes do not deter
throughput or latency of Intel Xeon
processor E7-4890 v2 using BigMemory
MAX* software
•  From 2 TB using 1 billion elements
to 5.5 TB using 3 billion elements,
the throughput and latency
remained fairly constant
23
6TB
3x data fidelity, consistent
performance
©2015 Software AG. All rights reserved. For internal use only24 | ©2015 Software AG. All rights reserved. For internal use only24 |
Use Cases
©2015 Software AG. All rights reserved. For internal use only25 |
SPEED
FORTUNE 500 ONLINE
PAYMENTS PROCESSOR
Before
•  Lost 30 cents on every $100 to fraud
•  With traditional data management solutions, failed to meet
800 ms SLA around 10% of time
•  Limited to 50 rules, even though each new rule generated
$12 million in profit
Radically Improving Profitability
With Better, Faster Fraud Detection
©2015 Software AG. All rights reserved. For internal use only26 |
SPEED
After
ü  Savings of tens of millions of dollars in reduced costs
from missed SLAs and fraudulent charges
ü  Meeting stricter 250-millisecond SLA 99% of time
ü  Savings of $1 million annually in reduced database
licenses
Radically Improving Profitability
With Better, Faster Fraud Detection
©2015 Software AG. All rights reserved. For internal use only27 |
Raising Profitability by Shifting Customers
from Call Centers to e-service SCALE
$26 BILLION TELCO
Before
•  Retrieving customer data took as long as 30 seconds
•  Inadequate performance meant company could
not promote e-service
•  Other In-Memory solutions rejected due to cost and performance
concerns at terabyte scale
©2015 Software AG. All rights reserved. For internal use only28 |
SCALE
After
ü  Supports more than 10,000 customer interactions daily,
ready to scale to 10x
ü  Slashed access times to only 200 milliseconds with 100%
data availability
ü  Tens of millions of dollars saved in support costs
ü  Latency and capacity constraints eliminated
Raising Profitability by Shifting Customers
from Call Centers to e-service
©2015 Software AG. All rights reserved. For internal use only29 |
“The team began almost immediately to
cache the data. The result was
encouraging: the site's overall response
time--the time it took a page to load--
dropped on the evening of Oct. 22 from
eight seconds to two. That was still
terrible, of course, but it represented
such an improvement that it cheered the
engineers. They could see that
HealthCare.gov could be saved instead
of scrapped.”
http://content.time.com/time/magazine/article/0,9171,2166770,00.html
©2015 Software AG. All rights reserved. For internal use only30 | ©2015 Software AG. All rights reserved. For internal use only30 |
What’s next?
©2015 Software AG. All rights reserved. For internal use only31 |
Storage – typed & loosely schema’ed
•  Opaque, non-structured entries
•  Disconnected search indexes (On-
disk)
•  Support for Store/Retrieve
operations only
§  Structured, typed records
§  Integrated search indexes (in-
memory)
§  Purpose built storage for in-place
compute
Storage
Off-heap, FRS, Hybrid
Search
Indexes
Storage, Search, & Compute
Off-heap, FRS, Hybrid, Indexes
Key Value (byte[]) Key “name”:
“John”
“age”:
21
“pic”:
byte[]
©2015 Software AG. All rights reserved. For internal use only32 |
Intelligent Storage & Simple APIs
Synchronous – “awaiting results” Asynchronous – “fire & forget”
p1
“num”:
123
“age”:
21
“name”:
“Marcus
”
“hired”
: true
dataset.applyMutation(WS,
myCounterKey,
write(myCounterCell,
longValueOf(myCounterCell).increm
ent()));
Operation result =
dataset.async().applyMutation(WS,
myCounterKey, ..);
persons.add(WS, “p1”, FIRST_NAME.newCell("Marcus”));
Simple CRUD API
Mutation - without the need to bring data back to client
©2015 Software AG. All rights reserved. For internal use only33 |
•  Well-known
“functions”
•  E.g. “average”,
“map”, “reduce”
•  Supports Java 8
Streams
•  Support for functional
expressions
(“Lambdas”)
Compute pipeline on storage
•  Fluent DSL (Domain Specific Language)
persons.compute().filter(boolValueOf(HIRED)).count();
persons.compute().map( … )
persons.compute().filter( … ).map( … ).reduce(…).sorted(…).forEach(…);
©2015 Software AG. All rights reserved. For internal use only34 |
FINE grained Data consistency & Durability
•  More fine-grained than simple
“Strong-Eventual”
•  “Pay-as-you-go” model
•  Pay performance costs warranted
for given need
•  Read & Write settings per operation
•  Write operations can specify range
of visibility and durability
requirements
persons.compute(STANDARD). …
persons.get(PARANOID). …
Persons.add(WS, … )
Persons.applyMutation(WS, … )
WriteSettings WS =
WriteVisibiltiy.IMMEDIATE.withDurabi
lity(maximal());
or…
WriteVisibiltiy.EVENTUAL.withDurabil
ity(onAtLeastNPassives(1));
©2015 Software AG. All rights reserved. For internal use only35 | ©2015 Software AG. All rights reserved.35 |
Q&A
www.terracotta.org
We are hiring!
jobs.softwareag.com
In-Memory Data Management Goes Mainstream - OpenSlava 2015

In-Memory Data Management Goes Mainstream - OpenSlava 2015

  • 1.
    ©2015 Software AG.All rights reserved. For internal use only1 | Manish Devgan Software AG In-Memory Data Management Goes Mainstream October 9, 2015
  • 2.
    ©2015 Software AG.All rights reserved. For internal use only2 | Introduction Product Manager Many years in Enterprise Software industry Lives in Washington DC Metro Interests – In-Memory, NoSQL, Distributed Systems, Modern BI, Analytics, Security, Cloud www.linkedin.com/in/manishdevgan @mdevgan manish@terracotta.orgEmail
  • 3.
    ©2015 Software AG.All rights reserved. For internal use only3 | 1. 2. 3. 4. Overview – In-Memory Data Management Software AG Open Source Projects Use Cases Q&A Agenda
  • 4.
    ©2015 Software AG.All rights reserved. For internal use only4 | Growth of Data Transactions, Processes, Mobile, M2M, Sensors, Logs, ..
  • 5.
    ©2015 Software AG.All rights reserved. For internal use only5 | The value of ^ time +0.1s costs Amazon 1% in sales +0.5s costs Google 20% search traffic
  • 6.
    ©2015 Software AG.All rights reserved. For internal use only6 | Uptime, SLAs Performance and Scale
  • 7.
    ©2015 Software AG.All rights reserved. For internal use only7 | The shift where data lives and gets analyzed 90% of Data in Disk-based Databases 90% of Data in In-Memory MEMORY
  • 8.
    ©2015 Software AG.All rights reserved. For internal use only8 | Why now? Explosion in volume & velocity of business data Steep drop in price of RAM
  • 9.
    ©2015 Software AG.All rights reserved. For internal use only9 | ©2015 Software AG. All rights reserved.9 | In-Memory Computing Hits Mainstream “In-Memory Data Platform Is No Longer An Option — It's a Necessity!” “..In-Memory Computing Technologies Enable Digital Business”
  • 10.
    ©2015 Software AG.All rights reserved. For internal use only10 | ©2015 Software AG. All rights reserved.10 | In-Memory Data Grids – Forrester Wave
  • 11.
    ©2015 Software AG.All rights reserved. For internal use only11 | Change how you manage & integrate data, and you completely change what’s possible for the business. 11
  • 12.
    ©2015 Software AG.All rights reserved. For internal use only12 | ©2015 Software AG. All rights reserved. For internal use only12 | Open Source
  • 13.
    ©2015 Software AG.All rights reserved. For internal use only13 | Terracotta Open Source Footprint
  • 14.
    ©2015 Software AG.All rights reserved. For internal use only14 | •  Standards in the enterprise Java ecosystem •  Each with Millions of installs - huge user bases •  Hundreds-of-thousands of downloads •  Used in other popular projects/frameworks/products Existing Open Source Projects
  • 15.
    ©2015 Software AG.All rights reserved. For internal use only15 | 340K+Ehcache 2.x (Maven) TC Server OS 4.3 – offheap + clustering (website) 4,000+ Downloads (May to Aug 2015) Open Source Projects © 2015 Software AG. All rights reserved. For internal use only Frameworks leveraging Ehcache
  • 16.
    ©2015 Software AG.All rights reserved. For internal use only16 | Ehcache3: Modern, JSR-107 compliant, caching API API with generics & typing support cache.put(1L, “a value")); String myVal = cache.get(1L); cache.put (new Element(Long.valueOf(1), “a value")); String myVal = (String)cache.get(Long.valueOf(1)).getValue(); v2 v3 www.ehcache.org
  • 17.
    ©2015 Software AG.All rights reserved. For internal use only17 | Terracotta In-Memory Open Source offering ü  API ü  Distributed storage (1 stripe – active with optional mirror) ü  Key/Value Offheap Data Management ü  Integrations (e.g. Hibernate)
  • 18.
    ©2015 Software AG.All rights reserved. For internal use only18 | ©2015 Software AG. All rights reserved.18 | Your Problem: You are working with data that you want to use, manage, and harness the value of instantaneously Our Solution: Terracotta BigMemory stores “big” amounts of data in machine memory, right where the application runs, for ultra fast access. It delivers high speed performance at any scale
  • 19.
    ©2015 Software AG.All rights reserved. For internal use only19 | Tiered Memory Store Tiered Storage Distributed BigMemory Server RAM or Flash/SSD Process Memory Local BigMemory 2,000,000+ 1,000,000 100,000 Micro- seconds Micro- seconds Milli- seconds Speed (TPS) 1,000s Latency External Data Source (e.g., Database, Hadoop, Data Warehouse) BigMemoryBigMemory 4 GB 32 GB – 12 TB 100s GB – 100s TB Seconds
  • 20.
    ©2015 Software AG.All rights reserved. For internal use only20 | Terracotta BigMemory
  • 21.
    ©2015 Software AG.All rights reserved. For internal use only21 | Terracotta BigMemoryServerArray Stripe Commodity Server Application Stripe Stripe Stripe Stripe Commodity Server Application Commodity Server Application Commodity Server Application Ehcache BigMemory TCP Client aka L1 Highest value data is stored in-process - right where it is used API
  • 22.
    ©2015 Software AG.All rights reserved. For internal use only22 | Terracotta BigMemoryServerArray Stripe §  High Availability §  Scalability §  Consistency §  Durability §  Monitoring §  Management Commodity Server Application Stripe Stripe Stripe Stripe Commodity Server Application Commodity Server Application TCP Server on commodity HW Transactionally updated mirror for high availability Stripe Commodity Server Active Server Commodity Server Mirror Server aka L2 DRAM FRS DRAM FRS
  • 23.
    ©2015 Software AG.All rights reserved. For internal use only23 | Extreme Scale Up on Intel® Xeon® Processor E7 v2-based Servers •  Enterprises increasingly need to take immediate action on big data intelligence, which is driving changes to the traditional enterprise architecture •  Desire to keep data instantly available in high-speed machine memory, rather than locking it away in slow, disk-bound databases •  Intel Xeon processor E7 v2-based servers have the memory capacity and the compute power to deliver new innovative solutions •  Increasing data volumes do not deter throughput or latency of Intel Xeon processor E7-4890 v2 using BigMemory MAX* software •  From 2 TB using 1 billion elements to 5.5 TB using 3 billion elements, the throughput and latency remained fairly constant 23 6TB 3x data fidelity, consistent performance
  • 24.
    ©2015 Software AG.All rights reserved. For internal use only24 | ©2015 Software AG. All rights reserved. For internal use only24 | Use Cases
  • 25.
    ©2015 Software AG.All rights reserved. For internal use only25 | SPEED FORTUNE 500 ONLINE PAYMENTS PROCESSOR Before •  Lost 30 cents on every $100 to fraud •  With traditional data management solutions, failed to meet 800 ms SLA around 10% of time •  Limited to 50 rules, even though each new rule generated $12 million in profit Radically Improving Profitability With Better, Faster Fraud Detection
  • 26.
    ©2015 Software AG.All rights reserved. For internal use only26 | SPEED After ü  Savings of tens of millions of dollars in reduced costs from missed SLAs and fraudulent charges ü  Meeting stricter 250-millisecond SLA 99% of time ü  Savings of $1 million annually in reduced database licenses Radically Improving Profitability With Better, Faster Fraud Detection
  • 27.
    ©2015 Software AG.All rights reserved. For internal use only27 | Raising Profitability by Shifting Customers from Call Centers to e-service SCALE $26 BILLION TELCO Before •  Retrieving customer data took as long as 30 seconds •  Inadequate performance meant company could not promote e-service •  Other In-Memory solutions rejected due to cost and performance concerns at terabyte scale
  • 28.
    ©2015 Software AG.All rights reserved. For internal use only28 | SCALE After ü  Supports more than 10,000 customer interactions daily, ready to scale to 10x ü  Slashed access times to only 200 milliseconds with 100% data availability ü  Tens of millions of dollars saved in support costs ü  Latency and capacity constraints eliminated Raising Profitability by Shifting Customers from Call Centers to e-service
  • 29.
    ©2015 Software AG.All rights reserved. For internal use only29 | “The team began almost immediately to cache the data. The result was encouraging: the site's overall response time--the time it took a page to load-- dropped on the evening of Oct. 22 from eight seconds to two. That was still terrible, of course, but it represented such an improvement that it cheered the engineers. They could see that HealthCare.gov could be saved instead of scrapped.” http://content.time.com/time/magazine/article/0,9171,2166770,00.html
  • 30.
    ©2015 Software AG.All rights reserved. For internal use only30 | ©2015 Software AG. All rights reserved. For internal use only30 | What’s next?
  • 31.
    ©2015 Software AG.All rights reserved. For internal use only31 | Storage – typed & loosely schema’ed •  Opaque, non-structured entries •  Disconnected search indexes (On- disk) •  Support for Store/Retrieve operations only §  Structured, typed records §  Integrated search indexes (in- memory) §  Purpose built storage for in-place compute Storage Off-heap, FRS, Hybrid Search Indexes Storage, Search, & Compute Off-heap, FRS, Hybrid, Indexes Key Value (byte[]) Key “name”: “John” “age”: 21 “pic”: byte[]
  • 32.
    ©2015 Software AG.All rights reserved. For internal use only32 | Intelligent Storage & Simple APIs Synchronous – “awaiting results” Asynchronous – “fire & forget” p1 “num”: 123 “age”: 21 “name”: “Marcus ” “hired” : true dataset.applyMutation(WS, myCounterKey, write(myCounterCell, longValueOf(myCounterCell).increm ent())); Operation result = dataset.async().applyMutation(WS, myCounterKey, ..); persons.add(WS, “p1”, FIRST_NAME.newCell("Marcus”)); Simple CRUD API Mutation - without the need to bring data back to client
  • 33.
    ©2015 Software AG.All rights reserved. For internal use only33 | •  Well-known “functions” •  E.g. “average”, “map”, “reduce” •  Supports Java 8 Streams •  Support for functional expressions (“Lambdas”) Compute pipeline on storage •  Fluent DSL (Domain Specific Language) persons.compute().filter(boolValueOf(HIRED)).count(); persons.compute().map( … ) persons.compute().filter( … ).map( … ).reduce(…).sorted(…).forEach(…);
  • 34.
    ©2015 Software AG.All rights reserved. For internal use only34 | FINE grained Data consistency & Durability •  More fine-grained than simple “Strong-Eventual” •  “Pay-as-you-go” model •  Pay performance costs warranted for given need •  Read & Write settings per operation •  Write operations can specify range of visibility and durability requirements persons.compute(STANDARD). … persons.get(PARANOID). … Persons.add(WS, … ) Persons.applyMutation(WS, … ) WriteSettings WS = WriteVisibiltiy.IMMEDIATE.withDurabi lity(maximal()); or… WriteVisibiltiy.EVENTUAL.withDurabil ity(onAtLeastNPassives(1));
  • 35.
    ©2015 Software AG.All rights reserved. For internal use only35 | ©2015 Software AG. All rights reserved.35 | Q&A www.terracotta.org We are hiring! jobs.softwareag.com