SlideShare a Scribd company logo
1 of 18
Киев 2017
Только реальные кейсы. Только актуальные тренды.
Marten as Document DB
for .NET applications
Konstantin Proskurdin
Marten as Document DB for .NET applications Киев 2017
Agenda
• Microservices and data
• Document Storage
• Marten
Marten as Document DB for .NET applications Киев 2017
Microservices and data
Marten as Document DB for .NET applications Киев 2017
Microservices and data
Marten as Document DB for .NET applications Киев 2017
Microservices and data
Marten as Document DB for .NET applications Киев 2017
Document Storage
• MongoDB
• RavenDB
• SQL Server
• xml, XPath
• JSON
• Oracle
• xml, XPath
• JSON
• PostgreSQL
• Hstore
• JSON
• HStore2
• JSONB
Marten as Document DB for .NET applications Киев 2017
SQL:2016, ISO/IEC TR 19075-
6:2017: SQL support for JavaScript
Object Notation (JSON)
• December 2016
• Standard uses strings to store JSON data, standard
defines functions that interpret strings as JSON data
• <expr> is [not] json
• json_object([key] <expr> value <expression> [,…])
• json_array([<expr>[,…]]) , json_array(<query>)
• json_arrayagg(<expr> [order by …])
• json_objectagg([key] <expr> value <expression>)
• json_exists(<json>, <path>)
• json_value(<json>, <path> [returning <type>])
• json_query(<json>, <path> …)
• json_table(<json>, <path> columns …)
• JSON Path
Marten as Document DB for .NET applications Киев 2017
PostgreSQL JSON(B) Operators
• -> Get JSON object field by key
• ->> Get JSON object field as text
• #> Get JSON object at specified path
• #>> Get JSON object at specified path as text
• @> Does the left JSON value contains the right
JSON
Marten as Document DB for .NET applications Киев 2017
PostgreSQL vs MongoDB
Marten as Document DB for .NET applications Киев 2017
JSONB Demo
Marten as Document DB for .NET applications Киев 2017
Marten IQueryable provider for
JSONB
Marten as Document DB for .NET applications Киев 2017
Marten Basics Demo
Marten as Document DB for .NET applications Киев 2017
Advanced features of Marten
• Querying with PostgreSQL
• Indexes
• Expression Indexes
• GIN Indexes
• Extending Marten's LINQ Support
• Profiling
• Foreign Keys
• Tenancy
Marten as Document DB for .NET applications Киев 2017
JSONB Indexes/Advanced Marten
Demo
Marten as Document DB for .NET applications Киев 2017
Summary
• Structured/Semi Structured data
• Document storages
• SQL:2016 JSON standard
• PostgreSQL
• Marten
Marten as Document DB for .NET applications Киев 2017
References
• http://blog.christianposta.com/posts/
• http://standards.iso.org/ittf/PubliclyAvailableStandar
ds/c067367_ISO_IEC_TR_19075-6_2017.zip
• https://modern-sql.com/blog/2017-06/whats-new-
in-sql-2016Document-oriented databases
• https://www.postgresql.org/docs/current/static/func
tions-json.html
• https://jasperfx.github.io/marten/documentation/
• https://www.postgresql.org/docs/9.6/static/gin-
intro.html
• https://www.slideshare.net/profyclub_ru/postgres-
vs-mongo-postgres-professional
Marten as Document DB for .NET applications Киев 2017
Contacts
Konstantin Proskurdin
Adver-Online
kproskurdin@adver-online.nl
Marten as Document DB for .NET applications Киев 2017
That’s all

More Related Content

What's hot

Why is JSON-LD Important to Businesses - Franz Inc
Why is JSON-LD Important to Businesses - Franz IncWhy is JSON-LD Important to Businesses - Franz Inc
Why is JSON-LD Important to Businesses - Franz Inc
Franz Inc. - AllegroGraph
 
Real Time Data Analytics with MongoDB and Fluentd at Wish
Real Time Data Analytics with MongoDB and Fluentd at WishReal Time Data Analytics with MongoDB and Fluentd at Wish
Real Time Data Analytics with MongoDB and Fluentd at Wish
MongoDB
 

What's hot (20)

