Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

SQL Server 2016:Ulepszenia OLTP w pamięci

Aktualizacja:30 listopada 2015

Zespół SQL Server opublikował wpis w blogu z nowymi funkcjami In-Memory OLTP w CTP 3.1:

  • Dostępny jest SQL Server 2016 Community Technology Preview 3.1

Aktualizacja:17 listopada 2015
Jos de Bruijn opublikował zaktualizowaną listę zmian OLTP w pamięci od wersji CTP 3.0:

  • In-Memory OLTP – co nowego w SQL2016 CTP3

Wcześniej pisałem o zmianach w Grupach Dostępności w SQL Server 2016, o których dowiedziałem się na MS Ignite w dużej mierze z sesji Joey'a D'Antoniego i Denny'ego Cherry'ego. Kolejną świetną sesję przeprowadzili Kevin Farlee i Sunil Agarwal na temat zmian, jakie czekają na In-Memory OLTP (funkcja znana wcześniej jako „Hekaton”). Ciekawa uwaga:wideo z tej sesji pokazuje demo, w którym Kevin używa CTP2.0 (kompilacja 13.0.200) – choć prawdopodobnie nie jest to wersja, którą zobaczymy publicznie tego lata.

Funkcja/limit SQL Server 2014 SQL Server 2016
Maksymalny łączny rozmiar trwałych stołów 256 GB 2 TB
LOB (zmienna(max), [n]varchar(max)) Nieobsługiwane Obsługiwane*
Przejrzyste szyfrowanie danych (TDE) Nieobsługiwane Obsługiwane
Wątki punktu kontrolnego offline 1 1 na kontener
ZMIANA PROCEDURY / sp_recompile Nieobsługiwane Obsługiwane (w pełni online)
Zagnieżdżone wywołania procedur natywnych Nieobsługiwane Obsługiwane
Natywnie skompilowane skalarne UDF Nieobsługiwane Obsługiwane
ZMIEŃ TABELĘ Nieobsługiwane
(UPUŚĆ / UTWÓRZ ponownie)
Częściowo obsługiwane
(offline – szczegóły poniżej)
Wyzwalacze DML Nieobsługiwane Częściowo obsługiwane
(PO, natywnie skompilowane)
Indeksy w kolumnach dopuszczających NULL Nieobsługiwane Obsługiwane
Sortowanie inne niż BIN2 w kolumnach klucza indeksu Nieobsługiwane Obsługiwane
Niełacińskie strony kodowe dla kolumn [var]char Nieobsługiwane Obsługiwane
Porównanie / sortowanie bez BIN2 w modułach natywnych Nieobsługiwane Obsługiwane
Klucze obce Nieobsługiwane Obsługiwane
Sprawdź/unikalne ograniczenia Nieobsługiwane Obsługiwane
Równoległość Nieobsługiwane Obsługiwane
ZŁĄCZENIE ZEWNĘTRZNE, LUB, NIE, UNION [WSZYSTKIE], DISTINCT, EXISTS, IN Nieobsługiwane Obsługiwane
Wiele aktywnych zestawów wyników (MARS)
(Oznacza lepszą obsługę Entity Framework.)
Nieobsługiwane Obsługiwane
Projektant tabel SSMS Nieobsługiwane Obsługiwane

* Obsługa LOB nie będzie dostępna w dostawach CTP tego lata.

ALTER TABLE jest operacją w trybie offline i będzie obsługiwać dodawanie/upuszczanie kolumn, indeksów i ograniczeń. Pojawią się nowe rozszerzenia składni obsługujące niektóre z tych działań. Możesz zmienić wartości liczników łyżek za pomocą prostej przebudowy (należy jednak pamiętać, że każda przebudowa będzie wymagała 2X pamięci):

ALTER TABLE dbo.InMemoryTable
  ALTER INDEX IX_NC_Hash 
  REBUILD WITH (BUCKET_COUNT = 1048576);

Oprócz tych ulepszeń pojemności/funkcji, istnieje również kilka dodatkowych ulepszeń wydajności. Na przykład będzie można dodać indeks magazynu kolumn w pamięci, aktualizowalny, nieklastrowany do tabel opartych na dyskach lub w pamięci. I uprościły sposób przetwarzania usuniętych wierszy (w 2014 roku te operacje wykorzystują FileStream; w 2016 roku pominą ten krok). Wprowadzono również ulepszenia w doradcach migracji i analizatorze najlepszych praktyk – teraz są one lżejsze w zakresie gromadzenia danych i zapewniają więcej kontekstu na temat złożoności migracji.

W przypadku niektórych z tych zmian nadal istnieją pewne ograniczenia. Na przykład TDE wymaga dodatkowych kroków podczas uaktualniania bazy danych. Ale jasne jest, że w miarę jak OLTP w pamięci staje się bardziej dojrzały, usuwają wiele największych przeszkód na drodze do adopcji.

Ale czekaj, jest więcej! Jeśli chcesz używać protokołu OLTP w pamięci w Azure SQL Database, latem tego roku zostanie udostępniona publiczna wersja zapoznawcza z pełną obsługą. Nie potrzebujesz więc własnego serwera fizycznego z 2 TB pamięci, aby wykorzystać tę funkcję do granic możliwości. Nie oczekuj jednak, że ta funkcja zostanie przeniesiona do wersji standardowej.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jaki jest najlepszy sposób wyświetlania obrazu z bazy danych serwera sql w asp.net?

  2. Jak uzyskać wartości kolumn tożsamości bez podawania nazwy kolumny tożsamości w Select — samouczek SQL Server/T-SQL, część 46

  3. Przykłady ABS() w SQL Server

  4. Co to jest SQL Server Management Studio (SSMS)?

  5. 3 sposoby na uzyskanie schematu zbioru wyników w SQL Server