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.

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

124 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

×