Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Киев 2017
Только реальные кейсы. Только актуальные тренды.
Marten as Document DB
for .NET applications
Konstantin Proskurd...
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
• JSO...
Marten as Document DB for .NET applications Киев 2017
SQL:2016, ISO/IEC TR 19075-
6:2017: SQL support for JavaScript
Objec...
Marten as Document DB for .NET applications Киев 2017
PostgreSQL JSON(B) Operators
• -> Get JSON object field by key
• ->>...
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
• E...
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:...
Marten as Document DB for .NET applications Киев 2017
References
• http://blog.christianposta.com/posts/
• http://standard...
Marten as Document DB for .NET applications Киев 2017
Contacts
Konstantin Proskurdin
Adver-Online
kproskurdin@adver-online...
Marten as Document DB for .NET applications Киев 2017
That’s all
Upcoming SlideShare
Loading in …5
×

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

81 views

Published on

При работе с реляционными СУБД структура данных должна быть определена перед началом работы с ними. Но иногда бывает необходимо сохранять и, что более важно, искать по частично-структурированным данным. А также было бы удобно использовать один и тот же интерфейс для доступа к структурированным и частично-структурированным данным. В рамках доклада будет рассмотрено использование Marten и JSONP для создания IQueryable хранилища документов, а также сравнение данного подхода с другими способами хранения и поиска документов для .NET приложений.

Published in: Education
  • Be the first to comment

  • Be the first to like this

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

  1. 1. Киев 2017 Только реальные кейсы. Только актуальные тренды. Marten as Document DB for .NET applications Konstantin Proskurdin
  2. 2. Marten as Document DB for .NET applications Киев 2017 Agenda • Microservices and data • Document Storage • Marten
  3. 3. Marten as Document DB for .NET applications Киев 2017 Microservices and data
  4. 4. Marten as Document DB for .NET applications Киев 2017 Microservices and data
  5. 5. Marten as Document DB for .NET applications Киев 2017 Microservices and data
  6. 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. 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. 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. 9. Marten as Document DB for .NET applications Киев 2017 PostgreSQL vs MongoDB
  10. 10. Marten as Document DB for .NET applications Киев 2017 JSONB Demo
  11. 11. Marten as Document DB for .NET applications Киев 2017 Marten IQueryable provider for JSONB
  12. 12. Marten as Document DB for .NET applications Киев 2017 Marten Basics Demo
  13. 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. 14. Marten as Document DB for .NET applications Киев 2017 JSONB Indexes/Advanced Marten Demo
  15. 15. Marten as Document DB for .NET applications Киев 2017 Summary • Structured/Semi Structured data • Document storages • SQL:2016 JSON standard • PostgreSQL • Marten
  16. 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. 17. Marten as Document DB for .NET applications Киев 2017 Contacts Konstantin Proskurdin Adver-Online kproskurdin@adver-online.nl
  18. 18. Marten as Document DB for .NET applications Киев 2017 That’s all

×