Mindtalk Tech - Behind the scenes
Mindtalk Tech - Behind the scenesMindtalk Tech - Behind the scenes
Mindtalk Tech - Behind the scenes
 
Intoduction of FIrebase Realtime Database
Intoduction of FIrebase Realtime DatabaseIntoduction of FIrebase Realtime Database
Intoduction of FIrebase Realtime Database
 
Firebase Golang Binding
Firebase Golang BindingFirebase Golang Binding
Firebase Golang Binding
 
Why is JSON-LD Important to Businesses - Franz Inc
Why is JSON-LD Important to Businesses - Franz IncWhy is JSON-LD Important to Businesses - Franz Inc
Why is JSON-LD Important to Businesses - Franz Inc
 
The Internet as a Single Database
The Internet as a Single DatabaseThe Internet as a Single Database
The Internet as a Single Database
 
Back to Basics 2017 - Introduction to NoSQL
Back to Basics 2017 - Introduction to NoSQLBack to Basics 2017 - Introduction to NoSQL
Back to Basics 2017 - Introduction to NoSQL
 
Building a Directed Graph with MongoDB
Building a Directed Graph with MongoDBBuilding a Directed Graph with MongoDB
Building a Directed Graph with MongoDB
 
MongoDB .local Chicago 2019: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local Chicago 2019: MongoDB Atlas Data Lake Technical Deep DiveMongoDB .local Chicago 2019: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local Chicago 2019: MongoDB Atlas Data Lake Technical Deep Dive
 
Introduction to mongo db by zain
Introduction to mongo db by zainIntroduction to mongo db by zain
Introduction to mongo db by zain
 
Webinar: Live Data Visualisation with Tableau and MongoDB
Webinar: Live Data Visualisation with Tableau and MongoDBWebinar: Live Data Visualisation with Tableau and MongoDB
Webinar: Live Data Visualisation with Tableau and MongoDB
 
Neo4j + MongoDB. Neo4j Doc Manager for Mongo Connector - GraphConnect SF 2015
Neo4j + MongoDB. Neo4j Doc Manager for Mongo Connector - GraphConnect SF 2015Neo4j + MongoDB. Neo4j Doc Manager for Mongo Connector - GraphConnect SF 2015
Neo4j + MongoDB. Neo4j Doc Manager for Mongo Connector - GraphConnect SF 2015
 
Graph Databases
Graph DatabasesGraph Databases
Graph Databases
 
Presentation
PresentationPresentation
Presentation
 
2018-10-23 7 A - All about documents in Office 365 - Sébastien Paulet
2018-10-23 7 A - All about documents in Office 365 - Sébastien Paulet2018-10-23 7 A - All about documents in Office 365 - Sébastien Paulet
2018-10-23 7 A - All about documents in Office 365 - Sébastien Paulet
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 
Setting Your Data Free With OData
Setting Your Data Free With ODataSetting Your Data Free With OData
Setting Your Data Free With OData
 
Stream Processing Live Traffic Data with Kafka Streams
Stream Processing Live Traffic Data with Kafka StreamsStream Processing Live Traffic Data with Kafka Streams
Stream Processing Live Traffic Data with Kafka Streams
 
DBpedia Viewer - LDOW 2014
DBpedia Viewer - LDOW 2014DBpedia Viewer - LDOW 2014
DBpedia Viewer - LDOW 2014
 
GraphQL is actually rest
GraphQL is actually restGraphQL is actually rest
GraphQL is actually rest
 
Real Time Data Analytics with MongoDB and Fluentd at Wish
Real Time Data Analytics with MongoDB and Fluentd at WishReal Time Data Analytics with MongoDB and Fluentd at Wish
Real Time Data Analytics with MongoDB and Fluentd at Wish
 

Similar to .NET Fest 2017. Константин Проскурдин. Marten как хранилище документов для .NET приложений

mongodb-120401144140-phpapp01 claud camputing
mongodb-120401144140-phpapp01 claud camputingmongodb-120401144140-phpapp01 claud camputing
mongodb-120401144140-phpapp01 claud camputing
moeincanada007
 
Best practices for managing and operating your SharePoint farms
Best practices for managing and operating your SharePoint farmsBest practices for managing and operating your SharePoint farms
Best practices for managing and operating your SharePoint farms
BIWUG
 

Similar to .NET Fest 2017. Константин Проскурдин. Marten как хранилище документов для .NET приложений (20)

Simplifying SQL Server & SharePoint Migrations using PowerShell
Simplifying SQL Server & SharePoint Migrations using PowerShellSimplifying SQL Server & SharePoint Migrations using PowerShell
Simplifying SQL Server & SharePoint Migrations using PowerShell
 
Whowas: History of resources at APNIC
Whowas: History of resources at APNICWhowas: History of resources at APNIC
Whowas: History of resources at APNIC
 
NoSQL and Spatial Database Capabilities using PostgreSQL
NoSQL and Spatial Database Capabilities using PostgreSQLNoSQL and Spatial Database Capabilities using PostgreSQL
NoSQL and Spatial Database Capabilities using PostgreSQL
 
OSDC 2012 | Building a first application on MongoDB by Ross Lawley
OSDC 2012 | Building a first application on MongoDB by Ross LawleyOSDC 2012 | Building a first application on MongoDB by Ross Lawley
OSDC 2012 | Building a first application on MongoDB by Ross Lawley
 
Spring data presentation
Spring data presentationSpring data presentation
Spring data presentation
 
Asp.net
Asp.netAsp.net
Asp.net
 
An Introduction to Druid
An Introduction to DruidAn Introduction to Druid
An Introduction to Druid
 
NoSQL on ACID - Meet Unstructured Postgres
NoSQL on ACID - Meet Unstructured PostgresNoSQL on ACID - Meet Unstructured Postgres
NoSQL on ACID - Meet Unstructured Postgres
 
Web Applications Development with MEAN Stack
Web Applications Development with MEAN StackWeb Applications Development with MEAN Stack
Web Applications Development with MEAN Stack
 
Introducción a NoSQL
Introducción a NoSQLIntroducción a NoSQL
Introducción a NoSQL
 
mongodb-120401144140-phpapp01 claud camputing
mongodb-120401144140-phpapp01 claud camputingmongodb-120401144140-phpapp01 claud camputing
mongodb-120401144140-phpapp01 claud camputing
 
Combine Spring Data Neo4j and Spring Boot to quickl
Combine Spring Data Neo4j and Spring Boot to quicklCombine Spring Data Neo4j and Spring Boot to quickl
Combine Spring Data Neo4j and Spring Boot to quickl
 
Mongodb intro
Mongodb introMongodb intro
Mongodb intro
 
What's new in SQL Server 2017
What's new in SQL Server 2017What's new in SQL Server 2017
What's new in SQL Server 2017
 
Electron, databases, and RxDB
Electron, databases, and RxDBElectron, databases, and RxDB
Electron, databases, and RxDB
 
How to Migrate from Cassandra to Amazon DynamoDB - AWS Online Tech Talks
How to Migrate from Cassandra to Amazon DynamoDB - AWS Online Tech TalksHow to Migrate from Cassandra to Amazon DynamoDB - AWS Online Tech Talks
How to Migrate from Cassandra to Amazon DynamoDB - AWS Online Tech Talks
 
Presentation: mongo db & elasticsearch & membase
Presentation: mongo db & elasticsearch & membasePresentation: mongo db & elasticsearch & membase
Presentation: mongo db & elasticsearch & membase
 
Best practices for managing and operating your SharePoint farms
Best practices for managing and operating your SharePoint farmsBest practices for managing and operating your SharePoint farms
Best practices for managing and operating your SharePoint farms
 
Extending the schema.org vocabulary for more expressive accommodation annotat...
Extending the schema.org vocabulary for more expressive accommodation annotat...Extending the schema.org vocabulary for more expressive accommodation annotat...
Extending the schema.org vocabulary for more expressive accommodation annotat...
 
MongoDB by Emroz sardar.
MongoDB by Emroz sardar.MongoDB by Emroz sardar.
MongoDB by Emroz sardar.
 

More from NETFest

More from NETFest (20)

