Hacker Timesnew | past | comments | ask | show | jobs | submitlogin

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?


Look, 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.


Because you want to do arbitrary queries on the data? Because the data needs to be exposed to other applications?


Not 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.


That is exactly what Oracle Coherence (nee Tangosol) does.


As 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.


> 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.


Persistence?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: