new database engine component fully integrated into SQL
new database engine component fully integrated into SQL Server 2014 optimized for OLTP workloads accessing memory resident data achive improvements in performance and reduction in processing
Client App TDS Handler and Session Management Natively Compiled SPs and Schema T 3 In-Memory OLTP Compiler Tables Indexes Memory Optimized Tables & Indexes Parser, Catalog, Optimizer Query Interop Interpreted T-SQL Query Execution T 1 T 2 Tables Indexes Buffer Pool for Tables & Indexes
checkpoint files all data is stored in memory, all the time checkpoint files for recovery purpose – append only max # of check point files = 4000, max size of a check point file = 128 MB theoretical maximum = 512 GB, supported maximum = 256 GB
transaction log use same transaction log as disk-based tables use less log bandwidth; do not log index operations or UNDO records
recovery time during database recovery all data needs to be read from disk into memory checkpoint files uses streaming IO main factors: speed of sequential IO and bandwidth of HBA; no need for SSD recovery time objective (RTO) on restart determine IO speed requirement spread checkpoint files over multiple LUNs; support for parallel load of checkpoint files
create table has similar syntax for creatind disk-based tables LOB data not allowed row limit of 8060 bytes with no off-row data DURABILITY = SCHEMA_AND_DATA or SCHEMA_ONLY limitations: no DML triggers, no foreign keys, no IDENTITY
indexes not stored as B-trees hash indexes # buckets >= expected cardinality of the index key column range indexes – not available in CTP 1 are not stored on disk
demo create memory-optimized OLTP database, tables, and indexes
t-sql dml select, insert, update, delete almost transparent to users that they are working on memory-optimized tables client applications connect through the TDS handler interop capabilities – interpreted T-SQL can access memory-optimized tables
demo select, insert, update
locks optimistic multi-version concurrency control no locks acquired; no waiting because of blocking no waits for reading data from disks or locks on data rows if a transaction insert a row with same key as another open transaction error if a transaction updates same row as another open transaction error
demo locking: memory-optimized tables vs disk-based tables
natively compiled stored proc access memory-optimized tables: interop (interpreted T-SQL) or natively compiled stored procs ad-hoc queries interop access both memory-optimized and disk-based tables interop best execution performance natively compiled stored procedures can only access memory-optimized tables
demo natively compiled stored procedures and interop
summary database, checkpoint files & transaction log recovery time tables, indexes & dml locks natively compiled stored procedures
references blogs. msdn. com/b/sqlcat/archive/2013/06/25/sql-server-in-memory-oltp-internals-overview-for-ctp 1. aspx blogs. technet. com/b/dataplatforminsider/archive/tags/in_2 d 00_memory/ research. microsoft. com/apps/pubs/default. aspx? id=193594 blogs. msdn. com/b/arvindsh/archive/2013/07/03/sql-2014 -in-memory-oltp-hekaton-training-videos-and-white-papers. aspx www. sqlskills. com/blogs/bobb/category/hekaton/ sqlblog. com/blogs/davide_mauri/archive/2013/08/16/testing-hekaton-some-results. aspx thomaslarock. com/2013/08/sql-server-2014 -in-memory-oltp-hekaton-useful-links blogs. msdn. com/b/carlnol/archive/2013/09/16/implementing-lob-storage-in-memory-optimized-tables. aspx msdn. microsoft. com/en-us/library/dn 133186(v=sql. 120). aspx mattsql. wordpress. com/2013/07/08/in-memory-oltp-with-sql-server-2014/ www. simple-talk. com/sql/database-administration/exploring-in-memory-oltp-engine-(hekaton)-in-sql-server-2014 -ctp 1/
Evaluation Scale: 1 = Very bad 2 = Bad 3 = Relevant 4 = Good 5 = Very Good! Questions: • Speaker Performance • Relevance according to your work • Match of technical level according to published level • Comments Evaluation Create a Text message on your phone and send it to 1919 with the content: Session Code DB 302 5 5 5 I liked it a lot David Performance (1 to 5) Relevance (1 to 5) Match of technical Level (1 to 5) Comments (optional)
- Slides: 20