.NET Fest 2019. Николай Балакин. Микрооптимизации в мире .NET
.NET Fest 2019. Николай Балакин. Микрооптимизации в мире .NET.NET Fest 2019. Николай Балакин. Микрооптимизации в мире .NET
.NET Fest 2019. Николай Балакин. Микрооптимизации в мире .NET
 
.NET Fest 2019. Сергей Калинец. Efficient Microservice Communication with .NE...
.NET Fest 2019. Сергей Калинец. Efficient Microservice Communication with .NE....NET Fest 2019. Сергей Калинец. Efficient Microservice Communication with .NE...
.NET Fest 2019. Сергей Калинец. Efficient Microservice Communication with .NE...
 
.NET Fest 2019. Оля Гавриш. .NET Core 3.0 и будущее .NET
.NET Fest 2019. Оля Гавриш. .NET Core 3.0 и будущее .NET.NET Fest 2019. Оля Гавриш. .NET Core 3.0 и будущее .NET
.NET Fest 2019. Оля Гавриш. .NET Core 3.0 и будущее .NET
 
.NET Fest 2019. Оля Гавриш. Машинное обучение для .NET программистов
.NET Fest 2019. Оля Гавриш. Машинное обучение для .NET программистов.NET Fest 2019. Оля Гавриш. Машинное обучение для .NET программистов
.NET Fest 2019. Оля Гавриш. Машинное обучение для .NET программистов
 
.NET Fest 2019. Roberto Freato. Provisioning Azure PaaS fluently with Managem...
.NET Fest 2019. Roberto Freato. Provisioning Azure PaaS fluently with Managem....NET Fest 2019. Roberto Freato. Provisioning Azure PaaS fluently with Managem...
.NET Fest 2019. Roberto Freato. Provisioning Azure PaaS fluently with Managem...
 
.NET Fest 2019. Halil Ibrahim Kalkan. Implementing Domain Driven Design
.NET Fest 2019. Halil Ibrahim Kalkan. Implementing Domain Driven Design.NET Fest 2019. Halil Ibrahim Kalkan. Implementing Domain Driven Design
.NET Fest 2019. Halil Ibrahim Kalkan. Implementing Domain Driven Design
 
.NET Fest 2019. Сергій Бута. Feature Toggles: Dynamic Configuration at Wirex
.NET Fest 2019. Сергій Бута. Feature Toggles: Dynamic Configuration at Wirex.NET Fest 2019. Сергій Бута. Feature Toggles: Dynamic Configuration at Wirex
.NET Fest 2019. Сергій Бута. Feature Toggles: Dynamic Configuration at Wirex
 
.NET Fest 2019. Michael Staib. Hot Chocolate: GraphQL Schema Stitching with A...
.NET Fest 2019. Michael Staib. Hot Chocolate: GraphQL Schema Stitching with A....NET Fest 2019. Michael Staib. Hot Chocolate: GraphQL Schema Stitching with A...
.NET Fest 2019. Michael Staib. Hot Chocolate: GraphQL Schema Stitching with A...
 
.NET Fest 2019. Андрей Литвинов. Async lifetime tests with xUnit and AutoFixture
.NET Fest 2019. Андрей Литвинов. Async lifetime tests with xUnit and AutoFixture.NET Fest 2019. Андрей Литвинов. Async lifetime tests with xUnit and AutoFixture
.NET Fest 2019. Андрей Литвинов. Async lifetime tests with xUnit and AutoFixture
 
.NET Fest 2019. Анатолий Колесник. Love, Death & F# Tests
.NET Fest 2019. Анатолий Колесник. Love, Death & F# Tests.NET Fest 2019. Анатолий Колесник. Love, Death & F# Tests
.NET Fest 2019. Анатолий Колесник. Love, Death & F# Tests
 
.NET Fest 2019. Алексей Голуб. Монадные парсер-комбинаторы в C# (простой спос...
.NET Fest 2019. Алексей Голуб. Монадные парсер-комбинаторы в C# (простой спос....NET Fest 2019. Алексей Голуб. Монадные парсер-комбинаторы в C# (простой спос...
.NET Fest 2019. Алексей Голуб. Монадные парсер-комбинаторы в C# (простой спос...
 
.NET Fest 2019. Roberto Freato. Azure App Service deep dive
.NET Fest 2019. Roberto Freato. Azure App Service deep dive.NET Fest 2019. Roberto Freato. Azure App Service deep dive
.NET Fest 2019. Roberto Freato. Azure App Service deep dive
 
.NET Fest 2019. Леонид Молотиевский. DotNet Core in production
.NET Fest 2019. Леонид Молотиевский. DotNet Core in production.NET Fest 2019. Леонид Молотиевский. DotNet Core in production
.NET Fest 2019. Леонид Молотиевский. DotNet Core in production
 
.NET Fest 2019. Александр Демчук. How to measure relationships within the Com...
.NET Fest 2019. Александр Демчук. How to measure relationships within the Com....NET Fest 2019. Александр Демчук. How to measure relationships within the Com...
.NET Fest 2019. Александр Демчук. How to measure relationships within the Com...
 
.NET Fest 2019. Anna Melashkina та Philipp Bauknecht. Dragons in a Mixed Real...
.NET Fest 2019. Anna Melashkina та Philipp Bauknecht. Dragons in a Mixed Real....NET Fest 2019. Anna Melashkina та Philipp Bauknecht. Dragons in a Mixed Real...
.NET Fest 2019. Anna Melashkina та Philipp Bauknecht. Dragons in a Mixed Real...
 
.NET Fest 2019. Alex Thissen. Architecting .NET solutions in a Docker ecosystem
.NET Fest 2019. Alex Thissen. Architecting .NET solutions in a Docker ecosystem.NET Fest 2019. Alex Thissen. Architecting .NET solutions in a Docker ecosystem
.NET Fest 2019. Alex Thissen. Architecting .NET solutions in a Docker ecosystem
 
.NET Fest 2019. Stas Lebedenko. Practical serverless use cases in Azure with ...
.NET Fest 2019. Stas Lebedenko. Practical serverless use cases in Azure with ....NET Fest 2019. Stas Lebedenko. Practical serverless use cases in Azure with ...
.NET Fest 2019. Stas Lebedenko. Practical serverless use cases in Azure with ...
 
.NET Fest 2019. Сергей Медведев. How serverless makes Integration TDD a reali...
.NET Fest 2019. Сергей Медведев. How serverless makes Integration TDD a reali....NET Fest 2019. Сергей Медведев. How serverless makes Integration TDD a reali...
.NET Fest 2019. Сергей Медведев. How serverless makes Integration TDD a reali...
 
.NET Fest 2019. Сергей Корж. Natural Language Processing in .NET
.NET Fest 2019. Сергей Корж. Natural Language Processing in .NET.NET Fest 2019. Сергей Корж. Natural Language Processing in .NET
.NET Fest 2019. Сергей Корж. Natural Language Processing in .NET
 
.NET Fest 2019. Eran Stiller. Create Your Own Serverless PKI with .NET & Azur...
.NET Fest 2019. Eran Stiller. Create Your Own Serverless PKI with .NET & Azur....NET Fest 2019. Eran Stiller. Create Your Own Serverless PKI with .NET & Azur...
.NET Fest 2019. Eran Stiller. Create Your Own Serverless PKI with .NET & Azur...
 

Recently uploaded

The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
PECB
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
Chris Hunter
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
QucHHunhnh
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
negromaestrong
 

Recently uploaded (20)

Asian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptxAsian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptx
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural ResourcesEnergy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 

