Do you have direct access to SciDB?


#1

Hello. :slight_smile:
scidb-py accesses SciDB based on shim.
When scidb-py used scan to read data, it seemed to save the data to a file and then read it.
Do you have direct access to SciDB?


#2

Hi @derbar,
Right now the “direct” API is written in C++ (using libscidbclient.so). The two main users of that API are shim and iquery. You can use those as examples to write your own client.

We currently have a project underway to change the Client API and simplify it. A lot of work that we did in aio_save - Arrow support and so on - will be rolled into the engine and become part of the API. After that we plan to retire shim and make Python and R go through this pathway.


#3

Let me know also if you’re coming from the perspective of a specific problem - are you trying to make something go faster or is there a file system issue?


#4

Thanks @apoliakov to reply.
Then do you have libscidbclient.so manual?

I want to manage multiple image data in a array and visualize the data as images (make it GeoTiFF).

<val:uint64> [idx=0:*; y=3872000:4255999; x=9600000:10079999:]

x and y are the coordinates of the image.
Each image is separated by idx.
val is pixel value (r,g,b,a).


#5

Hi @derbar,

Unfortunately there is no libscidbclient.so manual and - keep in mind - we are actively changing that API. If you like, you can read iquery.cpp - all it does, essentially, is run the query, get the result and output it as text.

Most of our real deployments use shim right now, while the API is being reworked. So that’s what I would recommend. I think I understand your use case but I’m not sure why shim won’t work for you? Are you concerned about performance or something specific having to do with the file system?