SQL SERVER 2016 IN MEMORY

Podobne dokumenty
Tuning SQL Server dla serwerów WWW

BEST S.A. CASE STUDY: DROGA DO IN MEMORY

DATABASE SNAPSHOT GEEK DIVE. Cezary Ołtuszyk Blog: coltuszyk.wordpress.com

Wprowadzenie do BD Operacje na bazie i tabelach Co poza zapytaniami? Algebra relacji. Bazy Danych i Systemy informacyjne Wykład 2.

SQL SERVER 2012 i nie tylko:

Nowe technologie baz danych

Język SQL, zajęcia nr 1

Projektowanie systemów baz danych

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

Bazy danych Ćwiczenia projektowe

Tworzenie modelu logicznego i fizycznego danych.

Bazy danych i usługi sieciowe

Paweł Rajba

Bazy Danych i Usługi Sieciowe

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

ACESS- zadania z wykorzystaniem poleceń SQL

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

1 Zaznacz poprawne stwierdzenia dotyczące grup plików (filegroup) możemy określić do której grupy plików trafi

Administracja i programowanie pod Microsoft SQL Server 2000

Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski.

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Paweł Cieśla. Dokumentacja projektu

Wprowadzenie do języka T-SQL. Michał Bleja

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Bazy danych 10. SQL Widoki

SQL - DDL. 1 Tabele systemowe. 2 Typy danych

Wykład 6. SQL praca z tabelami 3

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

1. Połączenie z bazą danych. W wybranym edytorze tworzymy plik sqltest.py i umieszczamy w nim poniższy kod. #!/usr/bin/python3 import sqlite3

LAB 6 BEGIN TRANSACTION, COMMIT, ROLLBACK, SET TRANSACTION ISOLATION LEVEL,

Bazy danych. Dr inż. Paweł Kasprowski

Odnawialne Źródła Energii I rok. Tutorial PostgreSQL

Administracja i programowanie pod Microsoft SQL Server 2000

Systemowe aspekty baz

Projektowanie aplikacji w modelu MVC opartej o framework CodeIgniter

Autor: Joanna Karwowska

Aspekty aktywne baz danych

NARZĘDZIA WIZUALIZACJI

Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski.

3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych

Internetowe Bazy Danych. dr inż. Roman Ptak Katedra Informatyki Technicznej

ZASADY PROGRAMOWANIA I MODELOWANIA BAZ DANYCH PLATFORMY 4NET

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

Hurtownia Świętego Mikołaja projekt bazy danych

Bazy danych 6. Klucze obce. P. F. Góra

Oracle PL/SQL. Paweł Rajba.

DB2 with BLU acceleration rozwiązanie in-memory szybsze niż pamięć operacyjna&

Aby uruchomić program klienta i połączyć się z serwerem, należy komendę:

Plan bazy: Kod zakładający bazę danych: DROP TABLE noclegi CASCADE; CREATE TABLE noclegi( id_noclegu SERIAL NOT NULL,

Bartosz Jachnik - Kino

Zapytania, złączenia, optymalizacja zapytań, planowanie zapytań, optymalizacja indeksów.

Tworzenie baz danych i tabel

LAB 3 (część 1 Projektu)

Wykład 05 Bazy danych

UPDATE Studenci SET Rok = Rok + 1 WHERE Rodzaj_studiow =' INŻ_ST'; UPDATE Studenci SET Rok = Rok 1 WHERE Nr_albumu IN ( '111345','100678');

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Systemowe aspekty baz danych

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

D D L S Q L. Co to jest DDL SQL i jakie s jego ą podstawowe polecenia?

Wykład :45 BD-1 W_3

Komunikacja z bazą danych psql

Aplikacje bazodanowe. Laboratorium 1. Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, / 37

Politechnika Poznańska TWO

Bazy danych 9. SQL Klucze obce Transakcje

Tworzenie baz danych. Stworzenie bazy danych. Pliki danych. Najprostsze polecenie: CREATE DATABASE baza. Tworzy się dokładna kopia bazy model

MySQL. Darmowa baza danych. Æwiczenia praktyczne

SELECT * FROM tabela WHERE warunek wybiera dane spełniające podany warunek

znaleźć wszystkie rekordy dotyczące adresów przy ulicy Hożej (dowolnego miasta!);

Administracja i programowanie pod Microsoft SQL Server 2000

060 SQL FIZYCZNA STRUKTURA BAZY DANYCH. Prof. dr hab. Marek Wisła

Full Text Search. Study Group Tomasz Libera

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie

W SQL Serwerze 2008 wprowadzono parametry tablicowe (Table Valued Parameters - TVP).

Wykład 4. SQL praca z tabelami 1

Instrukcja CREATE TABLE

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Język SQL, zajęcia nr 2

Internetowe bazy danych

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie

Programowanie w Ruby

Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, Spis treści

Wykład 8. SQL praca z tabelami 5

SQL/MySQL. Rafał Kern

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika

Fizyczna struktura bazy danych w SQL Serwerze

Relacyjne bazy danych. Podstawy SQL

Ref. 7 - Język SQL - polecenia DDL i DML

Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion. Autor: Joanna Karwowska

Bazy danych. Polecenia SQL

Przykładowa baza danych BIBLIOTEKA

Bazy danych. dr inż. Arkadiusz Mirakowski

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

SQL Server. Odtwarzanie baz danych.

Iwona Milczarek, Małgorzata Marcinkiewicz, Tomasz Staszewski. Poznań,

Transkrypt:

SQL SERVER 2016 IN MEMORY 4 Pytania, które boimy się zadać Cezary Ołtuszyk Blog: coltuszyk.wordpress.com

Kilka słów o mnie Kierownik Działu Administracji Systemami w firmie BEST S.A. (warstwa bazodanowa i aplikacyjna) Konsultant z zakresu SQL Server (projektowanie infrastruktury, tuning, troubleshooting) Posiadacz serii certyfikatów z dziedziny SQL Server, HYPER-V, Windows Server, Red Hat Prelegent na konferencjach informatycznych i spotkaniach grup pasjonackich Autor artykułów i blogger (wss.pl, technet, coltuszyk.wordpress.com)

Plan spotkania I. Wprowadzenie do tematu II. III. IV. Po co pliki, przecież miało być w RAM? I tak mam wszystko w RAM, czy opłaca się zmienić kod? Ile koszyków dla indeksu wybrać? V. Jakie są wady mechanizmu In Memory? VI. Podsumowanie

Wprowadzenie do tematu Ile czasu chciałbyś czekać na swoje dane? 42 godziny vs 1 sekunda http://queue.acm.org/detail.cfm?id=1563874

Wprowadzenie do tematu

Po co pliki, przecież miało być w RAM? Przykładowy kod tworzący bazę wspierającą tabele In Memory : CREATE DATABASE InMemDB ON PRIMARY ( NAME = [InMemDB_data], FILENAME = 'Q:\data\InMemDB_data.mdf', SIZE = 500MB ), FILEGROUP [SampleDB_mod_fg] CONTAINS MEMORY_OPTIMIZED_DATA ( NAME = [InMemDB_mod_dir], FILENAME = 'R:\data\InMemDB_mod_dir ' ), ( NAME = [InMemDB_mod_dir], FILENAME = 'S:\data\InMemDB_mod_dir' ) LOG ON ( NAME = [InMemDB_log], FILENAME = 'L:\log\InMemDB_log.ldf', SIZE = 500MB ) ; Pliki dla tabel InMemory!!!

Po co pliki, przecież miało być w RAM?

I tak mam wszystko w RAM, czy opłaca się zmienić kod?

I tak mam wszystko w RAM, czy opłaca się zmienić kod?

I tak mam wszystko w RAM, czy opłaca się zmieniać kod?

Ile koszyków wybrać? CREATE TABLE [dbo].[tbllookuphash] ( [message_id] [int] NOT NULL, [language_id] [smallint] NOT NULL, [severity] [tinyint] NULL, [is_event_logged] [bit] NOT NULL, [text] [nvarchar](2048) NOT NULL, [testid] int NOT NULL INDEX IX_tblLookupMem_testID, CONSTRAINT PK_tblLookupHash PRIMARY KEY NONCLUSTERED HASH (message_id, language_id) WITH (BUCKET_COUNT = 250000) ) WITH (MEMORY_OPTIMIZED = ON) Jak wybrać tę liczbę?!

Ile koszyków wybrać?

Ile koszyków wybrać?

Jakie są wady mechanizmu In Memory? Feature/Limit SQL Server 2014 SQL Server 2016 Maximum size of durable table 256 GB 2 TB LOB (varbinary(max), [n]varchar(max)) Not supported Supported* Transparent Data Encryption (TDE) Not supported Supported Offline Checkpoint Threads 1 1 per container ALTER PROCEDURE / sp_recompile Not supported Supported (fully online) Nested native procedure calls Not supported Supported Natively-compiled scalar UDFs Not supported Supported ALTER TABLE DML triggers Not supported (DROP / re-create) Not supported Partially supported (offline details below) Partially supported (AFTER, natively compiled) Indexes on NULLable columns Not supported Supported Non-BIN2 collations in index key columns Not supported Supported Non-Latin codepages for [var]char columns Not supported Supported Non-BIN2 comparison / sorting in native modules Not supported Supported Foreign Keys Not supported Supported Check/Unique Constraints Not supported Supported Parallelism Not supported Supported OUTER JOIN, OR, NOT, UNION [ALL], DISTINCT, EXISTS, IN Not supported Supported Multiple Active Result Sets (MARS) (Means better Entity Framework support.) Not supported Supported SSMS Table Designer Not supported Supported

Podsumowanie W momencie, gdy nasze tabele in memory mają przechowywać dane po restarcie serwera, to tworzone są pliki data i delta Przy odpowiednich zapytaniach opłaca się skorzystać z baz danych w pamięci Dla indeksów haszujących ustawmy nie mniej koszyków niż wynosi ilość przewidywanych unikalnych wierszy Wraz z SQL 2016 ilość niedogodności w modelu in memory spada