SlideShare a Scribd company logo
Praca z danymi w aplikacji A.D. 2016.
To naprawdę nie będzie tylko o Entity Framework!
Tomasz Kopacz
Architekt, Microsoft
Entity Framework 6.x Entity Framework Core
Wydajność
„Large models”
Azure Table – pełny „CAP”
http://sigops.org/sosp/sosp11/current/2011-Cascais/printable/11-calder.pdf
Bezstanowe serwery. Autoryzacja i
identyfikacja. Przekierowywanie żądań
M
Extent Nodes (EN)
Paxos
Front End FE
M
M
Partition
Server
Partition
Server
Partition
Server
Partition
Server
Partition
Master
FE FE FE FE
Lock
Service
Warstwa
serwerów
partycji
Warstwa
strumienia
danych
(DFS)
M
Extent Nodes (EN)
Paxos
Front End FE
Przychodzące żądanie zapisu
M
M
Partition
Server
Partition
Server
Partition
Server
Partition
Server
Partition
Master
FE FE FE FE
Lock
Service
Ack
Warstwa
serwerów
partycji
Warstwa
strumienia
danych
(DFS)
Konto Partycja Pola w
encji
aaaa aaaa aaaaa
…….. …….. ……..
…….. …….. ……..
…….. …….. ……..
…….. …….. ……..
…….. …….. ……..
…….. …….. ……..
…….. …….. ……..
…….. …….. ……..
…….. …….. ……..
…….. …….. ……..
…….. …….. ……..
zzzz zzzz zzzzz
Storage Stamp
Partition
Server
Partition
Server
Konto Partycja Pola w
encji
richard videos tennis
……… ……… ………
……… ……… ………
zzzz zzzz zzzzz
Konto Partycja Pola w
encji
harry pictures sunset
……… ……… ………
……… ……… ………
richard videos soccer
Partition
Server
Partition
Master
Front-End
Server
PS 2 PS 3
PS 1
A-H: PS1
H’-R: PS2
R’-Z: PS3
A-H: PS1
H’-R: PS2
R’-Z: PS3
Partition
Map
Azure Table
Partition
Map
Konto Partycja Pola w
encji
aaaa aaaa aaaaa
……… ……… ………
……… ……… ………
harry pictures sunrise
A-H
R’-ZH’-R
PartitionKey
(AccountID)
RowKey
(Kind_*)
Kind TotalRentals Name Address CheckOutOn Title DueOn
… … … … … … … … …
Joe A_Joe Account 8 Joe Field Ann Arbor, MI
Joe R_Jaws Rental 2010/08/16 Jaws 2010/08/25
Joe R_Taxi Rental 2010/08/16 Taxi 2010/08/25
… … … … … … … … …
Entity Group Transaction
C#: DynamicTableEntity
DokumenttuStarszytu.
https://www.troyhunt.com/working-with-154-million-
records-on/
https://haveibeenpwned.com/
https://haveibeenpwned.com/HowFastIsAzureTableSto
rage/?email=foo@foo.com
Azure Search
Azure Table
> Pełny RDBMS
DocumentDB in Azure
Zarządzane, skalowalne, łatwość budowy kwerend, bez
schematu, oparta o JSON usługa bazodanowa
Microsoft Confidential
Arbitralne formaty <
Model zasobów
Model interakcji



Dewelopment







101
010
Konto DocumentDB Databases
Users
Permissions
Collections Documents Attachments
Stored procedures
Triggers
User-defined functions
Tu są
dokumenty
{ }
{ }
JS
JS
JS
Samoopisujące się!
Bez dziedziczenia, polimorfizmu, kontroli, …
Trywialna serializacja na/z tekst
Number: „double”, trochę ograniczeń w JS
String: znaki Unicode
Boolean: true lub false
Array: w [ ] inne obiekty json
null: pusta wartość
Przechowywanie, indeksowanie, kwerendy,
motor uruchomieniowy JavaScript
TTL (od daty modyfikacji)
Dane geograficzne (GeoJSON, WGS-84)
"location":{ type":"Point","coordinates":[ -122.12, 47.66 ] }
Też: linestrings, polygon
{
“locations”:
[
{“country”: “Germany”, “city”: “Berlin”},
{“country”: “France”, “city”: “Paris”},
],
“headquarter”: “Belgium”,
“exports”:[{“city”; “Moscow”},{“city: ”Athens”}]
}
Dokument JSON jako drzewo
Locations Headquarter
Belgium
Country City Country City
Germany Berlin France Paris
Exports
CityCity
Moscow Athens
0 10 1
szczegóły tu
Person ContactDetail
ContactDetailTypeAddress
szczegóły tu
Company OfficeCenter
szczegóły tu
Book Author
polityk
Limity
Co to ten Request Unit
CouchDB
MongoDB DocumentDB obsługuje protokół MongoDB
RavenDB
Duża centralna
baza danych
Aplikacje pisane ad hoc. Raporty,
ręczna edycja, bo coś w
ESB nie działa
Malutkie DB
Synchronizacja,
SSIS, .
Oficjalna Szyna Enterprise
Service Bus
Nieoficjalna szyna dla REST, może
API Management, może...
Aplikacja departamentalna
Budowana bo szybcej
Lekka komunikacja, zwykle HTTP (REST style). Brak transakcyjności pomiędzy
usługami. Pasuje do orkiestracji w stylu IFTTT lub Logic Apps.
Customer
InventoryCatalog
Payment
Shipping
UI
Cortana Analytics Gallery Halo 5 (część socialna gry) News Republic (czytanie i reagowanie
na informacje)
http://www.odata.org/
Kod tu opis protokołu tu
tkopacz@microsoft.com
https://github.com/tkopacz/2016SQLDay
O danych w 2016

More Related Content

Similar to O danych w 2016

Nowości Windows Azure
Nowości Windows AzureNowości Windows Azure
Nowości Windows Azure
pbubacz
 
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
Michal Furmankiewicz
 
Nowe Trendy W Projektowaniu Aplikacji Webowych
Nowe Trendy W Projektowaniu Aplikacji WebowychNowe Trendy W Projektowaniu Aplikacji Webowych
Nowe Trendy W Projektowaniu Aplikacji Webowych
Marcin Daczkowski
 
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...Tomasz Kopacz
 
Sql Dla Administratora i Dewelopera
Sql Dla Administratora i DeweloperaSql Dla Administratora i Dewelopera
Sql Dla Administratora i Dewelopera
nexik
 
Mts 2013 tomasz kopacz - windows 8, office 365, workflow manager, windows a...
Mts 2013   tomasz kopacz - windows 8, office 365, workflow manager, windows a...Mts 2013   tomasz kopacz - windows 8, office 365, workflow manager, windows a...
Mts 2013 tomasz kopacz - windows 8, office 365, workflow manager, windows a...Tomasz Kopacz
 
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?
PHPCon Poland
 
Mongodb with Rails
Mongodb with RailsMongodb with Rails
Mongodb with Rails
Sebastian Nowak
 
Artur Żarski, PHP na Windows
Artur Żarski, PHP na WindowsArtur Żarski, PHP na Windows
Artur Żarski, PHP na WindowsWebhosting.pl
 
OceanQuery - język zapytań edytora raportów
OceanQuery - język zapytań edytora raportówOceanQuery - język zapytań edytora raportów
OceanQuery - język zapytań edytora raportów
matmis
 
Data Tier Applications
Data Tier ApplicationsData Tier Applications
Data Tier Applications
Mariusz Koprowski
 
Co z czym i do czego w Microsoft Azure - poznajemy usługi
Co z czym i do czego w Microsoft Azure - poznajemy usługiCo z czym i do czego w Microsoft Azure - poznajemy usługi
Co z czym i do czego w Microsoft Azure - poznajemy usługi
Emil Wasilewski
 
Using Red Gate SQL Doc for database documentation
Using Red Gate SQL Doc for database documentationUsing Red Gate SQL Doc for database documentation
Using Red Gate SQL Doc for database documentation
Mariusz Koprowski
 
Aplikacje internetowe (2010)
Aplikacje internetowe (2010)Aplikacje internetowe (2010)
Aplikacje internetowe (2010)
Adrian Kalbarczyk
 
Slawek Kluz - Ewolucja modelu danych w testach funkcjonalnych – case study
Slawek Kluz - Ewolucja modelu danych w testach funkcjonalnych – case studySlawek Kluz - Ewolucja modelu danych w testach funkcjonalnych – case study
Slawek Kluz - Ewolucja modelu danych w testach funkcjonalnych – case study
kraqa
 
Paleta możliwości web developera
Paleta możliwości web developeraPaleta możliwości web developera
Paleta możliwości web developera
Tomasz Borowski
 
Budowanie sieci Grid
Budowanie sieci GridBudowanie sieci Grid
Budowanie sieci Grid
Alicja Sieminska
 
Migracja I Integracja Bazy
Migracja I Integracja BazyMigracja I Integracja Bazy
Migracja I Integracja BazyPrzemysław ...
 
JSON, REST API
JSON, REST APIJSON, REST API
JSON, REST API
3camp
 

Similar to O danych w 2016 (20)

Nowości Windows Azure
Nowości Windows AzureNowości Windows Azure
Nowości Windows Azure
 
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
 
Nowe Trendy W Projektowaniu Aplikacji Webowych
Nowe Trendy W Projektowaniu Aplikacji WebowychNowe Trendy W Projektowaniu Aplikacji Webowych
Nowe Trendy W Projektowaniu Aplikacji Webowych
 
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
 
Sql Dla Administratora i Dewelopera
Sql Dla Administratora i DeweloperaSql Dla Administratora i Dewelopera
Sql Dla Administratora i Dewelopera
 
Mts 2013 tomasz kopacz - windows 8, office 365, workflow manager, windows a...
Mts 2013   tomasz kopacz - windows 8, office 365, workflow manager, windows a...Mts 2013   tomasz kopacz - windows 8, office 365, workflow manager, windows a...
Mts 2013 tomasz kopacz - windows 8, office 365, workflow manager, windows a...
 
Silverlight i PHP
Silverlight i PHPSilverlight i PHP
Silverlight i PHP
 
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?
 
Mongodb with Rails
Mongodb with RailsMongodb with Rails
Mongodb with Rails
 
Artur Żarski, PHP na Windows
Artur Żarski, PHP na WindowsArtur Żarski, PHP na Windows
Artur Żarski, PHP na Windows
 
OceanQuery - język zapytań edytora raportów
OceanQuery - język zapytań edytora raportówOceanQuery - język zapytań edytora raportów
OceanQuery - język zapytań edytora raportów
 
Data Tier Applications
Data Tier ApplicationsData Tier Applications
Data Tier Applications
 
Co z czym i do czego w Microsoft Azure - poznajemy usługi
Co z czym i do czego w Microsoft Azure - poznajemy usługiCo z czym i do czego w Microsoft Azure - poznajemy usługi
Co z czym i do czego w Microsoft Azure - poznajemy usługi
 
Using Red Gate SQL Doc for database documentation
Using Red Gate SQL Doc for database documentationUsing Red Gate SQL Doc for database documentation
Using Red Gate SQL Doc for database documentation
 
Aplikacje internetowe (2010)
Aplikacje internetowe (2010)Aplikacje internetowe (2010)
Aplikacje internetowe (2010)
 
Slawek Kluz - Ewolucja modelu danych w testach funkcjonalnych – case study
Slawek Kluz - Ewolucja modelu danych w testach funkcjonalnych – case studySlawek Kluz - Ewolucja modelu danych w testach funkcjonalnych – case study
Slawek Kluz - Ewolucja modelu danych w testach funkcjonalnych – case study
 
Paleta możliwości web developera
Paleta możliwości web developeraPaleta możliwości web developera
Paleta możliwości web developera
 
Budowanie sieci Grid
Budowanie sieci GridBudowanie sieci Grid
Budowanie sieci Grid
 
Migracja I Integracja Bazy
Migracja I Integracja BazyMigracja I Integracja Bazy
Migracja I Integracja Bazy
 
JSON, REST API
JSON, REST APIJSON, REST API
JSON, REST API
 

More from Tomasz Kopacz

Azure Digital Twins.pdf
Azure Digital Twins.pdfAzure Digital Twins.pdf
Azure Digital Twins.pdf
Tomasz Kopacz
 
24032022 Zero Trust for Developers Pub.pdf
24032022 Zero Trust for Developers Pub.pdf24032022 Zero Trust for Developers Pub.pdf
24032022 Zero Trust for Developers Pub.pdf
Tomasz Kopacz
 
Deep dive into service fabric after 2 years
Deep dive into service fabric after 2 yearsDeep dive into service fabric after 2 years
Deep dive into service fabric after 2 years
Tomasz Kopacz
 
Net core (dawniej 5.0) – co to dla mnie. też dużo o open source
Net core (dawniej   5.0) – co to dla mnie. też dużo o open sourceNet core (dawniej   5.0) – co to dla mnie. też dużo o open source
Net core (dawniej 5.0) – co to dla mnie. też dużo o open source
Tomasz Kopacz
 
Visual Studio – jak zorganizować pracę używając Scrum i GIT?
Visual Studio – jak zorganizować pracę używając Scrum i GIT?Visual Studio – jak zorganizować pracę używając Scrum i GIT?
Visual Studio – jak zorganizować pracę używając Scrum i GIT?
Tomasz Kopacz
 
Visual Studio - zastosowania
Visual Studio - zastosowaniaVisual Studio - zastosowania
Visual Studio - zastosowania
Tomasz Kopacz
 
Coś o service fabric, architekturze, i bardzo skalowalnych aplikacjach
Coś o service fabric, architekturze, i bardzo skalowalnych aplikacjachCoś o service fabric, architekturze, i bardzo skalowalnych aplikacjach
Coś o service fabric, architekturze, i bardzo skalowalnych aplikacjach
Tomasz Kopacz
 
Kiedy napadnie na nas pralka – jak budować bezpieczne systemy internet of thi...
Kiedy napadnie na nas pralka – jak budować bezpieczne systemy internet of thi...Kiedy napadnie na nas pralka – jak budować bezpieczne systemy internet of thi...
Kiedy napadnie na nas pralka – jak budować bezpieczne systemy internet of thi...
Tomasz Kopacz
 
Windows 10, internet of things, komunikacja duplex od kabli do odrobiny azu...
Windows 10, internet of things, komunikacja duplex   od kabli do odrobiny azu...Windows 10, internet of things, komunikacja duplex   od kabli do odrobiny azu...
Windows 10, internet of things, komunikacja duplex od kabli do odrobiny azu...
Tomasz Kopacz
 
It w roku 201x – dom, szkoła, potem praca. no i – jak tu (i czego!) uczyć
It w roku 201x – dom, szkoła, potem praca. no i – jak tu (i czego!) uczyćIt w roku 201x – dom, szkoła, potem praca. no i – jak tu (i czego!) uczyć
It w roku 201x – dom, szkoła, potem praca. no i – jak tu (i czego!) uczyć
Tomasz Kopacz
 
Big data on Azure for Architects
Big data on Azure for ArchitectsBig data on Azure for Architects
Big data on Azure for Architects
Tomasz Kopacz
 
(Azure) Machine Learning 2015
(Azure) Machine Learning 2015(Azure) Machine Learning 2015
(Azure) Machine Learning 2015
Tomasz Kopacz
 
Azure paa s v2 – microservices, microsoft (azure) service fabric, .apps and o...
Azure paa s v2 – microservices, microsoft (azure) service fabric, .apps and o...Azure paa s v2 – microservices, microsoft (azure) service fabric, .apps and o...
Azure paa s v2 – microservices, microsoft (azure) service fabric, .apps and o...
Tomasz Kopacz
 
Mts 2013 tomasz kopacz - wydajność aplikacji dla windows 8 - jak ją mierzyć...
Mts 2013   tomasz kopacz - wydajność aplikacji dla windows 8 - jak ją mierzyć...Mts 2013   tomasz kopacz - wydajność aplikacji dla windows 8 - jak ją mierzyć...
Mts 2013 tomasz kopacz - wydajność aplikacji dla windows 8 - jak ją mierzyć...Tomasz Kopacz
 

More from Tomasz Kopacz (14)

Azure Digital Twins.pdf
Azure Digital Twins.pdfAzure Digital Twins.pdf
Azure Digital Twins.pdf
 
24032022 Zero Trust for Developers Pub.pdf
24032022 Zero Trust for Developers Pub.pdf24032022 Zero Trust for Developers Pub.pdf
24032022 Zero Trust for Developers Pub.pdf
 
Deep dive into service fabric after 2 years
Deep dive into service fabric after 2 yearsDeep dive into service fabric after 2 years
Deep dive into service fabric after 2 years
 
Net core (dawniej 5.0) – co to dla mnie. też dużo o open source
Net core (dawniej   5.0) – co to dla mnie. też dużo o open sourceNet core (dawniej   5.0) – co to dla mnie. też dużo o open source
Net core (dawniej 5.0) – co to dla mnie. też dużo o open source
 
Visual Studio – jak zorganizować pracę używając Scrum i GIT?
Visual Studio – jak zorganizować pracę używając Scrum i GIT?Visual Studio – jak zorganizować pracę używając Scrum i GIT?
Visual Studio – jak zorganizować pracę używając Scrum i GIT?
 
Visual Studio - zastosowania
Visual Studio - zastosowaniaVisual Studio - zastosowania
Visual Studio - zastosowania
 
Coś o service fabric, architekturze, i bardzo skalowalnych aplikacjach
Coś o service fabric, architekturze, i bardzo skalowalnych aplikacjachCoś o service fabric, architekturze, i bardzo skalowalnych aplikacjach
Coś o service fabric, architekturze, i bardzo skalowalnych aplikacjach
 
Kiedy napadnie na nas pralka – jak budować bezpieczne systemy internet of thi...
Kiedy napadnie na nas pralka – jak budować bezpieczne systemy internet of thi...Kiedy napadnie na nas pralka – jak budować bezpieczne systemy internet of thi...
Kiedy napadnie na nas pralka – jak budować bezpieczne systemy internet of thi...
 
Windows 10, internet of things, komunikacja duplex od kabli do odrobiny azu...
Windows 10, internet of things, komunikacja duplex   od kabli do odrobiny azu...Windows 10, internet of things, komunikacja duplex   od kabli do odrobiny azu...
Windows 10, internet of things, komunikacja duplex od kabli do odrobiny azu...
 
It w roku 201x – dom, szkoła, potem praca. no i – jak tu (i czego!) uczyć
It w roku 201x – dom, szkoła, potem praca. no i – jak tu (i czego!) uczyćIt w roku 201x – dom, szkoła, potem praca. no i – jak tu (i czego!) uczyć
It w roku 201x – dom, szkoła, potem praca. no i – jak tu (i czego!) uczyć
 
Big data on Azure for Architects
Big data on Azure for ArchitectsBig data on Azure for Architects
Big data on Azure for Architects
 
(Azure) Machine Learning 2015
(Azure) Machine Learning 2015(Azure) Machine Learning 2015
(Azure) Machine Learning 2015
 
Azure paa s v2 – microservices, microsoft (azure) service fabric, .apps and o...
Azure paa s v2 – microservices, microsoft (azure) service fabric, .apps and o...Azure paa s v2 – microservices, microsoft (azure) service fabric, .apps and o...
Azure paa s v2 – microservices, microsoft (azure) service fabric, .apps and o...
 
Mts 2013 tomasz kopacz - wydajność aplikacji dla windows 8 - jak ją mierzyć...
Mts 2013   tomasz kopacz - wydajność aplikacji dla windows 8 - jak ją mierzyć...Mts 2013   tomasz kopacz - wydajność aplikacji dla windows 8 - jak ją mierzyć...
Mts 2013 tomasz kopacz - wydajność aplikacji dla windows 8 - jak ją mierzyć...
 

O danych w 2016