I think the main point here is that it's a multi namespace query.
Check out Ensemble multi namespace Event Viewer if you're interested in that kind of functionality.
- Log in to post comments
I think the main point here is that it's a multi namespace query.
Check out Ensemble multi namespace Event Viewer if you're interested in that kind of functionality.
It only matters that the async node is caught up.
Also you need to use SSL.
It all depends on connectivity (bandwidth and lag).
ZSTART and ZSTOP are kind of vague, how does that fit into ccontrol start and ccontrol stop. Is there any setting where this can be set to automatic?
ZSTART and ZSTOP are executed on startup/shut down automatically.
For a case with one index there are only two variables:
Or is there anything else?
And on a Z axis the timing.
Sure in a real environment we see interference of a several indices, but here we're talking about one index and how it affects query timings.
Didn't knew you could do that with id.
It would create a new object.
I want to update already existing object.
Ok, then, why it is so important, why I it is not recommend to use bitmap in case of so many unique values?
Bitmap indices lose efficiency with a big number of distinct values.
And what should be used instead?
Normal indices.
Actually the question gathered a fair amount of interest. I think I would run tests and publish the results.
My plan is:
1. Create a class with two properties:
Property Number As %Integer(MINVAL=1, MAXVAL=<DISTINCT VALUES COUNT>);
Property Data As %String;
2. Increase MAXVAL up by one from 2 to 20000;
3. Repopulate the class with 10 000 000 values.
4. Switch between Normal and Bitmap indices
5. Rebuild indices.
6. Purge queries.
7. Tune table.
8. Remount the database to purge cache.
9. Run two queries 10 times:
10. Write results into new table { distinct values, index type, cold run, avg run, max run}
11. Go to 2.
Does that pest plan makes sense? Any ideas? Should probably test on cases where index fits into globuf and where it does not.
2% or more means less than distinct 50 values.
Thank you, Robert! New value for my list. I think I got 64 once but that's a new one.
UPD: Nevermind this comment.
That's the number I hear most often (5-10k rang) when I ask about maximum number of unique values for bitmap indices.
I heard from a few hundred to 20k as a max value.
Check Fileserver project for ideas.
Thanks!
I see it still uses $zf(-1) in latest instead of $zf(-100). I thought $zf(-1) is unavailable now.
You need so specify your base URL as URL property and pass the parameters in a method:
set sc = ..Adapter.Get(.httpResponse, "key,key2", "value", "value2")
It would send the following request:
GET /baseURL?key=value&key2=value2 HTTP/1.1
Is there an easier way to get value from OS call then Input redirection?
Windows also has Ver command:
USER>$Ver Microsoft Windows [Version 10.0.17134.345]
If it's a REST/CSP so you can just write the response to the current device add at the beginning of your method:
set %response.ContentType = "html"
do ##class(%CSP.Utils).DisplayAllObjects()
return $$$OKIt would output all headers as Cache sees them.
Have you tried:
write %request.GetCgiEnv($zcvt("HTTP_MyCustomHeader", "U"))Note that you should build bitmap indices only for properties that have less than ~6400 distinct values.
Also building indices may take time.
Don't forget to recompile embedded SQL and purge dynamic SQL queries.
Use ValidateStream method of Ens.Util.XML.Validator class. It does exactly what you need.
As I'm the author of RESTForms, I'd recommend that. The advantage is that it offers not only JSON<->object transformation, but a complete CRUD REST API for your data.
Calling @Stefan Cronje
All approaches you are considering can work. if you're storing everything in one database, I'd recommend RLS.
Much more important question is do you need storing everything separately or in the same place.
Advantages of separated databases/servers:
Advantages of unified database/server:
Check RESTForms project - it aims to do exactly that.
You can just pass the stream directly, no need to read from it:
set parObj = {}.%FromJSON(%request.Content)Some XSLT engines can process arbitrary javascript as code.
Achieving FIFO with Ensemble is an interesting task.
Do you control queue population?
If so you can send the message only if the queue is empty and process is idle.
For example create a proxy process that sends only one message at a time.
There are far more efficient ways to do that.
Docs.
Set when? Set how often?
Check your BO message map. There's no entry for Test.SubscriberX class there.
Why is it going to intersystems-community on F5?
To check for updates.
What browser is that?
Try Google Chrome.