Hi Ben,

> First, are there any support plans for scaling outwards? I know MarkLogic has 
> splits clusters into multiple enodes and dnodes. But the idea is that there 
> isn't one central bottleneck for requests.

BaseX as open source project provides no built-in features for
horizontal scaling. We have built individual solutions for our
commercial customers; feel free to write to i...@basexgmbh.de if you
are interested.

> Second, I read about Jsoniq and was intrigued by it. It seemed like it 
> supported JSON without requiring an XML intermediary. Having good JSON 
> support would really help with frameworks like Angular or React.

Yes, Jsoniq is cool. We had some thoughts on implementing some years
ago. In the end, we decided not to, because it would have introduced
incompatibilities with features of the official XQuery 3.1
recommendation.

Nowadays, you have two choices in BaseX:

• If you are processing JSON documents in main-memory, you can use the
standard XQuery functions to convert JSON strings to XQuery data
structures [1]. Maps and arrays in XQuery are very efficient, and
often a better choice than XML if you have to repeatedly process the
same data.
• If you want to store your data in a database, and benefit from
indexing, updates, etc., you can convert JSON to an XML structure that
suits you best [2]. You will notice that the time required for
converting JSON to XML and backwards is hardly noticeable. In
practice, it is frequently used to store and query millions of JSON
documents in a database.

Hope this helps,
Christian

[1] http://docs.basex.org/wiki/XQuery_3.1#JSON_Functions
[2] http://docs.basex.org/wiki/Json_Module

Reply via email to