Search code examples
mongodbintersystems-cachedatabase

Intersystem Cache and MongoDB comparision


wanted to understand how, the intersystems Cache and Mongo Databases are different from each other.

In couple of threads in the stackoverflow itself it has been mentioned that there are no differences as such between Object database and NoSQL databases.

In MongoDB the data is document based, accessed and queried through JSON like formats. Is it the same case in Cache DB as well?

Any pointers will be helpful.


Solution

  • Everything GlobalsDB can do, Cache can do as well (GlobalsDB is just a subset of Cache functionality) I haven't work with MongoDB so far, but to address what you say:

    In couple of threads in the stackoverflow itself it has been mentioned that there are no >differences as such between Object database and NoSQL databases.

    That's not a very precise statement and IMHO you can't hold that up to scrutiny. For starters, NoSQL is not defined very well, what is NoSQL for you? Just a database that can't work with SQL? A nonrelational DB? What's an object database for you? Do you want to have object representations in the database? This can be realized with both classical relational as well as 'modern' NoSQL. (NoSQL is absolutely nothing modern, it has been around quite a while back. e.g. Cache (coming from MUMPS) started out as NoSQL back in the 70ties

    In MongoDB the data is document based, accessed and queried through JSON like formats. Is it the same case in Cache DB as well?

    You can access data in Cache in multiple ways. GlobalsDB is providing an interface to the global structure (think of it as a key-value store that's a bit more flexible) Additionally you can access your data relational and as objects. Of course there are certain format restrictions to be met when you want to go from key-values to a relational access, but the bottom line is, you can access your data how you want/need it. This includes JSON, native in the newer versions.