Tuning SQL Server dla serwerów WWW

Podobne dokumenty
SQL SERVER 2016 IN MEMORY

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

Nowe technologie baz danych

Bazy danych i usługi sieciowe

Bazy Danych i Usługi Sieciowe

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

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

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Ćwiczenia 2 IBM DB2 Data Studio

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

Informatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC.

Paweł Cieśla. Dokumentacja projektu

Bazy danych dla producenta mebli tapicerowanych. Bartosz Janiak Marcin Sikora Wrocław r.

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

Administracja i programowanie pod Microsoft SQL Server 2000

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

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

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

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Język SQL, zajęcia nr 2

Dokumentacja instalacyjna i konfiguracyjna Aplikacja ADR. Wersja dokumentu 1.0. Strona 1/9

akademia androida Składowanie danych część VI

Internetowe bazy danych

Wykład 6. SQL praca z tabelami 3

Aplikacja przetwarzająca własne funkcje agregujące w kodzie zarządzalnym.

Wykład 05 Bazy danych

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

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

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

Język SQL, zajęcia nr 1

Założenia do ćwiczeń: SQL Server UWM Express Edition: \SQLEXPRESS. Zapoznaj się ze sposobami użycia narzędzia T SQL z wiersza poleceń.

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

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

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

Bazy danych 10. SQL Widoki

LAB 3 (część 1 Projektu)

NARZĘDZIA WIZUALIZACJI

Instalacja MySQL.

SQL Server. Odtwarzanie baz danych.

Administracja i programowanie pod Microsoft SQL Server 2000

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

Systemowe aspekty baz

Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie

Struktura drzewa w MySQL. Michał Tyszczenko

Bazy danych 9. SQL Klucze obce Transakcje

Wykład 8. SQL praca z tabelami 5

Wykład 5. SQL praca z tabelami 2

Paweł Rajba

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

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie

SPECYFIKACJA FUNKCJONALNA OPROGRAMOWANIA 11 marca 2014 XLZEBRAPRINTER

Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki

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

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Dokument zawiera instrukcję samodzielnej Instalacji Microsoft SQL Server 2008 R2 RTM - Express na potrzeby systemu Sz@rk.

Projektowanie systemów baz danych

Wprowadzenie do JDBC z wykorzystaniem bazy H2

Aspekty aktywne baz danych

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie

Programowanie w Ruby

Tworzenie aplikacji bazodanowych w delphi dla dużych baz danych FRAMEWORK IMPET

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Bazy danych 12. SQL Wyszukiwanie pełnotekstowe

Typy tabel serwera MySQL

Tworzenie baz danych i tabel

DBPLUS Data Replicator Subtitle dla Microsoft SQL Server. dbplus.tech

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

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.

Programowanie obiektów

Temat projektu: mpk-database

Instrukcja CREATE TABLE

Komunikacja z bazą danych psql

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

Wielojęzykowość w aplikacjach J2EE. Tomasz.Skutnik@e-point.pl

Tworzenie bazy danych

Platforma.NET laboratorium 4 Aktualizacja: 15/11/2013. Visual Basic.NET dostęp do bazy danych. Baza Microsoft SQL Server Compact

Bazy danych 9. Klucze obce Transakcje

Bazy danych 9. Klucze obce Transakcje. P. F. Góra

Automatyka i Robotyka ROK III TEMAT: TWORZENIE I ZARZĄDZANIE INTERNETOWĄ BAZĄ DANYCH

Leszek Stasiak Zastosowanie technologii LINQ w

Gerard Frankowski, Zespół Bezpieczeństwa PCSS. Nowoczesne technologie bliżej nas Poznań,

BAZY DANYCH laboratorium 2 tworzenie bazy danych, podstawy języka SQL

Podstawy Pentaho Data Integration

Systemowe aspekty baz danych

Dokumentacja SQL API 1

Kurs. Podstawy MySQL

Administracja bazami danych

Bazy danych 7. SQL podstawy

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

Relacyjne bazy danych. Podstawy SQL

Bazy danych 5. Samozłaczenie SQL podstawy

Bazy danych wykład dwunasty PL/SQL, c.d. Konrad Zdanowski ( Uniwersytet Kardynała Stefana Bazy danych Wyszyńskiego, wykładwarszawa)