.NET Fest 2017. Константин Проскурдин. Marten как хранилище документов для .NET приложений

  • 1. Киев 2017 Только реальные кейсы. Только актуальные тренды. Marten as Document DB for .NET applications Konstantin Proskurdin
  • 2. Marten as Document DB for .NET applications Киев 2017 Agenda • Microservices and data • Document Storage • Marten
  • 3. Marten as Document DB for .NET applications Киев 2017 Microservices and data
  • 4. Marten as Document DB for .NET applications Киев 2017 Microservices and data
  • 5. Marten as Document DB for .NET applications Киев 2017 Microservices and data
  • 6. Marten as Document DB for .NET applications Киев 2017 Document Storage • MongoDB • RavenDB • SQL Server • xml, XPath • JSON • Oracle • xml, XPath • JSON • PostgreSQL • Hstore • JSON • HStore2 • JSONB
  • 7. Marten as Document DB for .NET applications Киев 2017 SQL:2016, ISO/IEC TR 19075- 6:2017: SQL support for JavaScript Object Notation (JSON) • December 2016 • Standard uses strings to store JSON data, standard defines functions that interpret strings as JSON data • <expr> is [not] json • json_object([key] <expr> value <expression> [,…]) • json_array([<expr>[,…]]) , json_array(<query>) • json_arrayagg(<expr> [order by …]) • json_objectagg([key] <expr> value <expression>) • json_exists(<json>, <path>) • json_value(<json>, <path> [returning <type>]) • json_query(<json>, <path> …) • json_table(<json>, <path> columns …) • JSON Path
  • 8. Marten as Document DB for .NET applications Киев 2017 PostgreSQL JSON(B) Operators • -> Get JSON object field by key • ->> Get JSON object field as text • #> Get JSON object at specified path • #>> Get JSON object at specified path as text • @> Does the left JSON value contains the right JSON
  • 9. Marten as Document DB for .NET applications Киев 2017 PostgreSQL vs MongoDB
  • 10. Marten as Document DB for .NET applications Киев 2017 JSONB Demo
  • 11. Marten as Document DB for .NET applications Киев 2017 Marten IQueryable provider for JSONB
  • 12. Marten as Document DB for .NET applications Киев 2017 Marten Basics Demo
  • 13. Marten as Document DB for .NET applications Киев 2017 Advanced features of Marten • Querying with PostgreSQL • Indexes • Expression Indexes • GIN Indexes • Extending Marten's LINQ Support • Profiling • Foreign Keys • Tenancy
  • 14. Marten as Document DB for .NET applications Киев 2017 JSONB Indexes/Advanced Marten Demo
  • 15. Marten as Document DB for .NET applications Киев 2017 Summary • Structured/Semi Structured data • Document storages • SQL:2016 JSON standard • PostgreSQL • Marten
  • 16. Marten as Document DB for .NET applications Киев 2017 References • http://blog.christianposta.com/posts/ • http://standards.iso.org/ittf/PubliclyAvailableStandar ds/c067367_ISO_IEC_TR_19075-6_2017.zip • https://modern-sql.com/blog/2017-06/whats-new- in-sql-2016Document-oriented databases • https://www.postgresql.org/docs/current/static/func tions-json.html • https://jasperfx.github.io/marten/documentation/ • https://www.postgresql.org/docs/9.6/static/gin- intro.html • https://www.slideshare.net/profyclub_ru/postgres- vs-mongo-postgres-professional
  • 17. Marten as Document DB for .NET applications Киев 2017 Contacts Konstantin Proskurdin Adver-Online kproskurdin@adver-online.nl
  • 18. Marten as Document DB for .NET applications Киев 2017 That’s all

Editor's Notes

  1. Short introduction + about myself
  2. Short agenda
  3. general microservices stuff
  4. Local Data(Structured Data) * Data model explicitly determines the structure of data * Schema is fixed * Easy to visualize * A lot of Math * Ready-made query language, SQL
  5. Shared data(Semi-structured Data) * Self-describing structure * The schema can easily be changed * Helps to not worry about object-relational impedance mismatch * Support for nested or hierarchical data * Support for lists of objects * Can represent the information of some data sources that cannot be constrained by schema * Flexible format for data exchange between different types of databases
  6. Overview and choose of document db * Why not xml, json in SQL/Oracle - speed * Why not RavenDB – not usable * Why not Mongo – too complicated in configuration
  7. Standard for JSON in RDMS from ISO Only Oracle and partially SQL Server support parts of standart
  8. non standard json operators but with native jsonb
  9. Oleg Bartunov(Бартунов) RIT++ 2017 Yahoo! Cloud Serving Benchmark
  10. show how jsonb works everything is good with JOSNB except it is not supported by EF
  11. One standard(IQueryable) for access both local data and shared data PostgreSQL 9.5+ .NET 4.6+ how it works in short Document Database & Event store
  12. start up with marten set up storage write data read data
  13. Advanced features of Marten
  14. B-Tree and GIN indexes, how to use it in Marten
  15. Shot summary Live experience of using Marten in company Amount of data that we used