3 ms·
If the ORM layer is providing a caching layer on top of the RDBMS, that caching layer is effectively a non-relational store for the data. If that works better,
by seldo 16y ago
If the ORM layer is providing a caching layer on top of the RDBMS, that caching layer is effectively a non-relational store for the data. If that works better, why not use it as the primary store?
- jbarciauskas 16y agoNot necessarily - you could store a resultset based on the query and parameters, and if the same query and parameters come within a certain amount of time, you return the whole resultset from the cache. In this scenario, the resultset could contain a filtered list, aggregate functions, etc, that are more difficult to replicate in a key-value store.
- gaius 16y agoThat is exactly what Oracle Coherence (nee Tangosol) does.
- Aaronontheweb 16y agoPersistence?
- gthank 16y agoBecause you want to do arbitrary queries on the data? Because the data needs to be exposed to other applications?
- ora600 16y agoAs you state in your article, the ability to easily phrase ad-hoc questions and have them answered with almost no programming is a very useful tool. Why not use two tools where two are needed? Many databases run a mix of OLTP (which requires fast cache and no ad-hoc queries) and ad-hoc business intelligence queries.
- gnaritas 16y ago> easily phrase ad-hoc questions and have them answered with almost no programming Queries are programming, the worst kind, programming without composable abstractions. What people actually mean when they say this is they like having a workspace and a live environment. It's like working in Smalltalk or Lisp in a live image. Put your email in your profile, I'm disappointed you didn't continue the discussion yesterday after saying do it over email, which you don't make available.
- Locke1689 16y agoLook, honestly sometimes ORMs are very helpful for developers, especially when they're built directly into a framework (e.g., Django). They may be more useful if the database itself had knowledge of what you're trying to do (hint, hint). If you're arguing that they will have necessarily worse performance characteristics, you're wrong. Source: I'm currently a SDE intern in the SQL Server team at Microsoft.