SIECI KOMPUTEROWE I BAZY DANYCH

BAZY DANYCH Cz III. Transakcje, Triggery

Funkcje w PL/SQL Funkcja to nazwany blok języka PL/SQL. Jest przechowywana w bazie i musi zwracać wynik. Z reguły, funkcji utworzonych w PL/SQL-u

Transkrypt:

Tuning SQL Server dla serwerów WWW Prowadzący: Cezary Ołtuszyk

Zapraszamy do współpracy!

Plan szkolenia I. Wprowadzenie do tematu II. Nawiązywanie połączenia z SQL Server III. Parametryzacja i przygotowanie zapytań IV. Jedna czy wiele wartości? V. Przechowywanie stanu sesji, a IN MEMORY OLTP VI. Podsumowanie

Wprowadzenie do tematu

Wprowadzenie do tematu

Nawiązywanie połączenia z SQL Server Konta aplikacyjne, czy osobne dla każdego użytkownika? Uwierzytelnianie WINDOWS, czy SQL SERVER? Jeżeli uwierzytelnianie WINDOWS to NTLM czy KERBEROS?

Nawiązywanie połączenia z SQL Server Pula połączeń w SQL SERVER: Połączenia do serwera są drogie (94KB + 3 x NETWORK PACKET SIZE) Powinno być mniej połączeń niż użytkowników ADO Connection String ma odpowiednie ustawienia (domyślny przedział puli wynosi 1-100) Jedna pula połączeń jest tworzona dla: Procesu Aplikacji Connection String-u (ważna baza!!!) Dla każdego użytkownika przy uwierzytelnianiu WINDOWS

Parametryzacja i przygotowanie zapytań Droga naszego zapytania wygląda następująco:

Parametryzacja i przygotowanie zapytań Która z opcji poniżej jest bardziej wydajna? SELECT sod.salesorderid, SalesOrderDetailID, ProductID, LineTotal FROM Sales.SalesOrderDetail AS sod WHERE sod.salesorderid = 70000 VS SELECT sod.salesorderid, SalesOrderDetailID, ProductID, LineTotal FROM Sales.SalesOrderDetail AS sod WHERE sod.salesorderid = @id

Jedna czy wiele wartości?

Przechowywanie stanu sesji: podstawy IN MEMORY OLTP

Przechowywanie stanu sesji: podstawy IN MEMORY OLTP Durable optimized tables: Tabele, które po uruchomieniu bazy SQL Server ładuje do RAM, ale ich dane są zapisane na dysku twardym serwera Non durable optimized tables: Tabele, które istnieję jedynie w pamięci RAM, po restarcie serwera tracimy zawarte w nich informacje Natively Compiled Stored Procedures and Functions: Procedury składowane i funkcje skalarne użytkownika, które są przekompilowane do kodu natywnego, dzięki czemu SQL Server nie musi ich interpretować podczas wykonania. No Locks + Row Versioning: Rekordy w tabelach In memory mają wbudowana kontrole wersji i nie używają tradycyjnych mechanizmów blokujących

Przechowywanie stanu sesji: podstawy IN MEMORY OLTP 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 ' ) LOG ON ( NAME = [InMemDB_log], FILENAME = 'L:\log\InMemDB_log.ldf', SIZE = 500MB ) ;

Przechowywanie stanu sesji: podstawy IN MEMORY OLTP Przykładowy kod tworzący tabelę: CREATE TABLE [dbo].[tblinmemtable] ( [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 (message_id, language_id) ) WITH (MEMORY_OPTIMIZED = ON)

Przechowywanie stanu sesji: podstawy IN MEMORY OLTP

Przechowywanie stanu sesji: podstawy IN MEMORY OLTP Podsumowanie: 1. Jeżeli uwierzytelnianie WINDOWS, to tylko KERBEROS 2. Umiejętnie dobierajmy ilość połączeń w puli 3. Domyślnie używajmy parametryzacji zapytań 4. Oceńmy jak wygląda złoty środek jeśli chodzi o pobieranie danych w naszej aplikacji 5. IN MEMORY OLTP = zero zakleszczeń