Thursday, June 03, 2004
XML/JS Binding
So, given that I've now totally moved to an XML/JSBean binding, the question becomes: did I really just want an object relational bridge?
I would say no -- I don't want a relational data store, after all. The goal was to stor e the user's data in a standard form which is easily accessible. -- yes, sure, SQL's a standard. But the 73 cross-referenced tables any given application generates sure as hell aren't.
By storing the data as XML, it's moderately easy for the user (or at the very least, a programmer hired by the user) to understand the structure quickly, and then use existing tools such as the DOM, SAX or even XSLT to operate on it. Storing it in an RDBMS would not get you this. :>
However, another concern is that at the moment, my data is pretty simplistic. If it gets more complicated -- which it won't, unless the application itself gains a larger scope -- I may well be in a situation where a relational database would give me enormous speed gains. Then again, my application is likely a low-use one, so this is a bit of a mitigating factor.
I'm also a bit concerned about scalability, even of simple databases with only a couple collections that aren't even cross-referenced. And transactions. I wonder if there are NXDs with support for transactions, or if I'll have to cobble in my own locking system - doesn't even need to be too granular at the moment. Ah, questions, questions.
I would say no -- I don't want a relational data store, after all. The goal was to stor e the user's data in a standard form which is easily accessible. -- yes, sure, SQL's a standard. But the 73 cross-referenced tables any given application generates sure as hell aren't.
By storing the data as XML, it's moderately easy for the user (or at the very least, a programmer hired by the user) to understand the structure quickly, and then use existing tools such as the DOM, SAX or even XSLT to operate on it. Storing it in an RDBMS would not get you this. :>
However, another concern is that at the moment, my data is pretty simplistic. If it gets more complicated -- which it won't, unless the application itself gains a larger scope -- I may well be in a situation where a relational database would give me enormous speed gains. Then again, my application is likely a low-use one, so this is a bit of a mitigating factor.
I'm also a bit concerned about scalability, even of simple databases with only a couple collections that aren't even cross-referenced. And transactions. I wonder if there are NXDs with support for transactions, or if I'll have to cobble in my own locking system - doesn't even need to be too granular at the moment. Ah, questions, questions.