±¾ÎÄ´Ó²úÆ·Éè¼ÆºÍ¼Ü¹¹½Ç¶È·ÖÏíÁËMicrosoftÄÚ´æÊý¾Ý¿â·½ÃæµÄʹÓþÑ飬ϣÍûÄãÔÚÔĶÁ±¾ÎÄÖ®ºóÄܹ»Á˽âÕâЩеĶÔÏ󡢸ÅÄ´Ó¶ø¸üºÃµØÉè¼ÆÄãµÄ¼Ü¹¹¡£
ÄÚ´æÊý¾Ý¿â£¬Ö¸µÄÊǽ«Êý¾Ý¿âµÄÊý¾Ý·ÅÔÚÄÚ´æÖÐÖ±½Ó²Ù×÷¡£Ïà¶ÔÓÚ´æ·ÅÔÚ´ÅÅÌÉÏ£¬ÄÚ´æµÄÊý¾Ý¶ÁдËÙ¶ÈÒª¸ß³öºÜ¶à£¬¹Ê¿ÉÒÔÌá¸ßÓ¦ÓõÄÐÔÄÜ¡£Î¢ÈíµÄSQL
Server 2014ÒÑÓÚ2014Äê4ÔÂ1ÈÕÕýʽ·¢²¼£¬SQL 2014Ò»¸öÖ÷ÒªµÄ¹¦Äܼ´ÎªÄÚ´æÊý¾Ý¿â¡£
ÏÂÃæ£¬ÎÒ½«×ÅÖØ½éÉÜʹÓÃSQL Server 2014ÄÚ´æÊý¾Ý¿âʱÐèҪעÒâµÄµØ·½¡£
¹ØÓÚÄÚ´æÊý¾Ý¿â
SQL Server 2014ÄÚ´æÊý¾Ý¿âÕë¶Ô´«Í³µÄ±íºÍ´æ´¢¹ý³ÌÒýÈëÁËеĽṹ£º memory optimized
table£¨ÄÚ´æÓÅ»¯±í£©ºÍnative stored procedure£¨±¾µØ±àÒë´æ´¢¹ý³Ì£©¡£
ĬÈÏÇé¿öÏÂMemory optimized tableÊÇÍêÈ«³Ö¾ÃµÄ£¨¼´Îªdurable memory
optimized table£©£¬È紫ͳµÄ»ùÓÚ´ÅÅ̵ıíÉϵÄÊÂÎñÒ»Ñù£¬²¢ÇÒÍêÈ«³Ö¾ÃµÄÊÂÎñÒ²ÊÇÖ§³ÖÔ×Ó¡¢Ò»Ö¡¢¸ôÀëºÍ³Ö¾Ã
(ACID) µÄ¡£Ëù²»Í¬µÄÊÇÄÚ´æÓÅ»¯±íµÄÕû¸ö±íµÄÖ÷´æ´¢ÊÇÔÚÄÚ´æÖУ¬¼´Îª´ÓÄÚ´æ¶ÁÈ¡±íÖеÄÐУ¬ºÍ¸üÐÂÕâЩÐÐÊý¾Ýµ½ÄÚ´æÖС£
²¢·ÇÏñÊÇ´«Í³»ùÓÚ´ÅÅÌµÄ±í°´ÕÕÊý¾Ý¿âÊý¾Ý¿âÒ³Ãæ×°ÔØÊý¾Ý¿â¡£ÄÚ´æÓÅ»¯±íµÄÊý¾Ýͬʱ»¹ÔÚ´ÅÅÌÉÏά»¤×ÅÁíÒ»¸ö¸±±¾£¬µ«½öÓÃÓÚ³ÖÐøÐÔÄ¿µÄ¡£
ÔÚÊý¾Ý¿â»Ö¸´ÆÚ¼ä£¬ÄÚ´æÓÅ»¯µÄ±íÖеÄÊý¾ÝÔٴδӴÅÅÌ×°ÔØ¡£ ´´½¨³Ö¾ÃµÄÄÚ´æÓÅ»¯±í·½·¨ÈçÏ£º
CREATE TABLE DurableTbl (AccountNo INT NOT NULL PRIMARY KEY NONCLUSTERED HASH WITH (BUCKET_COUNT = 28713) ,CustName VARCHAR(20) NOT NULL ,Gender CHAR NOT NULL /* M or F */ ,CustGroup VARCHAR(4) NOT NULL /* which customer group he/she belongs to */ ,Addr VARCHAR(50) NULL /* No address supplied is acceptable */ ,Phone VARCHAR(10) NULL /* Phone number */ ) WITH (MEMORY_OPTIMIZED=ON, DURABILITY=SCHEMA_AND_DATA) |
³ýÁËĬÈϳ־õÄÄÚ´æÓÅ»¯±íÖ®Í⣬»¹Ö§³Önon-durable memory optimized table£¨·Ç³Ö¾Ã»¯ÄÚ´æÓÅ»¯±í£©£¬²»¼Ç¼ÕâЩ±íµÄÈÕÖ¾ÇÒ²»ÔÚ´ÅÅÌÉϱ£´æËüÃǵÄÊý¾Ý¡£
ÕâÒâζ×ÅÕâЩ±íÉϵÄÊÂÎñ²»ÐèÒªÈκδÅÅÌ IO£¬µ«Èç¹û·þÎñÆ÷±ÀÀ£»ò½øÐйÊÕÏ×ªÒÆ£¬ÔòÎÞ·¨»Ö¸´Êý¾Ý¡£´´½¨·Ç³Ö¾Ã»¯ÄÚ´æÓÅ»¯±í·½·¨ÈçÏ£º
CREATE TABLE NonDurableTbl (AccountNo INT NOT NULL PRIMARY KEY NONCLUSTERED HASH WITH (BUCKET_COUNT = 28713) ,CustName VARCHAR(20) NOT NULL ,Gender CHAR NOT NULL /* M or F */ ,CustGroup VARCHAR(4) NOT NULL /* which customer group he/she belongs to */ ,Addr VARCHAR(50) NULL /* No address supplied is acceptable */ ,Phone VARCHAR(10) NULL /* Phone number */ ) WITH (MEMORY_OPTIMIZED=ON, DURABILITY=SCHEMA_ONLY) |
Native compiled stored procedure£¨±¾µØ±àÒë´æ´¢¹ý³Ì£©ÊÇÕë¶Ô´«Í³µÄ´æ´¢¹ý³Ì¶øÑԵģ¬ÊDZ¾»ú±àÒë´æ´¢¹ý³ÌºóÉú³ÉDLL£¬ÓÉÓÚ±¾»ú±àÒëÊÇÖ¸½«±à³Ì¹¹Ôìת»»Îª±¾»ú´úÂëµÄ¹ý³Ì£¬ÕâЩ´úÂëÓÉ´¦ÀíÆ÷Ö¸Áî×é³É£¬ÎÞÐè½øÒ»²½±àÒë»ò½âÊÍ¡£Ó봫ͳTSQL
Ïà±È£¬±¾»ú±àÒë¿ÉÌá¸ß·ÃÎÊÊý¾ÝµÄËٶȺÍÖ´ÐвéѯµÄЧÂÊ¡£¹Êͨ¹ý±¾»ú±àÒëµÄ´æ´¢¹ý³Ì£¬¿ÉÔÚ´æ´¢¹ý³ÌÖÐÌá¸ß²éѯºÍÒµÎñÂß¼´¦ÀíµÄЧÂÊ¡£´´½¨·½·¨±¾µØ±àÒë´æ´¢¹ý³Ì·½·¨ÈçÏ£º
CREATE PROCEDURE dbo.usp_InsertNonDurableTbl @AccountNo int, @CustName nvarchar(20), @Gender char(1), @CustGroup varchar(4), @Addr varchar(50), @Phone varchar(10) WITH NATIVE_COMPILATION, SCHEMABINDING, EXECUTE AS OWNER AS BEGIN ATOMIC WITH (TRANSACTION ISOLATION LEVEL = SNAPSHOT, LANGUAGE = N'English') BEGIN INSERT INTO [dbo].[DurableTbl] ([AccountNo] ,[CustName] ,[Gender] ,[CustGroup] ,[Addr] ,[Phone]) VALUES (@AccountNo ,@CustName ,@Gender ,@CustGroup ,@Addr ,@Phone) END END GO |
ÄÚ´æÊý¾Ý¿â¼È¿ÉÒÔ°üº¬ÄÚ´æÓÅ»¯±íºÍ±¾µØ±àÒë´æ´¢¹ý³Ì£¬ÓÖ¿ÉÒÔ°üº¬»ùÓÚ´ÅÅ̵ıíºÍ´«Í³´æ´¢¹ý³Ì£¬¸÷¸ö¶ÔÏóÖ®¼äÊý¾Ý´æ´¢¡¢ºÍ·ÃÎʵļܹ¹ÈçÏÂËùʾ£º

