Skalowanie aplikacji JPA na przykładzie Oracle TopLink Grid

Slides:



Advertisements
Podobne prezentacje
Telefonia w chmurze Błażej Pawlik Błażej Pawlik.
Advertisements

Co to jest DNS i jak działa?
Programowanie obiektowe
Rafał Hryniów Tomasz Pieciukiewicz
Systemy Rozproszone Wprowadzenie.
Oracle 10 g i grid computing Autor: Marcin Malinowski.
SYSTEMY ROZPROSZONE System plików.
CORBA Łukasz Wnęk.
Wydajne aplikacje na platformie .NET
Microsoft Professional Developer Days 2004
ADAM Active Directory w trybie aplikacyjnym
Artur Jonak empolis Polska Sp. z o.o.
Odśmiecanie Grzegorz Timoszuk
Wycofywanie potwierdzonych transakcji
Internet Communication Engine
Systemy zarządzania bazami danych 10. Strojenie. Oryginał: Shasha & Bonnet10. Strojenie2.
Wykład 9 Dedykowane procesory DSP oraz mikrokontrolery z jednostką DSP
Rozdział 13: Architektura systemu Oracle
Model programowania aplikacji komunikacyjnych przy użyciu Java SIP Servlet API Waldek Kot.
Systemy operacyjne Wykład nr 5: Wątki Piotr Bilski.
Wykład nr 1: Wprowadzenie. Pojęcia podstawowe
Wykład 2. Wprowadzenie do architektur systemów rozproszonych
Proxy (WWW cache) Sieci Komputerowe
Zapytania SQL: wydajność i optymalizacja
Wykład 5 Wojciech Pieprzyca
Wykład 4 Wojciech Pieprzyca
Information Bridge Framework platforma integracji Microsoft Office 2003 z aplikacjami Line of Business Krzysztof Michalski10/01/2005.
Enteprise Java Beans Emil Wcisło.
Wzorce projektowe w J2EE
Rozproszone bazy danych
Projekt i implementacja aplikacji do zasilania bazy danych testowymi danymi Jacek Lis Promotor: prof. dr hab. inż. Włodzimierz KASPRZAK.
T 3 Konfiguracja Unisys ES7000 Enterprise Servers OLAP Server 16 CPU Data Warehouse 8 CPU Web Server 8 CPU Terminal Server 4 CPU cLAN Backbone.
Zastosowanie technologii CUDA w sztucznej inteligencji
Heterogeniczne procesory wielordzeniowe w urządzeniach audio
Mechanizm kompresji danych w SQL Server 2008
Informatyczne narzędzia wspomagające pracę na odległość
Skalowalność rozwiązań Javowych w zastosowaniach komercyjnych Java4People Prezenter: Dawid Gruszczyński 1.
TBD - P ERFORMANCE W BAZACH M ICROSOFT SQL S ERVER, CZYLI O CO W TYM W OGÓLE CHODZI Michał Grodzicki MCTS SQL SERVER lipca 2012.
Wirtualna baza SQL zgodna z SQL Server SQL as a Service
Administracja serwerem bazy danych Oracle 11g Instancja i dostęp do bazy danych Wykład nr 1 Michał Szkopiński.
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
IBM mainframe jest optymalnym serwerem, o ile … (czy musi być tak drogo?)
Co nowego w klastrach Windows Server 8
Obsługa dostępu do danych i ich dostępności
Buforowanie D e f i n i c j a.
Enterprise Architecture Patterns
Bazy Danych w Mango Mateusz Mikulski
1 Każdy obiekt jest scharakteryzowany poprzez: tożsamość – daje się jednoznacznie wyróżnić; stan; zachowanie. W analizie obiektowej podstawową strukturą
S IMON SAYS … A RCHITECTURE ! Usługi zdalne Technologie, techniki i praktyki implementacji.
Akademia Górniczo-Hutnicza Skalowalny, komponentowy system zbierania i przechowywania danych pochodzących z monitorowania systemów rozproszonych Dominik.
System plików.
Entity Framework worth it or not?
Waldemar Bartyna Pytania egzaminacyjne 1.
Hibernate Podstawy.
POZNAŃ SUPERCOMPUTING AND NETWORKING CENTER 1 Zastosowanie LDAP w usługach WWW i Portali PCSS, 2002.
XML w bazach danych.
Odwzorowania relacyjno-obiektowe Hibernate Podstawy.
.NET i Bazy Danych Projekt: Wadim Grasza.
FIX FULLY INTEGRATED CONTROL SYSTEM W PEŁNI ZINTEGROWANY SUSTEM WIZUALIZACJI.
Optymalna konfiguracja Microsoft SQL Server 2014
Object-relational mapping (aka O/RM, ORM, and O/R mapping)
Sławomir Staśkiewicz JBossAS i EJB 3.1 Sławomir Staśkiewicz
Architektura Rafał Hryniów. Architektura Wizja projektu systemu, którą dzielą twórcy Struktura komponentów systemu, ich powiązań oraz zasad i reguł określających.
Politechnika Warszawska Wydział Elektryczny Kierunek: Informatyka stosowana Praca dyplomowa inżynierska Aplikacja do kontroli wydajności produkcji w.
Paweł Kamieński. System mobilny Wszędzie masz dostęp do danych Na realizację tej prostej i intuicyjnej koncepcji złożył się przede wszystkim olbrzymi.
Testowanie wydajnościowe Metody testowania Apache Jmeter Serwer Jboss Baza danych PostgreSQL Testowanie wydajności odczytu z bazy danych Testowanie wydajności.
Jak znaleźć igłę w terabajcie siana Marcin Sochacki.
Komponentowe systemy rozproszone
JavaBeans by Paweł Wąsala
Konteneryzacja i DevOps
Zapis prezentacji:

