Re: [PHP] PHP with XML database
Thank you Bernhard and Richard Your comments have been really helpful. I have a meeting with the professor on Wednesday and I will lay down all this points in front of him then. On 1/29/07, Richard Lynch <[EMAIL PROTECTED]> wrote: On Fri, January 26, 2007 6:10 pm, Ritesh Nadhani wrote: > Hello > > Bernhard Zwischenbrugger wrote: >> Hi >> >> Some questions >> >>> As part of my research under my professor I have to implement a web >>> interface to their benchmarking data. >>> >>> PHP is the chosen web language but we are little worried about the >>> database. The benchmark data comes to us in XML format (e.g. >>> http://www.matf.bg.ac.yu/~filip/ArgoLib/smt-lib-xml/Examples/FolEq1.xml). >>> We have to implement an interface to query them, get data, update >>> etc. >> >> You can parse the XML, extract the data, put it to an SQL DB and >> move >> the XML to /dev/null (delete it). >> If you do that, you don't need an XML DB. >> Is this possible? >> > > No. My professor is dead against that. Many people have suggested me > doing that. Why? Are XML databases incorrectly implemented or are bad? I think it's safe to say that at least some XML databases are incorrectly implemented, or even bad. :-) The answers you keep getting are because without a driving reason to use the features specific to XML, using XML as the database backend is probably a Bad Idea. So unless you explain WHY you want the XML db, and unless those reasons make sense to need an XML db, you'll keep getting people telling you, effectively, to "Don't do that." >>> We even can change schema in the form of attributes. . The data >>> size >>> would be around 100 MB each XML with around 100 different XMLs. >> >> What do you mean by "different XMLs"? >> Are you looking for a maschine that makes SQL Tables from XML? >> What is inside of the 100MB XML? Your example is a MathML Formula. >> > > By different XMLs I meants, different XML files. So we can have 40 XML > files with around 50-100 MB each. > > Yes, they will have lot sof those MathML formulas. Its benchmarking > data > from some theoritical group that my professor works with. They have > all > their database in XML so relational database is not possible otherwise > we will have to convert them between XML and relational all the time. How exactly will your converted XML get folded back into the other data stores?... This is your big challenge, upon which everything else hinges. >>> The load would be max 5-10 users any given time, batch updates once >>> a >>> month and heavy load probably 2-3 times a month. Mission >>> criticality is >>> not important, we can get it down sometimes. Which db would you >>> suggest? You have to define "heavy load" unless your max 5-10 *is* the "heavy load" in which case you'd have to work hard to screw this up enough to not be able to handle the load, I think... Though I dunno for sure what performance of XML backend is like... >>> I did Google research and as of now - I like eXist, Sedna (they >>> seem to >>> have good PHP wrapper support) and Timber. Another thing would be >>> good >>> documentation and support. I've never even heard of eXist nor Sedna, which is why I'm suggesting you choose something a bit (okay a LOT) more mainstream like MySQL, where you'll have zillions of fellow users to help out. > So my question is: out of the six systems listed above, which one you > would suggest? Has anybody used any of the above system before? What > are > your experiences? I've never actually been silly enough to insist on storying actual data as XML and pretending it's a DB, rather than storing it as DB and then writing scripts to output it as if it were XML... Unless you've got shared data segments scattered all across the world, forcing it all into XML is probably the First Mistake. But since that's your professors' problem, and not yours, I can see how you've got little choice in the matter. -- Some people have a "gift" link here. Know what I want? I want you to buy a CD from some starving artist. http://cdbaby.com/browse/from/lynch Yeah, I get a buck. So? -- Ritesh http://www.riteshn.com -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] PHP with XML database
On Fri, January 26, 2007 6:10 pm, Ritesh Nadhani wrote: > Hello > > Bernhard Zwischenbrugger wrote: >> Hi >> >> Some questions >> >>> As part of my research under my professor I have to implement a web >>> interface to their benchmarking data. >>> >>> PHP is the chosen web language but we are little worried about the >>> database. The benchmark data comes to us in XML format (e.g. >>> http://www.matf.bg.ac.yu/~filip/ArgoLib/smt-lib-xml/Examples/FolEq1.xml). >>> We have to implement an interface to query them, get data, update >>> etc. >> >> You can parse the XML, extract the data, put it to an SQL DB and >> move >> the XML to /dev/null (delete it). >> If you do that, you don't need an XML DB. >> Is this possible? >> > > No. My professor is dead against that. Many people have suggested me > doing that. Why? Are XML databases incorrectly implemented or are bad? I think it's safe to say that at least some XML databases are incorrectly implemented, or even bad. :-) The answers you keep getting are because without a driving reason to use the features specific to XML, using XML as the database backend is probably a Bad Idea. So unless you explain WHY you want the XML db, and unless those reasons make sense to need an XML db, you'll keep getting people telling you, effectively, to "Don't do that." >>> We even can change schema in the form of attributes. . The data >>> size >>> would be around 100 MB each XML with around 100 different XMLs. >> >> What do you mean by "different XMLs"? >> Are you looking for a maschine that makes SQL Tables from XML? >> What is inside of the 100MB XML? Your example is a MathML Formula. >> > > By different XMLs I meants, different XML files. So we can have 40 XML > files with around 50-100 MB each. > > Yes, they will have lot sof those MathML formulas. Its benchmarking > data > from some theoritical group that my professor works with. They have > all > their database in XML so relational database is not possible otherwise > we will have to convert them between XML and relational all the time. How exactly will your converted XML get folded back into the other data stores?... This is your big challenge, upon which everything else hinges. >>> The load would be max 5-10 users any given time, batch updates once >>> a >>> month and heavy load probably 2-3 times a month. Mission >>> criticality is >>> not important, we can get it down sometimes. Which db would you >>> suggest? You have to define "heavy load" unless your max 5-10 *is* the "heavy load" in which case you'd have to work hard to screw this up enough to not be able to handle the load, I think... Though I dunno for sure what performance of XML backend is like... >>> I did Google research and as of now - I like eXist, Sedna (they >>> seem to >>> have good PHP wrapper support) and Timber. Another thing would be >>> good >>> documentation and support. I've never even heard of eXist nor Sedna, which is why I'm suggesting you choose something a bit (okay a LOT) more mainstream like MySQL, where you'll have zillions of fellow users to help out. > So my question is: out of the six systems listed above, which one you > would suggest? Has anybody used any of the above system before? What > are > your experiences? I've never actually been silly enough to insist on storying actual data as XML and pretending it's a DB, rather than storing it as DB and then writing scripts to output it as if it were XML... Unless you've got shared data segments scattered all across the world, forcing it all into XML is probably the First Mistake. But since that's your professors' problem, and not yours, I can see how you've got little choice in the matter. -- Some people have a "gift" link here. Know what I want? I want you to buy a CD from some starving artist. http://cdbaby.com/browse/from/lynch Yeah, I get a buck. So? -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] PHP with XML database
On Fri, January 26, 2007 2:36 pm, Ritesh Nadhani wrote: > Hello all > > As part of my research under my professor I have to implement a web > interface to their benchmarking data. > > PHP is the chosen web language but we are little worried about the > database. The benchmark data comes to us in XML format (e.g. > http://www.matf.bg.ac.yu/~filip/ArgoLib/smt-lib-xml/Examples/FolEq1.xml). > We have to implement an interface to query them, get data, update etc. > > We even can change schema in the form of attributes. . The data size > would be around 100 MB each XML with around 100 different XMLs. > > The load would be max 5-10 users any given time, batch updates once a > month and heavy load probably 2-3 times a month. Mission criticality > is > not important, we can get it down sometimes. Which db would you > suggest? > > I did Google research and as of now - I like eXist, Sedna (they seem > to > have good PHP wrapper support) and Timber. Another thing would be good > documentation and support. > > Any suggestions? MySQL with the XML Engine would be my first suggestion to check out. You would just slurp down the XML and then use simple standard SQL queries on the local copy. I dunno how fast/stable it is, nor even what version of MySQL it appears in, but it's there somewhere. There are almost for sure other more common RDBMS that let you "pretend" that XML is just another database storage file format, and run regular old SQL queries on it. I think PostgreSQL can do this, actually. I wouldn't be shocked to find out that SQL Server even has something truly ugly to do it, but it would work. An even simpler method, if you only get updates once a month, would be to write a monthly "import" script that just loads in the XML to a normal database, with some kind of automated conversion of the XML attributes/tags to column names. -- Some people have a "gift" link here. Know what I want? I want you to buy a CD from some starving artist. http://cdbaby.com/browse/from/lynch Yeah, I get a buck. So? -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] PHP with XML database
Hi again I don't know what the DB should do for you. If you simple want to select subtrees from your big XML, you can put the XML Files to the filesystem and use XPointer for query. Here an example: http://www.w3.org/2001/XInclude"; xmlns:xhtml="http://www.w3.org/1999/xhtml";> http://www.laptop.org/vision/index.shtml#xmlns(xhtml=http://www.w3.org/1999/xhtml)xpointer(//xhtml:div[1]//xhtml:div[1])" parse="xml"> not found END; $dom=domDocument::loadXML($xml); $dom->xinclude(); header("Content-type:text/xml"); echo $dom->saveXML(); ?> This example loads an XML (xhtml) from the web (filesystem is also possible) and outputs a subtree of the document. The subtree is selected by an XPointer expression. The XML: http://www.laptop.org/vision/index.shtml The XPointer: "#xmlns(xhtml=http://www.w3.org/1999/xhtml)xpointer(//xhtml:div[1]//xhtml:div[1])" (the namespace part is a little tricki) To parse 100MByte takes some time. A database can improve speed, the query syntax (XPointer) maybe is the same. Without knowing what the output of the database should be und the query parameters, it is not easy to tell what db is the best for you. A solution could be to split the 100MByte file in small parts and store the subtrees to blobs in mySql. You can build an index based on XPath and it could be a real fast solution. Bernhard -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] PHP with XML database
Hello Bernhard Zwischenbrugger wrote: Hi Some questions As part of my research under my professor I have to implement a web interface to their benchmarking data. PHP is the chosen web language but we are little worried about the database. The benchmark data comes to us in XML format (e.g. http://www.matf.bg.ac.yu/~filip/ArgoLib/smt-lib-xml/Examples/FolEq1.xml). We have to implement an interface to query them, get data, update etc. You can parse the XML, extract the data, put it to an SQL DB and move the XML to /dev/null (delete it). If you do that, you don't need an XML DB. Is this possible? No. My professor is dead against that. Many people have suggested me doing that. Why? Are XML databases incorrectly implemented or are bad? We even can change schema in the form of attributes. . The data size would be around 100 MB each XML with around 100 different XMLs. What do you mean by "different XMLs"? Are you looking for a maschine that makes SQL Tables from XML? What is inside of the 100MB XML? Your example is a MathML Formula. By different XMLs I meants, different XML files. So we can have 40 XML files with around 50-100 MB each. Yes, they will have lot sof those MathML formulas. Its benchmarking data from some theoritical group that my professor works with. They have all their database in XML so relational database is not possible otherwise we will have to convert them between XML and relational all the time. The load would be max 5-10 users any given time, batch updates once a month and heavy load probably 2-3 times a month. Mission criticality is not important, we can get it down sometimes. Which db would you suggest? I did Google research and as of now - I like eXist, Sedna (they seem to have good PHP wrapper support) and Timber. Another thing would be good documentation and support. With an XML DB you can query data using XPATH. Is that the thing you want? Oracle supports that for example. Yeah but looking at http://www.oracle.com/technology/tech/xml/xmldb/index.html, I could not find whether its free. I might be wrong but the info is not easily found there. One the contrary IBMs offering at http://www-306.ibm.com/software/data/db2/express/download.html looks FREE. The problem is that both the above two database are beasts in themselves and I just require 10% of what they do :) We looked into Berkeley DB also but their support for PHP is not that great. We have compile the module by ourselves etc (this is not a problem though as we have the technical know how to do that) but lot of people have suggested that its not a very stable system. I have not done any benchmarking on it but I dont want to change my underlying DB couple of months down the line just because we found out its not stable. Apart from the above big three, the other free and reasonable good implementation seems to be eXist, Timber and Sedna. This I am just saying by reading their website. I have not used them. So my question is: out of the six systems listed above, which one you would suggest? Has anybody used any of the above system before? What are your experiences? Bernhard Ritesh -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] PHP with XML database
Hi Some questions > As part of my research under my professor I have to implement a web > interface to their benchmarking data. > > PHP is the chosen web language but we are little worried about the > database. The benchmark data comes to us in XML format (e.g. > http://www.matf.bg.ac.yu/~filip/ArgoLib/smt-lib-xml/Examples/FolEq1.xml). > We have to implement an interface to query them, get data, update etc. You can parse the XML, extract the data, put it to an SQL DB and move the XML to /dev/null (delete it). If you do that, you don't need an XML DB. Is this possible? > > We even can change schema in the form of attributes. . The data size > would be around 100 MB each XML with around 100 different XMLs. What do you mean by "different XMLs"? Are you looking for a maschine that makes SQL Tables from XML? What is inside of the 100MB XML? Your example is a MathML Formula. > > The load would be max 5-10 users any given time, batch updates once a > month and heavy load probably 2-3 times a month. Mission criticality is > not important, we can get it down sometimes. Which db would you suggest? > > I did Google research and as of now - I like eXist, Sedna (they seem to > have good PHP wrapper support) and Timber. Another thing would be good > documentation and support. With an XML DB you can query data using XPATH. Is that the thing you want? Oracle supports that for example. Bernhard -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] PHP with XML database
Hello all As part of my research under my professor I have to implement a web interface to their benchmarking data. PHP is the chosen web language but we are little worried about the database. The benchmark data comes to us in XML format (e.g. http://www.matf.bg.ac.yu/~filip/ArgoLib/smt-lib-xml/Examples/FolEq1.xml). We have to implement an interface to query them, get data, update etc. We even can change schema in the form of attributes. . The data size would be around 100 MB each XML with around 100 different XMLs. The load would be max 5-10 users any given time, batch updates once a month and heavy load probably 2-3 times a month. Mission criticality is not important, we can get it down sometimes. Which db would you suggest? I did Google research and as of now - I like eXist, Sedna (they seem to have good PHP wrapper support) and Timber. Another thing would be good documentation and support. Any suggestions? Ritesh -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] PHP with XML on Windows XP
I have recently upgraded a server which I use for development: Windows XP Home Apache 1.3.26 MySQL 3.23 PHP 4.3.2 with Pear Everything seemed to go well, except that now I James Clarks expat does not work. Very confused on this one I have uninstalled expat and re-installed Trying different versions including the latest release all to no avail. PHPInfo lists the extension as being installed although any script using the extension never manages to load. The expat extension works out of the box with php I would prefer to not have to reinstall php since I have configured xslt which was not a lot of fun. SS aka Fru2ty --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.502 / Virus Database: 300 - Release Date: 18/07/2003 -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] PHP with XML
On Tuesday 23 October 2001 21:17, Vinicius Tavares wrote: > What I have to do to make the PHP4 run the DOM XML??? Download the libxml library (the development packages too, if you download the packaged distrib). And compile php with it (--with-dom switch for configure). http://www.xmlsoft.org Arpi -- PHP General Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]
Re: [PHP] PHP with XML
On Tue, 2001-10-23 at 15:17, Vinicius Tavares wrote: > > What I have to do to make the PHP4 run the DOM XML??? http://www.php.net/manual/en/ref.domxml.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]
[PHP] PHP with XML
What I have to do to make the PHP4 run the DOM XML??? thanks Vinicius -- PHP General Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]