ʹÓó¡¾°
´«Í³»ùÓÚ´ÅÅÌµÄ±í£¬Í¨³£»áÓöµ½ÄÚ´æÒ³ÃæÖû»¡¢ËÀËø¡¢Ôì³ÉÁËÍÌÍÂÁ¿ÓÐÏÞ¡¢ÊÂÎñÑӳٽϳ¤µÈÎÊÌ⣬ÄÚ´æÊý¾Ý¿âµÄÄÚ´æÓÅ»¯±íÓÉÓÚ³£×¤Äڴ棬ÊÊÓÃÓÚµÍÑÓ³Ù¡¢¸ß²¢·¢¡¢¿ìËÙÊý¾Ý´«ÊäºÍ×°ÔØµÈ³¡¾°¡£¸÷³¡¾°µÄʹÓᢻúÖÆ¾ßÌåÈçÏ£º
µÍÑÓ³Ù£ºÓÉÓÚÄÚ´æÓÅ»¯±íºÍ±¾µØ±àÒë´æ´¢¹ý³ÌÖ±½ÓÉú³ÉDLL£¬±¾»ú±àÒë¿ÉÌá¸ß·ÃÎÊÊý¾ÝµÄËٶȺÍÖ´ÐвéѯµÄЧÂÊÏìÓ¦Ëٶȿ죬×÷Ϊ²ÎÓë´¦ÀíÒµÎñÂß¼µÄ´æ´¢¹ý³Ì¶øÑÔ£¬´ó´ó½µµÍÁË´æ´¢¹ý³Ì×÷ΪÖмä²ãÖ´ÐкͷÃÎʵÄЧÂÊ¡£Ìá¸ßÁËÓ¦ÓõķÃÎÊЧÂÊ£¬½µµÍÁËÑÓ³ÙÐÔ¡£
ÄÚ´æÓÅ»¯±íµÄ´´½¨ºÍ×°ÔØ¹ý³ÌÈçÏ£º

±¾µØ±àÒë´æ´¢¹ý³ÌµÄ´´½¨ºÍ×°ÔØ¹ý³ÌÈçÏ£º

¶ÔÓÚ»ùÓÚ´ÅÅ̵ıíºÍÄÚ´æÓÅ»¯±í£¬ÎÒÃÇ¿ÉÒÔÔÚÒÔÏÂʾÀýÖжԱÈÄÚ´æÓÅ»¯±í£º´´½¨Á½¸öͬÑù½á¹¹µÄ±í£¬Ò»¸öΪ»ùÓÚ´ÅÅ̵ıí°üº¬1700ÍòÌõ¼Ç¼£¬µ±Ê¹Ó󣹿´æ´¢¹ý³Ì²éѯһÌõ¼Ç¼£¬²éѯʱ¼äΪ67ms£»

ÁíÒ»¸öΪÄÚ´æÓÅ»¯±í°üº¬1ÒÚÌõ¼Ç¼¡£µ±Ê¹Óñ¾µØ±àÒë´æ´¢¹ý³Ì²éѯÄÚ´æÓÅ»¯±í£¬ËùÐèµÄÖ´ÐÐʱ¼ä²»µ½1ºÁÃë¡£

µ±ÎÒÃǽøÒ»²½²é¿´Á½¸ö´æ´¢¹ý³ÌµÄÖ´Ðмƻ®£¬·¢ÏÖµÚÒ»¸öÒѾʹÓþۼ¯Ë÷Òý¼ìË÷£¬µÚ¶þ¸ö±¾µØ±àÒë´æ´¢¹ý³ÌÈçËùÔ¤ÆÚµÄ£¬ÊÇ»ùÓÚÄÚ´æÓÅ»¯±íµÄË÷Òý¼ìË÷¡£


¸ßÍÌÍÂÁ¿£ºÓÉÓÚÄÚ´æÓÅ»¯±íÖ±½Ó´ÓÄÚ´æÖжÁÈ¡¡¢Ð´ÈëÊý¾Ý£¬µ±·ÃÎÊÊý¾Ýʱ£¬²»ÔÙʹÓÃlatch£¬¹Ê²»Í¬ÓÚ»ùÓÚ´ÅÅÌµÄ±í£¬¶ÔÓÚinsert/update/deleteµÄ²Ù×÷£¬latchÕùÓá¢ÒÔ¼°ËÀËøÎÊÌâËæ¼´Ïûʧ¡£

Óë´Ëͬʱ£¬¿É´ó´óÌá¸ßÁËÓ¦ÓõÄÍÌÍÂÁ¿¡£ Ëæ×ÅÅäÖõÄÔö¼Ó£¬ÆäÐÔÄܳÊÖ±ÏßÉÏÉý¡£

¿ìËÙÊý¾Ý´«Êä¡¢×°ÔØ: ÓÉÓڷdz־û¯ÄÚ´æÓÅ»¯±í½ö³£×¤Äڴ棬²¢ÎÞ»ùÓÚ´ÅÅ̵ĸ±±¾¡£µ±ÐèÒª½«Ò»Ð©ÍⲿÊý¾Ýͨ¹ýETL×°ÔØµ½ÄÚ´æÊý¾Ý¿â£¬¿ÉÒÔʹÓÃÎÞÈκÎIOºÍloggingµÄ·Ç³Ö¾Ã»¯ÄÚ´æÓÅ»¯±í×÷Ϊ¹ý¶É±í£¬¿ÉÓÐЧµÄ¼Ó¿ì×°ÔØÊý¾Ý¿âµÄËÙ¶È¡£

ÄÚ´æÊý¾Ý¿âÉè¼ÆÓëÐÔÄÜ
²¢·ÇËùÓеij¡¾°¶¼¿ÉÒÔÀûÓõ½OLTPµÄÄÚ´æÊý¾Ý¿âµÄÓÅÊÆ£¬Õë¶Ô·ûºÏÄÚ´æÊý¾Ý¿âʹÓó¡¾°µÄÐèÇó£¬ÐèÈ·¶¨ÄÄЩ¶ÔÏóÊʺÏת»¯ÎªÄÚ´æÓÅ»¯±íºÍ±¾µØ±à¼´æ´¢¹ý³Ì£¬¶ÔÓÚÒѾ´æÔÚµÄϵͳµÄ±í¶ÔÏó£¬ÈçºÎÇ¨ÒÆÕâЩ¶ÔÏó¡£
Ñ¡ÔñºÏÊʵÄÄÚ´æÓÅ»¯±í
SQL Server 2014 ÌṩÁËAMR¼´ÎªAnalysis, Migration and Reporting£¬´Ë¹¤¾ß¿ÉÀ´¼ì²âÄÄЩ»ùÓÚ´ÅÅ̵ıíºÍ´æ´¢¹ý³ÌÊʺÏÇ¨ÒÆµ½ÄÚ´æÊý¾Ý¿âÖС£ÏÂÃæµÄÁ÷³Ìͼ¸ø³öÁ˽¨ÒéµÄ¹¤×÷Á÷³Ì£º

¾³£ÓÃÓÚ×öΪºËÐÄ»ùÏßµÄһЩָ±êÈçÏ£º
1.SQL Server µÄ CPU Õ¼ÓÃÂÊ¡£
2.SQL Server µÄÄÚ´æÕ¼ÓÃÂÊ¡£
3.SQL Server µÄ I/O »î¶¯¡£
4.´¦ÀíÊÂÎñʱ£¬ÊµÀýµÄÊÂÎñÍÌÍÂÁ¿¡£
µ±ÒѾȷ¶¨ÄÄЩ±íÐèÒªµ÷ÕûΪÄÚ´æÓÅ»¯±í£¬¿ÉÕë¶ÔÄÚ´æÓÅ»¯¹ËÎʵġ°±íÄÚ´æÓÅ»¯¹ËÎÊ¡±ËùÁгöÀ´µÄÇåµ¥Ò»Ò»µ÷Õû£¬ÇÒÆÀ¹Àÿ¸ö±í¶ÔÄÚ´æµÄʹÓÃÁ¿¡£
ͨ³£ÔÚʵ¼ÊÉú²ú»·¾³ÖУ¬ÎªÁ˱£Ö¤·þÎñµÄ¸ß¿ÉÓÃÐÔºÍÊý¾ÝµÄÍêÕûÐÔ¡¢°²È«ÐÔ£¬¼¸ºõºÜÉÙÓÐÊý¾Ý¿âΪµ¥ÊµÀý½á¹¹£¬½ô½Ó×ÅÃæÁÙµÄÎÊÌâÊÇ£¬ÈçºÎʵÏÖÄÚ´æÊý¾Ý¿âµÄ¸ß¿ÉÓÃÐÔ¡£
ÄÚ´æÊý¾Ý¿âµÄ¸ß¿ÉÓÃÐÔ
SQL 2014µÄÄÚ´æÊý¾Ý¿âÓëÏÖÔÚÓÐÖîÈçȺ¼¯¡¢Alwayson¡¢replicationµÈ¸ß¿ÉÓü¼ÊõÍêÈ«¼¯³É£¬¹Ê»ùÓÚÄÚ´æÊý¾Ý¿âµÄ»ù´¡ÉÏ£¬´î½¨SQL
Server Alwayson Availability Group£¬¿¼Âǵ½Í¬Ò»Êý¾ÝÖÐÐÄ´ø¿íºÍÍøÂçÑÓ³ÙÓÅÓÚ¿çÊý¾ÝÖÐÐÄ£¬¿ÉÔÚͬһÊý¾ÝÖÐÐIJÉÓÃͬ²½Ä£Ê½×÷Ϊ¸ß¿ÉÓ㬲»Í¬Êý¾Ý¿âÖÐÐIJÉÓÃÒ첽ģʽ×÷ΪÔÖ±¸¡£¼Ü¹¹ÈçÏ£º

ÓÉÓÚÄÚ´æÊý¾Ý¿â±¾Éí³£×¤Äڴ棬ÔÚÉè¼Æ¼Ü¹¹Ê±ÐèҪעÒⲻͬ¸ß¿ÉÓõľÖÏÞÐÔ£º
Ⱥ¼¯£º¿¼Âǵ½Êý¾Ý¿â·þÎñµÄ¸ß¿ÉÓÃÐÔ£¬´«Í³»ùÓÚ´ÅÅ̵ÄÊý¾Ý¿â¾³£²ÉÓÃÊý¾Ý¿âȺ¼¯±£Ö¤Ó¦Ó÷þÎñµÄ²»¼ä¶ÏÐÔ¡£Í¬ÑùÄÚ´æÊý¾Ý¿âÊÊÓÃÓÚÊý¾Ý¿âȺ¼¯£¬¹ÊActive/Passive¡¢Active/Active¡¢ÒÔÖÁÓÚM/N£¨¶à¸ö»î¶¯½Úµã/¶à¸ö±»¶¯½Úµã£©Ä£Ê½µÄȺ¼¯¾ù¿É¿¼ÂÇÄÚ´æÊý¾Ý¿â£¬ËùÐè×¢ÒâµÄÊÇ£º
1.ÔÚ¹ÊÕÏÇл»Ê±£¬ÓÉÓÚÄÚ´æÓÅ»¯±íÐèÒª½«ËùÓÐÊý¾Ý×°ÔØµ½ÄÚ´æÖУ¬Çл»Ê±¼ä±È»ùÓÚ´ÅÅ̵ıíʱ¼äÂÔ³¤¡£
2.·Ç³Ö¾ÃÐÔÄÚ´æÓÅ»¯±íÓÉÓÚ´ÅÅ̲¢Î´´æ·ÅÊý¾Ý¸±±¾£¬ÔÚ¹ÊÕÏÇл»Ê±£¬Êý¾ÝÄÚÈݻᱻÇå¿Õ¡£
Alwayson: ÔÚSQL 2012ÖгöÏÖµÄй¦ÄÜAlwayson availability group¿ÉΪÊý¾Ý¿âÌṩ¶à¸öͬ²½»òÕßÒì²½µÄÊý¾Ý¿â¸±±¾,
ÔÚSQL 14ÖÐÄÚ´æÊý¾Ý¿âÓëAlwayson availability group¿ÉÍêÈ«¼¯³É¡£ÒÀÀµÓÚAlwaysonµÄ²¿ÊðÏòµ¼£¬ÄÚ´æÊý¾Ý¿â¿ÉÏñ´«Í³Êý¾Ý¿âÒ»Ñù£¬¿ìËÙ¼ÓÈëAlwayson
availability groupÖУ¬ËùÐè×¢ÒâµÄÊÇ£º
1.ÔÚÇл»Ö÷´ÓÊý¾Ý¿âʱ£¬Çл»Ê±¼ä½Ï¿ì£¬ÓÉÓÚÒÀÀµÓÚalwaysonµÄÊÂÎñÈÕÖ¾¼Ç¼µÄredo½ø³Ì£¬ÎÞÐè´Ó´ÅÅÌÖØÐÂ×°ÔØÊý¾Ý¿âµ½ÄÚ´æÖС£
2.ÈôÄÚ´æÊý¾Ý¿âÖаüº¬·Ç³Ö¾ÃÐÔÄÚ´æÓÅ»¯±í£¬ÓÉÓÚÎÞ·¨ÒÀÀµÓÚÊÂÎñÈÕÖ¾£¬·Ç³Ö¾ÃÐÔÄÚ´æÓÅ»¯±íµÄÊý¾Ý½ö´æÔÚÓÚprimary½Úµã¡£
ͨ³£AlwaysonÒ²±»Ê¹ÓÃÓÚ±¾µØÊý¾Ý¿âµÄ¸ß¿ÉÓÃÐÔ£¬ºÍÒìµØÊý¾Ý¿âµÄÔÖ±¸³¡¾°£¬ÓëÄÚ´æÓÅ»¯±íµÄ½áºÏÔÚÐÔÄÜÉÏ£¬¶ÔÓÚÖ÷´Ó½ÚµãÖ®¼äÍøÂçÑÓ³Ù¡¢´«µÝµÄÊÂÎñµÄ´óС¡¢ÒÔ¼°ÄÚ´æÊý¾Ý¿âËùÔڵĴÅÅÌÊÇ·ñ½Ï¿ì£¬¾ù¿ÉÓ°ÏìÆäÐÔÄÜ¡£
Replication: ¸´ÖÆÊǽ«Êý¾ÝºÍÊý¾Ý¿â¶ÔÏó´ÓÒ»¸öÊý¾Ý¿â¸´Öƺͷַ¢µ½ÁíÒ»¸öÊý¾Ý¿â£¬È»ºóÔÚÊý¾Ý¿âÖ®¼ä½øÐÐͬ²½ÒÔ±£³ÖÒ»ÖÂÐÔµÄÒ»ÖÖ¼¼Êõ¡£ÄÚ´æÊý¾Ý¿âÖеÄÄÚ´æÓÅ»¯±í¿É×÷Ϊµ¥ÏòÊÂÎñÐÔ¸´ÖƵĶ©ÔÄ·½£¬ËùÐè×¢ÒâµÄÊÇ£º
ÄÚ´æÓÅ»¯±íµÄÐÐÊý¾ÝÏÞÖÆÔÚ8060 bytesһϡ£
¸´Öƶ©ÔÄ·½µÄÊý¾ÝÀàÐÍÒª×ñÑÄÚ´æÓÅ»¯±íµÄÏÞÖÆ¡£
Êý¾Ý¿â¼Ü¹¹Éè¼Æ
ÓÉÓÚ³Ö¾ÃÐÔÄÚ´æÓÅ»¯±íÐèÒªÔÚ·þÎñÆô¶¯Ê±£¬½«Êý¾Ý×°ÔØµ½ÄÚ´æÖУ¬ÕâÉæ¼°¶ÔÏÖÓÐRTOÓÐÒ»¶¨Á¿µÄÓ°Ïì¡£ÔÚÉè¼ÆÄÚ´æÊý¾Ý¿âÎļþ×éµÄ¼Ü¹¹Ê±£¬Ðè×¢ÒâÍêÈ«³Ö¾ÃµÄÄÚ´æÓÅ»¯±íµÄ´óС¡¢ÒÔ¼°×°ÔØÊý¾ÝµÄËÙ¶È¡£
ÔÚÓɼܹ¹ºÍÒµÎñÊý¾ÝÁ¿È·¶¨ÄÚ´æÓÅ»¯±íµÄ´óСµÄǰÌáÏ£¬¿Éͨ¹ý¶à¸öContainerÌáÉýÄÚ´æÊý¾Ý¿âµÄÊý¾Ý×°ÔØµÄËÙ¶È¡£
ÓÉÓÚÿ¸öContainer°üº¬×żì²éµãÎļþ¶Ô£¨Checkpoint File Pairs ¼´ÎªCFPs£©£¬CFP
ÓÉÊý¾ÝÎļþºÍ²îÒìÎļþ¹¹³É£¬ÄÚ´æÓÅ»¯±íÖеÄÊý¾Ý´æ´¢ÔÚ CFP ÖС£ÎªÌá¸ßÊý¾Ý¿â·þÎñÆô¶¯Ê±RTO£¬ÔÚΪÄÚ´æÓÅ»¯Êý¾Ý¿â´´½¨¶à¸öcontainerʱ£¬¿É²¢Ðд¦Àí²»Í¬ContainerÄڵļì²éµãÎļþ¶Ô£¬¼´ÎªÌá¸ß×°ÔØÊý¾Ýµ½ÄÚ´æÊý¾Ý¿âµÄËÙ¶È¡£

ÀýÈç´´½¨Container¿ÉÔÚ´´½¨Êý¾Ý¿âʱ´´½¨£¬»òÕßÒ»¸ö»ò¶à¸öcontainerÌí¼Óµ½ MEMORY_OPTIMIZED_DATA
Îļþ×飬½Å±¾ÈçÏÂËùʾ£º
CREATE DATABASE InMemory_DBTest ON PRIMARY (NAME = [InMemory_DB_hk_fs_data], FILENAME = 'D:\InMemory_DBTest\InMemory_DB_data.mdf'),
FILEGROUP [InMemory_DB_fs_fg] CONTAINS MEMORY_OPTIMIZED_DATA
(NAME = [InMemory_DB_fs_dir], FILENAME = 'D:\
InMemory_DBTest\ InMemory_DB_hk_fs_dir'),
(NAME = [InMemory_DB_fs_dir2], FILENAME = 'D:\
InMemory_DBTest\ InMemory_DB_hk_fs_dir2'),
(NAME = [InMemory_DB_fs_dir3], FILENAME = 'D:\
InMemory_DBTest\ InMemory_DB_hk_fs_dir3')
LOG ON (name = [test_log], Filename='D:\ InMemory_DBTest\
InMemory_DB.ldf', size=100MB)
COLLATE Welsh_100_BIN2
Go |
´ËÍ⣬²¢ÔÚ²»Í¬µÄÇý¶¯Æ÷ÉÏ·ÖÅäÕâЩContainer£¬ÒÔʵÏÖ¸ü¶à´ø¿íÀ´½«Êý¾Ý´«Êäµ½ÄÚ´æÖС£ÓÉÓÚÄÚ´æÊý¾Ý¿âÒýÇæ»á¸ù¾ÝÂÖѯ·¨¿çContainer·Ö·¢Êý¾ÝÎļþºÍ²îÒìÎļþ£¬ÎªÌá¸ßContainer¶Ô´ÅÅ̵Ĵø¿íµÄÐÔÄÜ£¬Ó¦ÔÚÿ¸ö´ÅÅ̾ùºâÊý¾ÝÎļþºÍ²îÒìÎļþ¡£
¶ÔÓÚÉè¼ÆÄÚ´æÓÅ»¯±íʱ£¬ÐèÒª¿¼ÂÇbucketµÄÊýÁ¿£¬Ò»°ãÀ´½²½¨ÒébucketµÄÊýÁ¿ÎªÔ¤¹À±í¼Ç¼µÄ1-2±¶¡£
Ïà¶ÔÓÚ´ÅÅÌ£¬ÄÚ´æµÄÊý¾Ý¶ÁдËÙ¶ÈÒª¸ß³ö¼¸¸öÊýÁ¿¼¶£¬½«Êý¾Ý±£´æÔÚÄÚ´æÖÐÏà±È´Ó´ÅÅÌÉÏ·ÃÎÊÄܹ»¼«´óµØÌá¸ßÓ¦ÓõÄÐÔÄÜ¡£ÓÉÓÚÄÚ´æÊý¾Ý¿âÊÇÒÔÎþÉüÄÚ´æ×ÊԴΪ´ú¼Û»»È¡Êý¾Ý´¦ÀíʵʱÐԵģ¬ÒÔÏÂͼ±íÏÔʾÁ˽üЩÄê¼ÆËã»úÓ²¼þ£¨Äڴ棩·ÉËÙ·¢Õ¹£¬ÎªÄÚ´æÊý¾Ý¿âµÄʹÓôøÀ´ÁË¿ÉÄÜÐÔ¡£

