rethink ing your data store
play

Rethink-ing your data store All about RethinkDB by: Brian Maula - PowerPoint PPT Presentation

Rethink-ing your data store All about RethinkDB by: Brian Maula Outline A developers tale Why did I choose RethinkDB? Why is it awesome? Caveats Demos Purpose This is a high-level introduction More of a


  1. 
 Rethink-ing your data store All about RethinkDB 
 by: Brian Maula

  2. Outline • A developer’s tale • Why did I choose RethinkDB? • Why is it awesome? • Caveats • Demos

  3. Purpose • This is a high-level introduction • More of a story, really • Whet your appetite for RethinkDB

  4. Who is this guy? • C# Developer, ASP.NET, MVC, Entity Framework, SQL Server • Loves playing around with new technology • Pretends he’s Carter Beauford on drums • Enjoys cooking • ILM Consultant

  5. Info • brian.maula@ilmservice.com • @maulowski (not necessarily tech stuff) • linkedin.com/in/bmaula (I don’t check this often…like never)

  6. I AM NOT AN EXPERT

  7. A Developers Tale

  8. I want to build an app • I wanted to build an app using the Microsoft “Trinity” stack: MVC, SQL Server, Entity Framework. • Open Visual Studio 2013, new solution • Application done!

  9. Application done! No, not really. You just hit some roadblocks.

  10. Roadblock: Real-time

  11. Solutions? • Use a message queue system • Long polling that calls an API • Using SSIS and triggers

  12. Roadblock: data modeling

  13. Why data modeling sucks • Relational databases have schema enforcement • You think of your data in terms of tables • Difficult to deviate from the relational model

  14. Roadblock: Entity Framework/ Migrations

  15. Why does EF migration suck? • Simple tables yields less headaches when writing out your Fluent queries • Not good when your data store deviates from relational model • Entity Framework Performance still sucks (last I checked) • Changes to data model is costly • The tool adds more steps to your workflow

  16. Conclusions • Data modeling sucks for SQL • Entity Framework can get in the way • Iterating data models with migrations is time consuming • Real-time using SQL Server is a pipe dream • SQL Server is difficult to scale

  17. source: http://www.rethinkdb.com

  18. Why RethinkDB? • Is real-time, it pushes your data • SQL Server, Entity Framework, and Migrations • I didn’t want a schema enforced data store • I wanted to rapidly prototype • Easy to manage and scale • Have the best of both worlds

  19. Why RethinkDB? • geospatial querying • Support for JOINs • Chainable query language • Real-time API is one method call • Scaling the cluster can be done pretty intuitively

  20. Why RethinkDB? • Robust architecture • Support for secondary, compound, and arbitrary indexes • Automatic failover • Integration with RabbitMQ • Integration with ElasticSearch

  21. Caveats Because reality sucks

  22. Caveats • Not ACID compliant • You need strong schema enforcement • Running deep, computationally-intensive analytics • Running a high write system (e.g. twitter) • Performance considerations • You need Windows (currently only supports OS X and Linux)

  23. Caveats • Be aware of how you model your data • Atomic operations are limited to single operations only • Queries aren’t considered atomic operations • Limited C# support • Official drivers only support JavaScript, Ruby, and Python

  24. Demos With somewhat contrived, trivial examples

  25. Conclusions • If you need real-time • If you’re wanting to break up with SQL • It has caveats, it’s not perfect

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend