W praktyce Prelegent: Michał Cywiński

Slides:



Advertisements
Podobne prezentacje
20041 Projektowanie dynamicznych witryn internetowych Paweł Górczyński ASP 3.0.
Advertisements

Rafał Hryniów Tomasz Pieciukiewicz
Decyzje projektowe w .NET Framework
Bezpieczeństwo aplikacji WWW
Zabezpieczenia w programie MS Access
1 Linux jako system wielozadaniowy i wielodostępny.
ADAM Active Directory w trybie aplikacyjnym
Microsoft Office System w praktyce wdrożenie w COMARCH-CDN
Agnieszka Lewandowska, Cezary Mazurek, Marcin Werla
XML w zarządzaniu formularzami ubezpieczeniowymi ZUS
Wycofywanie potwierdzonych transakcji
Tomasz Smieszkoł - 15 stycznia
Obsługa bazy danych z poziomu phpMyAdmin
Usługa Windows Server Update Services (WSUS)
P I OTR SKOŁYSZ. POCHODZENIE I CELE CZYM JEST.NET ? CO IMPLEMENTUJE MONO ? ŚRODOWISKO PRACY [MONODEVELOP] SYTEMY OPERACYJNE CO PROGRAMOWAĆ ? JĘZYKI PRZYKŁADOWY.
Wzorce projektowe w J2EE
Rozproszone bazy danych
Systemy zarządzania treścią CMS
Paweł Fałat Katedra Informatyki Stosowanej
Modele baz danych - spojrzenie na poziom fizyczny
Zarządzanie zmianami w systemie bezpieczeństwa - rozwiązania Check Point i partnerów OPSEC dr inż. Mariusz Stawowski
Narzędzia internetowe Paweł Rajba ttp://pawel.ii.uni.wroc.pl/
Zarządzanie transakcjami w SQL Server
InfinitERP prezentacja systemu.
Jak przeżyć w Internecie? Czyli o bezpieczeństwie słów kilka… Michał Jankowski MJ Software Solutions Services.
Microsoft Sharepoint 2010 – Peter Dabrowski
MySQL – ODBC - ACCESS.
Systemy zarządzania treścią Wykład 1
Tablice, listy, obiekty w C# i nie tylko!
Adrian Bukowski Dolnośląskie Centrum Rozwoju Lokalnego.
Wirtualna baza SQL zgodna z SQL Server SQL as a Service
Lokalne serwery www Serwer WWW - ang. Web server jest to oprogramowanie zainstalowane na serwerze podłączonym do sieci Internet. Używające technologii.
Prezentacja i szkolenie
Arkadiusz Twardoń ZTiPSK
Rozdział 1: Wprowadzenie do systemu Windows 2000 i podstaw sieci
XML – eXtensible Markup Language
Aplikacje bazodanowe ADO.NET PHP i MySQL
Tworzenie Aplikacji Internetowych dr Wojciech M. Gańcza 8.
Wybrane zagadnienia relacyjnych baz danych
Kostyantyn Doronovych, 79129, sr1640 Łukasz Marciniak, 79166, sr1640
Komendy SQL do pracy z tabelami i bazami
ZWIĄZKI MIĘDZY KLASAMI KLASY ABSTRAKCYJNE OGRANICZENIA INTERFEJSY SZABLONY safa Michał Telus.
W W W Łukasz Stochniał.
Domain Specific Language Mac Michał Programujący architekt, konsultant.
OWASP + DevOps, kilka przydatnych narzędzi
Model obiektowy bazy danych
Jak przeżyć w Internecie? Czyli o bezpieczeństwie słów kilka… Michał Jankowski MJ Software Solutions Services.
Temat 2: Instalacja Apache, PHP i bazy danych MySQL.
Autor: Damian Urbańczyk
Projektowanie Aplikacji Internetowych Artur Niewiarowski Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska.
Zbiór danych zapisanych zgodnie z określonymi regułami. W węższym znaczeniu obejmuje dane cyfrowe gromadzone zgodnie z zasadami przyjętymi dla danego.
Andrzej Majkowski 1 informatyka +. 2 Bezpieczeństwo protokołu HTTP Paweł Perekietka.
Podstawy języka skryptów
Piotr Czapiewski Wydział Informatyki ZUT. Web Services Description Language.
Iga Lewandowska I EMII MU
Hibernate Podstawy.
XML w bazach danych.
Odwzorowania relacyjno-obiektowe Hibernate Podstawy.
Bartosz Pawlak Wiktor Paliwoda Bezpieczeństwo Systemów Operacyjnych IMAP vs POP.
Aplikacje internetowe XML Paweł Lenkiewicz. Aplikacje internetowe – XML2 eXtensible Markup Language Uniwersalny język opisu danych Często używany we współpracy.
Języki i technologie wytwarzania stron WWW Autor: Michał Walkowski Referat.
ASP.NET Dostęp do bazy danych z poziomu kodu Elżbieta Mrówka-Matejewska.
Serwis umożliwiający organizowanie turniejów rozgrywek oraz lig (e)sportowych wraz z dostępem mobilnym Grupa: Jarosław Zima , Karol Pieniążek ,
Miłosz Zdybał System CC1 - prywatna chmura obliczeniowa w IFJ PAN.
Technologie Informacyjne Bazy danych
Programowanie w Javie 1 Dr Robert Kowalczyk
Modele baz danych - spojrzenie na poziom fizyczny
Zapis prezentacji:

w praktyce Prelegent: Michał Cywiński

Czym jest NoSQL? Wstęp do RavenDB

-Big Data! -Brak wielu tabel i skomplikowanych relacji… -…Więc także brak licznych kluczy! -Jak największa prostota użycia -Zachowanie odpowiedników relacji za pomocą zagnieżdżania kolekcji -Wysoka skalowalność -Skalowalność pozioma NoSQL Rozwiązania hybrydowe

(Nie)Skalowalność tradycyjnych baz SQL-owych Serwer bazy danych w przedsiębiorstwie zaczyna zwalniać i kończy się miejsce na jego dyskach Przedsiębiorstwo dokupuje serwer i prosi administratora o rozproszenie bazy danych Administrator jest sfrustrowany, Występują liczne problemy przy migracji i wdrażaniu drugiego serwera Przedsiębiorstwo kupuje nowe dyski SSD, wymienia procesor i dorzuca dodatkowe 64 GB pamięci RAM Jakiś czas później, administrator informuje, że serwer znowu jest wolny i wracamy na początek

Skalowalność rozwiązań NoSQL – Skalowanie horyzontalne Przedsiębiorstwo może łatwo dodawać kolejne serwery do swojej infrastruktury, może nawet część z nich mieć u siebie w firmie, a inne w chmurze!

Jakie zagrożenia niesie NoSQL? -Brak relacyjności i potrzeba przestawienia myślenia programistów -Obsługa relacyjności musi być realizowana wewnątrz kodu aplikacji -Brak JOIN-ów ;) -Stosunkowo młode rozwiązania

Co przechowujemy w bazie RavenDB? -Dokumenty, dokumenty, dokumenty – czyli JSON! -JSON to ładny sposób zapisu obiektu i jego właściwości, będący podzbiorem języka Javascript. -Mimo to jest on niezależny od języka i jest standardem podobnym do np.: XML -Możemy zatem w RavenDB przechowywać obiektu serializowane do JSON! -Relacje możemy obsłużyć np.: zagnieżdżając hierarchicznie listy

Przykład JSON

Instalacja, konfiguracja, podpięcie do projektu

Instalacja 1. WWW: 2. Dostępne dwie opcje: -Zip -Instalator 3. Instalujemy wersję development 4. Wersja dev zawiera przydatne biblioteki dla programistów 5. Biblioteki podpinamy do projektu najlepiej przez NuGet

Raven.Server.exe – Tutaj zaczynamy zabawę Działanie oparte o API dla.net oraz API HTTP dla innych technologii Wygodny interfejs zarządznia w Silverlight Log działań

DEMO: Działanie przykładowej aplikacji i wygląd danych serializowanych do JSON z poziomu panelu zarządzania bazą danych

Zarządzanie bazą danych

DEMO: Podpinanie bibliotek do obsługi RavenDB przez NuGet

Poznajemy podstawy RavenDB + C#

Potrzebne przestrzenie nazw Raven.Client – klasy i metody do podłączania się do bazy danych Raven.Client.Document – klasy i metody do zarządania zawartością bazy danych

DocumentStore rzybowski/RavenDB- demo cs/2.0/server/scaling- out/sharding -Może reprezentować bazę danych na pojedynczej instancji serwera -Może reprezentować bazę rozproszoną pomiędzy różnymi maszynami. Jest to rozwiązanie niewidoczne z punktu widzenia programisty (Sharding!) -1 DocumentStore/Aplikacja, ale wiele sesji -Polecam po warsztatach zapoznać się z linkami podanymi obok!

DocumentStore i jego sesja oraz podstawowe metody Złota zasada: 1 sesja oznacza dla nas 1 transakcję RavenDB został zaprojektowany z transakcyjnością w podstawowych założeniach -DocumentStore.Initialize() -IDocumentSession -DocumentStore.OpenSession() -IDocumentSession.Query () -LINQ to podstawa! -IDocumentSession.Store() -IDocumentSession.SaveChanges() IDocumentSession.Delete()

DocumentStore i jego sesja oraz podstawowe metody Blok using! Inicjalizacja DocumentStore Otwarcie sesji Działania C# w domyśle działa referencyjnie, więc wybrane dokumenty z bazy modyfikujemy w locie Odpowiednio używamy Store() i Delete() Zatwierdzamy transakcję SaveChanges() Transakcja zostaje zamknięta na życzenie programisty, zmiany są zapisane

DEMO: Używamy podstawowych funkcjonalności RavenDB

Lucene Syntax syntax.html var results = session.Advanced.LuceneQuery ().Where("name:*wa*").ToList(); foreach (Person p in results) { Console.WriteLine(p.name); }

DEMO: Lucene Syntax

Kolejne warsztaty: Sharding w RavenDB

Dziękuję!