From: Dan M. <dan...@gm...> - 2010-03-31 13:55:18
|
Great idea Jim! Your idea is another example of how we can make eXist more attractive for people that are stuck with older legacy RDBMS systems. Here is one other line of thought about how eXist might integrate with an RDBMS. Right now this was just a "design" and we never got full funding to finish the proof-of-concept. But I wanted to at least share our thinking. In the past I did quite a bit of work with porting XRX applications between eXist and DB2. Using eXist was easy but setting up a WebDAV connection so that we could make DB2 looks like an XML file system was a lot of work! We wanted to make it so simple for people do do drag-and-drop to import XML files into our system, but some of the collections in our WebDAV view would really be in a DB2 table. One thing we did was to try to map the notion of a "collection" into an RDBMS system. Here was our goal: We wanted eXist to "Create a new Collection but put the XML files in the DB2 system". We wanted our XQueries in eXist to access saved form data on a remote system. We wanted to keep our XQuery code portable free from *SQL pollution* but still use data in a remote RDBMS supported by another vendor. One design option we looked was to try to make specific *collections *map into an RDBMS table with a single column that contained XML data. Each XML file was then mapped to a row n the RDBMS table that had five columns. The time-stamps and users that created and updated the XML file and a single column for the RDBMS XML datatype. We could then think of any XML collection like: /db/db2/my_collection that *really *was running on DB2 in a SQL table called "my_collection" using the very fast IBM PureXML "viper" 9.1 system that does do nice work with the XML datatype and supported XQuery. We wanted the systems to sync up so that the b+trees on eXist would get updated with the RDBMS data was changed. That would have duplicated the indexes but we did not think that the disk space was a problem. IBM software was fast but the hoops we had to jump through to run XQuery with SQL made it 10x harder to work with. That was several years ago but I still think that eXist has a much cleaner XQuery interface. I should also note that we were asked (but not funded) if we could do this same thing with Microsoft-SQL server since the license costs were about 1/4th of the DB2 costs. I imagine that using the Oracle XML column type we could also do a similar thing. Most of this work was very low-level Java coding using the DB2 interfaces and I did not do the Java work myself. It was slow hard work and our little proof-of-architecture budget did not support it. But it was fun to think about how the system might work together and appear to the XQuery developer as a single seamless entity. The only restriction would be that distributed joins would be very slow. I don't know how difficult it would be to intercept all XQueries for a specific collection and route them to a remote RDBMS and get the results back. But if we did have a collection RDBMS collection plugin it might be an interesting test. Most of the work then like it would need to be done on each RDBMS. - Dan 2010/3/31 James Fuller <jam...@ex...> > 2010/3/31 Leif-Jöran Olsson <lj...@ex...> > >> Just remember that for a newbie this works best with non-structural data >> in the rdb fields. Otherwise the data massaging (possibly) needed to >> make it well-formed can as well scare them away. >> > > good point Leif, > > will need to apply 'principle of least surprise' everywhere possible with > this, lets see how the prototype I am cooking up goes, it maybe that high > level impl is enough as a 'taster' for people, > > J > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > Exist-development mailing list > Exi...@li... > https://lists.sourceforge.net/lists/listinfo/exist-development > > -- Dan McCreary Semantic Solutions Architect syntactica.com 952-460-1674 VOIP: 111@69.199.167.229 |