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

Podobne dokumenty
SQL SERVER 2016 IN MEMORY

Tuning SQL Server dla serwerów WWW

Cele. Definiowanie wyzwalaczy

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście.

Administracja i programowanie pod Microsoft SQL Server 2000

Język SQL, zajęcia nr 1

Zarządzanie sieciami telekomunikacyjnymi

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

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

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

Bazy Danych i Usługi Sieciowe

Microsoft SQL Server Podstawy T-SQL

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

Bazy danych i usługi sieciowe

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

Systemowe aspekty baz

Oracle PL/SQL. Paweł Rajba.

Programowanie bazodanowe w.net. czyli SQL CLR w akcji

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

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

Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane.

Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne.

Projektowanie systemów baz danych

Systemowe aspekty baz danych

Plan ćwiczenia. Rozdział 16 Uwierzytelnianie i autoryzacja w bazie danych. Użytkownicy i schematy (1) Użytkownicy i schematy (2) baza danych: ZESP99

Paweł Rajba

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

USB firmware changing guide. Zmiana oprogramowania za przy użyciu połączenia USB. Changelog / Lista Zmian

ZALETY NOWSZYCH WERSJI I KIERUNKI ROZWOJU SPDS-A SŁAWOMIR BOKINIEC

Hurtownia Świętego Mikołaja projekt bazy danych

Instrukcja obsługi User s manual

Internetowe bazy danych

Machine Learning for Data Science (CS4786) Lecture11. Random Projections & Canonical Correlation Analysis

Plan ćwiczenia. Rozdział 16 Uwierzytelnianie i autoryzacja w bazie danych. UŜytkownicy i schematy (2) UŜytkownicy i schematy (1) baza danych: ZESP99

SQL 4 Structured Query Lenguage

KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów

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

Wykład IV Modelowanie danych, projektowanie systemu informatycznego Modelowanie konceptualne implementacyjne Modelowanie pojęciowe na encjach

Oprogramowanie na miarę z13

Używany kiedy pełna treść instrukcji SQL jest nieznana przed uruchomieniem programu.

Kolekcje Zbiory obiektów, rodzaje: tablica o zmiennym rozmiarze (ang. varray) (1) (2) (3) (4) (5) Rozszerzenie obiektowe w SZBD Oracle

Tworzenie widoku CREATE OR REPLACE VIEW [nazwa_widoku] AS SELECT [nazwy_kolumn] FROM [nazwa_tablicy];

Installation of EuroCert software for qualified electronic signature

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

SAS Access to Hadoop, SAS Data Loader for Hadoop Integracja środowisk SAS i Hadoop. Piotr Borowik

Przypisywanie bibliotek w architekturze SAS

ACESS- zadania z wykorzystaniem poleceń SQL

Aspekty aktywne baz danych

Część 1: OLAP. Raport z zajęć laboratoryjnych w ramach przedmiotu Hurtownie i eksploracja danych

SQL :: Data Definition Language

Obsługa błędów w SQL i transakcje. Obsługa błędów w SQL

Ćwiczenia 2 IBM DB2 Data Studio

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

Tworzenie zapytań do Microsoft SQL Server

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

Język PL/SQL. Rozdział 6. Procedury wyzwalane

P o d s t a w y j ę z y k a S Q L

Szkolenie Oracle SQL podstawy. Terminy lutego 2010 First Minute! 1100zł!

ROZSZERZAJĄC FUNKCJONALNOŚCI MEMCACHED

Procedury wyzwalane. (c) Instytut Informatyki Politechniki Poznańskiej 1

Zarządzanie strukturą bazy danych Oracle11g

PODSTAWY BAZ DANYCH 13. PL/SQL

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

Procedury i funkcje składowane

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

Testy jednostkowe - zastosowanie oprogramowania JUNIT 4.0 Zofia Kruczkiewicz

Projektowanie aplikacji w modelu MVC opartej o framework CodeIgniter

THE RAIL RATES valid from 1st October 2015

Wykład 05 Bazy danych

Oracle PL/SQL. Paweł Rajba.

DMX DMX DMX DMX: CREATE MINING STRUCTURE. Tadeusz Pankowski

Politechnika Poznańska TWO

POLITYKA PRYWATNOŚCI / PRIVACY POLICY

Systemy wbudowane. Poziomy abstrakcji projektowania systemów HW/SW. Wykład 9: SystemC modelowanie na różnych poziomach abstrakcji

PL/SQL. Zaawansowane tematy PL/SQL. Piotr Medoń

Bazy danych Ćwiczenia projektowe

Oracle PL/SQL. Paweł Rajba.

Bazy danych i usługi sieciowe

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

Zmiany techniczne wprowadzone w wersji Comarch ERP Altum

klikamy Next 4. Wybieramy zgodność z systemem Virtual Machine hardware compatibility z listy zaznaczamy Workstation 6 Next 5.

How to share data from SQL database table to the OPC Server? Jak udostępnić dane z tabeli bazy SQL do serwera OPC? samouczek ANT.

Bazy danych 10. SQL Widoki

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

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

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

An employer s statement on the posting of a worker to the territory of the Republic of Poland

Zakopane, plan miasta: Skala ok. 1: = City map (Polish Edition)

MaPlan Sp. z O.O. Click here if your download doesn"t start automatically

