ÜBER DIESE EPISODE
Episode 83
This week on Herding Code, the guys talk with Ayende Rahien (a.k.a. Oren Eini) about RavenDB, a new Open Source (with a commercial option) document database for the .NET/Windows platform.
- The shows starts with a general definition of document databases. Ayende then contrasts RavenDB with two other popular document databases, Mongo and CouchDB, and comments that RavenDB is much more similar to CouchDB than Mongo.
- Ayende talks about how RavenDB indexes work - they're written when you store data, but not immediately after. He continues with an explanation of transactions - data is transactional, but indexes aren't.
- Scott K brings up Node.js and asked if Ayende had looked at the event driven approach over spinning up threads. Ayende talks about how RavenDB previously worked like that, but it made debugging very painful. Instead, the architecture is now focused on the end goal - RavenDB will never make you wait for a write.
- The guys take a question from Twitter about whether there are plans to support Mono. Ayende says yes, but outlines some of the changes that will be required to make that happen.
- Scott K asks if traditional RDBMS performance tweaks based on moving data and indexes to other spindles are possible and useful on RavenDB.
- Jon asks about how this relates to Reactive Extensions, and Ayende discusses how Event Sourcing works in RavenDB.
- Jon and Scott K ask some questions about storage formats - JSON, binary serialization, etc.
- The group digs into how Map / Reduce works. Ayende explains Map / Reduce in generally terms as well as how it pertains to RavenDB.
- K Scott asks questions about indexing - how it's done, how indexes are defined and impacts of keeping a lot of indexes. Ayende talks about how indexes are essentially materialized views, and how the RavenDB query engine can use both LINQ and Lucene syntax.
- K Scott asks about transaction support, embedded support, and concurrency.
- The guys talk about the "sweet spot" for RavenDB and document databases. Ayende talks about advantages of working with a document database, and the benefits of working without a defined schema.
- Jon asks if ORM's just go away in a document database context and the conversation moves on to talking about different architectures and development strategies that come into play when working with schema-less documents.
- K Scott mentions that this seems like it would work really well with Aggregate Roots in Domain-Driven Design.
- Ayende and Jon discuss how aggregate queries compare in the context of some of the inefficient queries in MVC Music Store.
- Kevin drills a little deeper into the versioning challenges.
- Jon asks about the use of .NET 4 features with RavenDB including the Task Library and the Expando object. Ayende talks about how they made heavy use of the Dynamic keyword and MEF in RavenDB. Basically, everything except for storage and indexing is handled via MEF.
- Ayende talks about the extensibility points such as read and index previews.
- Jon begs for punishment by asking for Ayende's comments on the MVC Music Store. Ayende talks about how he prefers tutorials be very explicit about what they're not going to cover in detail. He recommends completely removing details which aren't the focus of the tutorial. Then he goes on to talk about how things like shopping carts just seem to work more smoothly with document storage rather than relational databases.
- Jon asks about the licensing models. Ayende talks about how people were unhappy with the initial pricing model due to the differing deployment expectations, and how he worked with customers to establish a pricing model that works for everyone.
- Ayende teaches the gang the term "Chinese Interesting."
Show Links:
- Ayende's Blog
- RavenDB
- Map / Reduce - A Visual Explanation
- RavenDB - An Introduction
- NHibernate
- Mvc Music Store
- NoSQL
- MongoDB
- CouchDB
- Domain-Driven Design, Aggregate Roots
- Reactive Extensions for .NET (Rx)
- Lucene.NET
- MEF
- Rob Conery
- Glenn Block
- James Avery
- Ryan Dahl, Node.js
- Extensible Storage Engine
Show notes compiled by Ben Griswold. Thanks!
Download / Listen:
Englisch
Vereinigte Staaten
IN DIESER FOLGE
TRANSKRIPT 🔗
Are you the producer of this podcast?
Add a podcast transcript
Need Audio-to-Text?
Transcribe with Listen411 in Just 60 Seconds
VERGANGENE FOLGEN SUCHEN
Vorhandene Folgen von Herding Code durchsuchen.
WEITERE EPISODEN IN DIESEM PODCAST
Jon talks to Bruno Borges and Mark Heckler about Java development.
https://herdingcode.com/wp-content/uploads/HerdingCode-245-Catching-up-on-Java-dev-with-Bruno-Borges-and-Mark-Heckler.mp3
What? On video now?!?!
Download / Listen: Herding Code 245: Catching up on Java dev with Bruno B…
Kevin and Jon talk to Shawn Wildermuth about his new documentary film, Hello World. Shawn talks about how this film project began as a “love letter to software development,” exploring how amazing this career can be. As he delved into it he became more aware of the lack representation of…
Recently Jon switched to developing on macOS, and Rob’s been developing on Windows. It’s time for the Freaky Friday edition! The guys compare notes, what they like, what’s confusing, and what they’ve learned.
Download / Listen: Herding Code 241: The Freaky Friday macOS /…
Download / Listen: Herding Code 240: Phil Haack on Working from Home
https://herdingcode.com/wp-content/uploads/HerdingCode-0240-Phil-Haack.mp3
Jon, Kevin, and Rob talk to Phil Haack about working from home.
Links:
How To Work From Home
How to Lead From Home
Geographically Distrib…
Kevin, Jon and Rob talk to Ben Scheirman about developing user interfaces for the Apple platform with SwiftUI and Combine.
Ben screencasts at NSScreencast and is the creator of the Combine Swift course.
Download / Listen: Herding Code 244: Herding Code 244: Ben Scheirman on SwiftUI and Co…
Rechtliche Hinweise: Der auf dieser Seite eingebettete Podcast und das Bildmaterial stammen von Herding Code, das Eigentum seines Eigentümers ist und nicht mit Listen Notes, Inc. verbunden ist oder von diesen unterstützt wird.
BEARBEITEN
Vielen Dank, dass Sie uns helfen, die Podcast-Datenbank auf dem neuesten Stand zu halten.