So if I get you right, 7.9 is processing your code faster than more recent versions?
Yes, by an order of magnitude or more. I have designed a system which uses BaseX to control it. This system processes ELR (Electronic Laboratory Results) by taking messages in various formats (XML, HL7, CSV, etc. etc.) and converting them to a common XML schema. This schema is passed to logic which validates it for structure and content, and other business rules, and finally converts it to a format which the surveillance systems can import. All of the business rules use XML to drive them, and therefore an engine with XML querying capabilities was paramount. I chose BaseX after hearing very good results from a colleague.
Have you found out which part of your query is potentially causing delays? Is it the HTTP request part, database access or XQuery >magic?
I am using a client/server architecture which is comprised of a 11 BaseX databases which meet the many needs of this system. These databases are queried from multi-threaded platform architected using a product named Pilotfish. Pilotfish is a universal translator of data. You can take something in one format and convert it to another (i.e. HL7 -> XML -> SQL). You don't need to understand the nature of these formats, only that they are from different worlds (Hospital -> Platform-> Data Tier). When I get some time I will instrument this platform to determine where the performance issues lie.
Are you using RESTXQ?
No. This is a system that runs asynchronously, converting data, logging status, etc. etc. It does not have a traditional web implementation. I have created a Telerik .Net based application to monitor the platform via the many events which are logged.
Carl R Bondeson IT Analyst 3 Department of Public Health Operation & Support Services Information Technology Phone: 860-509-7434 Carl.Bondeson@ct.gov
-----Original Message----- From: Christian Grün [mailto:christian.gruen@gmail.com] Sent: Monday, February 11, 2019 8:25 AM To: Bondeson, Carl Carl.Bondeson@ct.gov Cc: basex-talk@mailman.uni-konstanz.de Subject: Re: [basex-talk] Version
The performance between 7.9 and 9.1 is still too great in a multi-threaded environment.
So if I get you right, 7.9 is processing your code faster than more recent versions?
I realize that most people are using this in web sites where 2 msec. or 20 msec. doesn't matter.
True; it always depends. I just worked on a use case in which all requests needed to be processed in less than 7-8 milliseconds.
Have you found out which part of your query is potentially causing delays? Is it the HTTP request part, database access or XQuery magic? Are you using RESTXQ?
The platform I have created makes millions of calls per minute. I returned to 7.9 and the version is still 0.0.2. Interesting.
The version code does indeed look up an implementation version, which might differ from the statically embedded version string in the code [1]. Once we get a chance to play around with JBoss, we may look deeper into this.
[1] https://github.com/BaseXdb/basex/blob/master/basex-core/src/main/java/org/ba...
Thanks for your support. 7.9 is a great product.
Carl R Bondeson IT Analyst 3 Department of Public Health Operation & Support Services Information Technology Phone: 860-509-7434 Carl.Bondeson@ct.gov
-----Original Message----- From: BaseX-Talk [mailto:basex-talk-bounces@mailman.uni-konstanz.de] On Behalf Of Bondeson, Carl Sent: Thursday, February 07, 2019 12:25 PM To: Christian Grün christian.gruen@gmail.com Cc: basex-talk@mailman.uni-konstanz.de Subject: Re: [basex-talk] Version
Intellij: [DEBUG] 2019-02-07 12:13:56.270 [main] - BaseXInit: loadBus begin BaseX Version: <system>
<generalinformation> <version>9.1</version> <usedmemory>138 MB</usedmemory> </generalinformation> <globaloptions> <authmethod>Basic</authmethod> <cachetimeout>3600</cachetimeout> <dbpath>C:\Users\bondesonc\basex\data</dbpath> <debug>false</debug> <fairlock>false</fairlock> <host>localhost</host> <httplocal>false</httplocal> <ignorecert>false</ignorecert> <ignorehostname>false</ignorehostname> <keepalive>600</keepalive> <lang>English</lang> <langkeys>false</langkeys> <log>false</log> <logmsgmaxlen>1000</logmsgmaxlen> <logpath>.logs</logpath> <nonproxyhosts/> <parallel>8</parallel> <parserestxq>3</parserestxq> <password/> <port>1984</port> <proxyhost/> <proxyport>0</proxyport> <repopath>C:\Users\bondesonc\basex\repo</repopath> <restpath/> <restxqpath/> <serverhost/> <serverport>1986</serverport> <stopport>8985</stopport> <timeout>30</timeout> <user/> <webpath>C:\Users\bondesonc\basex\webapp</webpath> </globaloptions> <localoptions> <addarchives>true</addarchives> <addcache>false</addcache> <addraw>false</addraw> <archivename>false</archivename> <attrinclude/> <attrindex>true</attrindex> <autoflush>true</autoflush> <autooptimize>false</autooptimize> <bindings/> <casesens>false</casesens> <catfile/> <checkstrings>true</checkstrings> <chop>true</chop> <compplan>true</compplan> <copynode>true</copynode> <createfilter>*.xml</createfilter> <createonly>false</createonly> <csvparser/> <defaultdb>false</defaultdb> <diacritics>false</diacritics> <dotcompact>false</dotcompact> <dotplan>false</dotplan> <dtd>false</dtd> <enforceindex>false</enforceindex> <exporter/> <forcecreate>false</forcecreate> <ftinclude/> <ftindex>false</ftindex> <htmlparser/> <inlinelimit>100</inlinelimit> <intparse>false</intparse> <jsonparser/> <language>en</language> <lserror>0</lserror> <mainmem>false</mainmem> <maxcats>100</maxcats> <maxlen>96</maxlen> <maxstat>30</maxstat> <mixupdates>false</mixupdates> <parser>xml</parser> <queryinfo>false</queryinfo> <runquery>true</runquery> <runs>1</runs> <serialize>true</serialize> <serializer/> <skipcorrupt>false</skipcorrupt> <splitsize>0</splitsize> <stemming>false</stemming> <stopwords/> <stripns>false</stripns> <tailcalls>256</tailcalls> <textinclude/> <textindex>true</textindex> <textparser/> <tokeninclude/> <tokenindex>false</tokenindex> <updindex>false</updindex> <writeback>false</writeback> <xinclude>true</xinclude> <xmlplan>false</xmlplan> </localoptions> </system>
JBoss
<system> <generalinformation> <version>0.0.2</version> <usedmemory>865 MB</usedmemory> </generalinformation> <globaloptions> <authmethod>Basic</authmethod> <cachetimeout>3600</cachetimeout> <dbpath>C:\Users\DPHPilotfish\basex\data</dbpath> <debug>false</debug> <fairlock>false</fairlock> <host>localhost</host> <httplocal>false</httplocal> <ignorecert>false</ignorecert> <ignorehostname>false</ignorehostname> <keepalive>600</keepalive> <lang>English</lang> <langkeys>false</langkeys> <log>false</log> <logmsgmaxlen>1000</logmsgmaxlen> <logpath>.logs</logpath> <nonproxyhosts/> <parallel>8</parallel> <parserestxq>3</parserestxq> <password/> <port>1984</port> <proxyhost/> <proxyport>0</proxyport> <repopath>C:\Users\DPHPilotfish\basex\repo</repopath> <restpath/> <restxqpath/> <serverhost/> <serverport>1986</serverport> <stopport>8985</stopport> <timeout>30</timeout> <user/> <webpath>C:\Users\DPHPilotfish\basex\webapp</webpath> </globaloptions> <localoptions> <addarchives>true</addarchives> <addcache>false</addcache> <addraw>false</addraw> <archivename>false</archivename> <attrinclude/> <attrindex>true</attrindex> <autoflush>true</autoflush> <autooptimize>false</autooptimize> <bindings/> <casesens>false</casesens> <catfile/> <checkstrings>true</checkstrings> <chop>true</chop> <compplan>true</compplan> <copynode>true</copynode> <createfilter>*.xml</createfilter> <createonly>false</createonly> <csvparser/> <defaultdb>false</defaultdb> <diacritics>false</diacritics> <dotcompact>false</dotcompact> <dotplan>false</dotplan> <dtd>false</dtd> <enforceindex>false</enforceindex> <exporter/> <forcecreate>false</forcecreate> <ftinclude/> <ftindex>false</ftindex> <htmlparser/> <inlinelimit>100</inlinelimit> <intparse>false</intparse> <jsonparser/> <language>en</language> <lserror>0</lserror> <mainmem>false</mainmem> <maxcats>100</maxcats> <maxlen>96</maxlen> <maxstat>30</maxstat> <mixupdates>false</mixupdates> <parser>xml</parser> <queryinfo>false</queryinfo> <runquery>true</runquery> <runs>1</runs> <serialize>true</serialize> <serializer/> <skipcorrupt>false</skipcorrupt> <splitsize>0</splitsize> <stemming>false</stemming> <stopwords/> <stripns>false</stripns> <tailcalls>256</tailcalls> <textinclude/> <textindex>true</textindex> <textparser/> <tokeninclude/> <tokenindex>false</tokenindex> <updindex>false</updindex> <writeback>false</writeback> <xinclude>true</xinclude> <xmlplan>false</xmlplan> </localoptions> </system>
Carl R Bondeson IT Analyst 3 Department of Public Health Operation & Support Services Information Technology Phone: 860-509-7434 Carl.Bondeson@ct.gov
-----Original Message----- From: Christian Grün [mailto:christian.gruen@gmail.com] Sent: Thursday, February 07, 2019 12:11 PM To: Bondeson, Carl Carl.Bondeson@ct.gov Cc: basex-talk@mailman.uni-konstanz.de Subject: Re: [basex-talk] Version
Any ideas?
Hm, not really. Could you forward us what db:system() returns under JBoss?
On Thu, Feb 7, 2019 at 6:08 PM Bondeson, Carl Carl.Bondeson@ct.gov wrote:
I run this in query in the development environment (IntelliJ) and get
[DEBUG] 2019-02-07 11:15:52.455 [main] - BaseXInit: loadBus begin BaseX Version: 9.1
I deploy under JBoss as a war file and get
[DEBUG] 2019-02-07 11:55:02.775 [ServerService Thread Pool -- 65] - BaseXInit: loadBus begin BaseX Version: 0.0.2
Any ideas?
Carl R Bondeson
IT Analyst 3
Department of Public Health
Operation & Support Services
Information Technology
Phone: 860-509-7434
Carl.Bondeson@ct.gov
From: Christian Grün [mailto:christian.gruen@gmail.com] Sent: Thursday, February 07, 2019 10:44 AM To: Bondeson, Carl Carl.Bondeson@ct.gov Cc: basex-talk@mailman.uni-konstanz.de Subject: Re: [basex-talk] Version
Hi Carl,
The following query returns a string with the current version:
data(db:system()//version)
Best,
Christian
On Thu, Feb 7, 2019 at 4:26 PM Bondeson, Carl Carl.Bondeson@ct.gov wrote:
Is there a method in a Java client/server architecture to get the current version of BaseX (i.e. 9.1.2)? I could not find it anywhere. ClientSession.info is always blank.
Thanks
Carl R Bondeson
IT Analyst 3
Department of Public Health
Operation & Support Services
Information Technology
Phone: 860-509-7434
Carl.Bondeson@ct.gov