SQL SERVER 2012 i nie tylko:

Relacyjne bazy danych. Podstawy SQL

Katowice, plan miasta: Skala 1: = City map = Stadtplan (Polish Edition)

Uprawnienia, role, synonimy

Instrukcja konfiguracji usługi Wirtualnej Sieci Prywatnej w systemie Mac OSX

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści

Wykład 5 funkcje i procedury pamiętane widoki (perspektywy) wyzwalacze

Zbiór pytań nr 5. 2 Które stwierdzenie opisuje najlepiej zbiór uprawnień dostępny po wykonaniu

Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia

Wojewodztwo Koszalinskie: Obiekty i walory krajoznawcze (Inwentaryzacja krajoznawcza Polski) (Polish Edition)

Transkrypt:

BEST S.A. CASE STUDY: DROGA DO IN MEMORY Cezary Ołtuszyk Kierownik Działu Administracji Systemów

Agenda spotkania 1. Wprowadzenie 2. Obliczenia czas start (rok 2012) 3. Podwojenie wolumenu (rok 2013) 4. Dane x 3 (rok 2014) 5. Kolejne partie danych In Memory (2016-2017) 6. Podsumowanie

Wprowadzenie Czy prawo Moore a nadąża za rozwojem państwa firmy?

Wprowadzenie Zagramy w grę Obliczenia na czas

Obliczenia czas start (rok 2012)

Obliczenia czas start (rok 2012)

Podwojenie wolumenu (rok 2013)

Podwojenie wolumenu (rok 2013)

Podwojenie wolumenu (rok 2013) Na co warto zwrócić uwagę: 1. Dobry projekt to podstawa rozwiązań wielowątkowych 2. Efektywne pobieranie danych z tabel 3. Podział danych (paczkowanie) 4. Problemy z wielodostępem 5. Efektywny zapis na dysk 6. Obsługa błędów 7. Gdzie leży maksimum? 8. Czas i koszt implementacji ( i zmian )

Dane x 3 (rok 2014)

Dane x 3 (rok 2014) Na co warto zwrócić uwagę: 1. Pobieramy dane tylko raz 2. Obliczenia poza silnikiem SQL 3. Większa ilość wątków = zmiana w kodzie SSIS

Kolejne partie danych In Memory (2016-2017)

Kolejne partie danych In Memory (2016-2017) ZMNIEJSZENIE ILOŚCI ODCZYTANYCH DANYCH Z DYSKU ZMNIEJSZENIE ILOŚCI ZAPISANYCH DANYCH NA DYSK DOKUPIENIE PAMIĘCI RAM + MODEL TRADYCYJNY TAK NIE DOKUPIENIE PAMIECI RAM + IN MEMORY OLTP ZDECYDOWANIE TAK TAK (OPCJA) BRAK ZAKLESZCZEŃ NIE TAK NATYWNIE KOMPILOWANY KOD TSQL NIE TAK INDEKSY HASZUJĄCE NIE TAK

Kolejne partie danych In Memory (2016-2017) 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 Not supported Partially supported (DROP / re-create) (offline details below) DML triggers Not supported 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

Kolejne partie danych In Memory (2016-2017) In-Memory OLTP (In-Memory Optimization) Implementation Scenario Implementation Scenario Benefits of In-Memory OLTP High data insertion rate from multiple concurrent connections. Read performance and scale with periodic batch inserts and updates. Primarily append-only store. Unable to keep up with the insert workload. High performance read operations, especially when each server request has multiple read operations to perform. Unable to meet scale-up requirements. Eliminate contention. Reduce logging. Eliminate contention when new data arrives. Lower latency data retrieval. Minimize code execution time. Intensive business logic processing in the database server. Low latency. Session state management. Insert, update, and delete workload. Intensive computation inside stored procedures. Read and write contention. Require low latency business transactions which typical database solutions cannot achieve. Frequent insert, update and point lookups. High scale load from numerous stateless web servers. Eliminate contention. Minimize code execution time for reduced latency and improved throughput. Eliminate contention. Minimize code execution time. Low latency code execution. Efficient data retrieval. Eliminate contention. Efficient data retrieval. Optional IO reduction or removal, when using non-durable tables

Kolejne partie danych In Memory (2016-2017) Applying In-Memory OLTP Shock Absorber In this scenario, Shock Absorber refers to the table you create as memory-optimized to absorb an input rate. This is the shock to the system. https://msdn.microsoft.com/library/dn673538.aspx

Kolejne partie danych In Memory (2016-2017) Compute Heavy Data Processing This scenario consists of ingesting data, similar to the High Data Insert Rate. However, this scenario requires other attributes including updates, deletions, and additional data processing to quickly make data available to readers https://msdn.microsoft.com/library/dn673538.aspx

Podsumowanie 1. Prawo Moore a nie koniecznie musi iść w parze z rozwojem firmy (dla biznesu to dobrze, pole do popisu dla IT) 2. Niektóre operacje bazodanowe mogą być zrównoleglone jedynie przez odpowiednio napisany kod 3. W momencie gdy procesor nie jest wąski gardłem, to zwiększa się znaczenie dysku i pamięci RAM 4. Co zrobić gdy sam sprzęt nie wystarczy? 5. Wchodzenie w trendy nie koniecznie, tworzenie trendów TAK!!!

Dziękuję za uwagę