2. The explosion of data sources...
…drives an explosion of data
…which drives businesses to learn more
and do more faster
2013-2020 CAGR = 41%
25B
4.0B1.3
B
2010 2013 2020
There’s an
opportunity to
drive smarter
decisions with data
Performance
4. SQL In-Memory Technologies
Over 100x analytics query speed
and significant data compression
with In-Memory ColumnStore
Up to 30x faster transaction
processing with In-Memory OLTP
Faster AnalyticsFaster Transactions
IN-MEMORY OLTP IN-MEMORY DW
Performance
5. Traditional operational/analytics architecture
Key issues
Complex implementation
Requires two servers (capital
expenditures and operational
expenditures)
Data latency in analytics
High demand:
requires real-time analytics
IIS Server
BI analysts
Performance
6. Minimizing data latency for analytics
Challenges
Analytics queries are resource intensive and can
cause blocking
Minimizing impact on operational workloads
Sub-optimal execution of analytics on relational
schema
Benefits
No data latency
No ETL
No separate data warehouse
IIS Server
BI analysts
Performance
7. Real-Time Analytics – What it is NOT for
OLTP
OLTP
OLTP
• Operational Data Coming from
multiple sources
• Extreme Analytics
– Needs pre-aggregated cubes
– Star-Schema
• Challenge with OLTP schema
– Data is normalized
– Queries require multi-table joins
Performance
8. Memory Optimized Tables: Row and Hash Index Structure
90, 150 Susan Bogota
50, ∞ Jane Prague
Timestamps NameChain ptrs City
Hash index
on City
Hash index
on Name
100, 200 John Prague
200, ∞ John Beijing
f(John)
f(Jane)
f(Beijing)
f(Prague)
f(Bogota)
Performance
9. Columnstore Index: Why?
Improved compression:
• Data from same domain
compress better
• 10x compression
Reduced I/O:
• Fetch only columns needed
…
Data stored as rows Data stored as columns
Efficient operation on small
set of rows
Ideal for OLTP
C1 C2 C3 C5C4
Improved Performance:
• More data fits in memory
• Batch Mode execution
• upto100x
Ideal for DW Workload
Performance
10. Operational analytics: columnstore on in-memory tables
No explicit delta row group
Rows (tail) not in columnstore stay in In-Memory OLTP
table
No columnstore index overhead when operating on tail
Background task migrates rows from tail to columnstore in
chunks of 1 million rows not changed in last 1 hour
Columnstore data fully resident in memory
Persisted together with operational data
No application changes required
In-Memory OLTP table
Tail
Range index
Hash index
Performance
Dramatic Performance Gain is from RowStore to ColumnStore
Great Scalability from 4S to 8S
Newer Release with Better Performance: SQL 2012 to SQL 2014
In the near future, we will have new scale point with higher scale H/W, as well as new release with even higher performance.
Q: Why 4S of SQL2012 is empty?
A: We haven’t published a number for it.