Recently Jnan Dash of Foldera made a great comment regarding persistence. He said there are two ways to park your car. The first is to disassemble it and store it on a shelf, then reassemble it when you need it again. Or just put it somewhere fully assembled.
I continuously struggle with developers who feel they need to store data as discreet elements in a set of tables. For many applications this is a wise thing to do, but by far not all of them.
This is fundamentally the reason I stopped development on CarrierWave. It was nothing but a tool to manage the impedance between the client and server layered on a tool to manage the impedance between the server and the database.
I'm not advocating the rise of next-gen OODBMS. But I am asking developers to challenge their assumptions.
I am happy to say I'm seeing more applications depart from using some sort of RDBMS on the backend though.
DabbleDB is the most obvious example. Coghead being a non-obvious one.
Coghead, as I was told, uses Berkeley DB for persistence, and XML as the internal data structure. BTW, they use ActiveBPEL as the execution engine.
I think this is a brilliant move where you have applications that need to scale linearly over time with as few points of failure as possible.
Leave a comment