ÄÚ´æÊý¾Ý¿âÔÚʹÓÃÓ²¼þ×ÊÔ´Ó봫ͳ±íÓÐ×ÅÒ»¶¨µÄÌØÊâÐÔ£¬ÎªÁËÌá¸ßÄÚ´æÊý¾Ý¿âÐÔÄÜ£¬¶Ô´æ´¢ÄÚ´æÊý¾Ý¿âµÄ¸÷·½ÃæµÄ×ÊÔ´ÓÐ×űȴ«Í³Êý¾Ý¿â¸ü¸ßµÄÒªÇ󡣿ɲο¼ÈçϾßÌåÐèÇó£º
Äڴ棺ËùÓÐÄÚ´æÓÅ»¯±íÊdz£×¤ÄÚ´æµÄ£¬Òò´ËÐè×ã¹»µÄÎïÀíÄÚ´æÀ´´æ´¢ÄÚ´æÓÅ»¯±í¡£µ«Õâ²¢²»Òâζ×ÅÐèÒª½«Õû¸öÊý¾Ý¿â·ÅÈëÄÚ´æÖУ¬¶øÊǽö½«Æµ·±·ÃÎʵÄÈÈÊý¾Ý³£×¤ÄÚ´æÓÅ»¯±íÖС£ÇÒ×î¸ß¿ÉÒÔÖ§³Öµ½256GBµÄÊý¾ÝÁ¿¡£
¿ÉʹÓÃÈçϽű¾²é¿´ÄÚ´æÓÅ»¯±íµÄÄÚ´æÊ¹ÓÃÁ¿£º
select object_name(object_id), * from sys.dm_db_xtp_table_memory_stats |
´ÅÅÌ£ºÍ¬Ñù´æÔÚlogºÍdataÁ½ÀàÎļþ¡£LogÎļþÒÀÈ»¼Ç¼ÊÂÎñÐÅÏ¢¡£Õë¶ÔÓÚ³Ö¾ÃÐÔµÄÄÚ´æÓÅ»¯±í£¬ÎªÁ˽µµÍlog
IOµÄ¾ºÕù¡¢±£Ö¤µÍÑÓ³Ù£¬Ò»°ã½¨ÒéÖÁÉÙSSD¡£
CPU: ¿É¸ù¾ÝOLTP»·¾³µÄ¸ºÔØ¿¼ÂÇCPUµÄÅäÖã¬ÈçÁ½¸öCPU socketÖ§³ÅÒ»¸öÖеȼ¶±ðµÄ·þÎñÆ÷¡£
Network: Õë¶ÔÓÚµ¥»úµÄÄÚ´æÊý¾Ý¿â£¬ÓÉÓÚÊý¾Ý´æ´¢ÓÚÊý¾Ý¿â·þÎñÆ÷µÄÄÚ´æÖУ¬¶ÔÓÚÊý¾Ý½»»¥ÈÔȻΪӦÓò㵽Êý¾Ý²ãµÄ·ÃÎÊ£¬ÈçÒÔÍùÊý¾Ý½»»¥£¬¶ÔÓÚÍøÂ粢δÓнϸߵÄÒÀÀµÐÔ¡£¶ÔÓÚÄÚ´æÊý¾Ý¿âÓ¦ÓÃÓÚÊý¾Ý¿â¸ß¿ÉÓúÍÒìµØÔÖ±¸µÄÇé¿öÏ£¨Èçͬ²½/Ò첽ģʽµÄAlways-on£©£¬Í¬Ò»Êý¾ÝÖÐÐĵÄÍøÂçÑÓ³Ù£¬ÒÔ¼°²»Í¬Êý¾ÝÖеÄÍøÂçÑÓ³Ù¶ÔÓÚʹÓÃÓë¸ß¿ÉÓÃÐÔºÍÔÖ±¸µÄÄÚ´æÊý¾Ý¿âµÄÊÂÎñÓÐÒ»¶¨Á¿µÄÓ°Ïì¡£
ά»¤¹ÜÀíÄÚ´æÊý¾Ý¿â
ÓÉÓÚÄÚ´æÊý¾Ý¿â¶ÔÄÚ´æÓÐ׎ϴóµÄÒÀÀµ£¬ÔÚ¹ÜÀíÄÚ´æ·½Ãæ£¬¿ÉÒÔ¿¼ÂÇʹÓÃResource governorÀ´¹ÜÀíÄÚ´æÊý¾Ý¿â¡£Ðè×¢ÒâÈçÏ£º
ͨ¹ýÖ¸¶¨Resource governorµÄhard limit£¨Èç80%£©À´È·±£ÆäËüÄÚ²¿×ÊÔ´ºÍ·ÇÄÚ´æÓÅ»¯±íµÄÄÚ´æÊ¹ÓÃÁ¿¡£
ÿ¸öresource pool¿ÉÒÔ°üº¬¶à¸öÄÚ´æÊý¾Ý¿â£¬µ«ÊÇÒ»¸öÄÚ´æÊý¾Ý¿âÔÚͬһʱ¿ÌÖ»¹ØÁªÒ»¸öresource
pool¡£
Memory Usage ReportÊÇSSMS×Ô´øµÄ¼à¿ØÄÚ´æÊ¹ÓÃÁ¿µÄ±¨±í£¬¿ÉÒÔ¿ìËٵIJ鿴ÏÖÓлº´æµÄÄÚ´æÓÅ»¯¶ÔÏóµÄʹÓÃÇé¿ö£º

±¸·ÝÔÚÈÕ³£Î¬»¤¹ÜÀíÊý¾Ý¿âÖÐÒ²¼«ÎªÖØÒª£¬¶Ô³Ö¾ÃÐÔÄÚ´æÓÅ»¯±í£¬ÄÚ´æÓÅ»¯±í×÷ΪÊý¾Ý¿â¶ÔÏóÖеÄÒ»²¿·Ö£¬±»°üº¬ÔÚ³£¹æÊý¾Ý¿â±¸·Ý²ßÂÔÖУ¬¹Ê´«Í³µÄÈ«±¸¡¢²îÒ챸·Ý¡¢ÈÕÖ¾±¸·Ý²ßÂÔÎÞÐè¸ü¸Ä£¬¼´¿ÉʵÏÖ¶ÔÄÚ´æÓÅ»¯±íµÄ±¸·Ý¡£
Ïã¸ÛÈüÂí»á°¸Àý²Î¿¼
ÓйØÏã¸ÛÈüÂí»á¶ÔÓÚSQL Server 2014µÄ²É¹ºÊ±£¬ÄÚ´æÊý¾Ý¿âµÄ¼¼ÊõÑéÖ¤ÖеÄÓ¦Óó¡¾°ºÍÐÔÄܲâÊÔÖ¸±ê£¬¶ÁÕ߿ɲο¼ÏÂÃæµÄÎÄÕ¡£
http://cw.com.hk/news/hk-jockey-club-and-centaline-tap-new-release-sql-server-2014?page=0,0
¼¼Êõ¼Ü¹¹
ÔÚ¼¼ÊõÑéÖ¤µÄÐÔÄܲâÊÔÖУ¬Ïã¸ÛÈüÂí»áÒÔÿÃë´¦Àí10000µÄƱ¾Ý£¬ÇÒͬʱ´¦ÀíÉú³ÉµÄ1.5µ½2±¶µÄ¶Ä×¢£¬¶Ëµ½¶ËµÄ´¦Àíʱ¼äÔÚ1ÃëÒÔÏ£¬ÄÚ´æÊý¾Ý¿â¶ËµÄÖ´ÐÐʱ¼äÔÚºÁÃë¼¶±ð¡£¸ÅÄîÑéÖ¤¼Ü¹¹Éè¼ÆÈçÏÂͼËùʾ£º

¸ÅÄîÑéÖ¤ÖÐÖ÷Òª·ÖΪËÄ´óÄ£¿é£º
1.Ʊ¾ÝÉú³ÉÆ÷ÒÔÿÃë10000µÄËٶȲ»¶ÏµÄÏòÒµÎñÂß¼²ã·¢ËÍÆ±¾Ý£»
2.ÒµÎñÂß¼²ãͨ¹ýµ÷Óñ¾µØ´æ´¢¹ý³ÌºÍÉú³É»º´æµÄ·½Ê½½«ÔʼÊý¾Ýת»»ÎªÆ±¾ÝºÍ¶Ä×¢£»
3.SQL Server 2014µÄÄÚ´æÊý¾Ý¿âͨ¹ý±¾µØ±àÒë´æ´¢¹ý³ÌÏòÄÚ´æÓÅ»¯±í²åÈëºÍ²éѯÊý¾Ý£»
4.WCFµÄdashboardͨ¹ý±¾µØ±àÒë´æ´¢¹ý³ÌºÍÖ±½Ó¶ÁÈ¡Âß¼²ãµÄ»º´æÊý¾Ý¿â½«Êý¾ÝÒÔÈÈͼ¡¢ÆøÅÝͼ¡¢ÏßͼÒÔ¼°Í¼±íµÄÐÎʽչʾ×îеÄͶע¡¢×î¸ßµÄͶ×Ê¡¢ÒÔ¼°²»Í¬ÇþµÀµÄͶעÇé¿öµÈµÈ¡£
|