
As
we know that data is the most important thing for the business prospective
because we need to visualised it into the various formats and comparing the
data trends with historical data trends. Based on the historical data trends,
Business users/data analysists will be capable to take the right decision for
the business growth.
In-Memory OLTP is used to get around disk I/O-throughput
bottlenecks and read-write contention without rewriting applications designed
to run on SQL Server. SQL Server 2014
integrates this new technology directly into the database engine instead of
being a separate add-on.
Where can we use In-Memory
OLTP technique?
To use In-Memory OLTP, you can define a heavily accessed
data table as memory optimised because Memory-optimised-tables are fully transnational, durable, and are accessed using Transact-SQL in the same way as
disk-based tables. The most interesting facts are that we can easily update
data in memory-optimised tables and disk-based tables as well as pull the data
from the both data storage.
Native Compilation for
Stored procedures
Stored procedures that only reference memory-optimised tables can be natively compiled into machine code for further performance
improvements.
Benefits of In-Memory OLTP
- Logical I/O operations straight from physical memory are much faster than the physical I/O equivalent from storage.
- It will improve performance best in OLTP with short-running transactions because everything is happening in-memory.
- Programming patterns that In-Memory OLTP will improve include concurrency scenarios, point lookups, workloads where there are many inserts and updates, and business logic in stored procedures.
- Integration with SQL Server and Azure SQL Database means you can have both memory-optimised tables and disk-based tables in the same database, and query across both types of tables.
In-Memory OLTP achieves significant performance and
scalability gains by using:
- Algorithms that are optimised for accessing memory-resident data.
- Optimistic concurrency control that eliminates logical locks.
- Lock free objects that eliminate all physical locks and latches. Threads that perform transactional work don’t use locks or latches for concurrency control.
- Natively compiled stored procedures, which have significantly better performance than interpreted stored procedures, when accessing a memory-optimised table.
Restrictions for In-Memory
OLTP
- FOREIGN KEY constraints, DEFAULT constraints, CHECK constraints, IDENTITY columns and Triggers are not allowed on Memory-optimised Tables.
- If any of the restricted functionality is required, it can usually be coded using natively compiled Stored Procedure code.
The In-Memory OLTP option is an Enterprise-level feature
which is designed specifically for typical OLTP traffic balancing read/write
operations on the data with concurrent access. It has to be enabled at the database
level before proceeding to create Memory-optimised tables.
Memory Management for In-Memory OLTP
Memory Management for In-Memory OLTP
Reference: https://msdn.microsoft.com/en-us/library/dn133186.aspx
No comments:
Post a Comment