Skalowanie aplikacji JPA na przykładzie Oracle TopLink Grid Waldek Kot waldemar.kot@oracle.com

Agenda Krótko o JPA Skalowanie warstwy JPA Data Grid Demo Q&A

Java Persistence API (JPA) ORM – Object-Relational Mapping Wydajność i skalowalność przepustowość, czas odpowiedzi, mniejsze obciążenie DB możliwość bardziej inteligentnej współpracy z DB cache (bufor) locking wykorzystanie cech DB (zachowując standardowe API) kooperatywnie, nietransparentnie

Typowe podejścia do skalowania Cluster – grupa (współdziałających ze sobą) węzłów (kontenerów/dostawców) Data grid – rozproszenie przechowywania i przetwarzania obiektów Optymalizacja komunikacji z bazą Im rzadziej, tym lepiej Im mniej danych transferowanych, tym lepiej Optymalizacja zapytań do bazy Im krótsze i mniej obciążające, tym lepiej

Buforowanie w JPA Level 2 „Shared cache” Level 1 Cache „transakcyjny”

Konfiguracja cache/buforów Zależna od dostawcy JPA Zwykle możliwe konfigurowanie które Entity będą buforowane możliwość definiowania wskazówek (hint) rozmiar bufora (liczba obiektów) sposób lock’owania sposób współpracy z Garbage Collection typy referencji (weak/soft/hard/...) Parametry dobierane zależnie od sposobu używania Entity

Clustering Cache L1 zawsze pozostaje „prywatny” Cache L2 może być „współdzielony” między węzłami węzły = niezależne JVM, potencjalnie uruchomione na oddzielnych maszynach/serwerach koordynacja zawartości buforów L2 między węzłami współdzielenie obiektów w cache pomiędzy węzłami dedykowana warstwa buforowania odciążenie węzłów od prac związanych z buforowaniem możliwość zwiększenia pojemności cache większy heap oraz mniejsza liczba kopii obiektów przechowywanie w pamięci (ale w wysoce niezawodny sposób) rozproszenie zapytań read-through, write-through, refresh-ahead, write-behind możliwość buforowania zarówno obiektów, jak i danych jeśli obiekty, to unikamy (minimalizujemy) koszty mapowania, tworzenia obiektów i pomagamy GC

Przykład Oracle TopLink Grid Możliwe konfiguracje JPA + Data Grid EclipseLink (Oracle TopLink) + Oracle Coherence Możliwe konfiguracje Cache: rozproszony data grid (Coherence) jako L2 cache dla JPA (EclipseLink) Read: dodatkowo, zapytania (odczyty) z JPA przechodzą najpierw przez data grid (Coherence), potem ewentualnie do DB Entity: dodatkowo, operacje zapisywania obiektów z JPA przechodzą najpierw przez Coherence (potem ewentualnie do DB) typowe konfiguracje: synchroniczny zapis do DB, asynchroniczny, opóźniony (write-behind), własne

Demo 1 coherence jako bufor l2 w jpa

Demo 2 konfiguracja read

Demo 2 konfiguracja entity (read/write) wraz z write-behind

Podsumowanie warto połączyć zalety JPA i data grid Standardowy interfejs (JPA) Przezroczystość dla aplikacji Selektywna konfiguracja buforowania warstwa data grid może być łatwo skalowana zarówno przechowywanie, jak i przetwarzanie obiektów można rozproszyć nawet na tysiące węzłów (maszyn) więcej informacji: http://otn.oracle.com

Pytania ? Waldek Kot Principal Systems Engineer, Central & Eastern Europe Oracle Polska Sienna 75, 00-833 Warszawa Email: waldemar.kot@oracle.com Mobile: +48 660 78 55 78