· Sep 8, 2016

Cache for Raspberry Pi?

Some may think it's a strange / daft idea, but just today the Raspberry Pi folks have announced that they've now sold more than 10 million of them..and counting.  That's a huge potential marketplace, and a great platform for getting people to hear about Cache and try it out.  Given its focus on the education sector, another great way of getting heard about.

Discussion (18)4
Log in or sign up to continue

This is not a strange idea at all, a "Caché Globals Edition" would be a perfect fit for the Raspberry Pi (it just needs an ARM build with a Node.js interface as full Caché - similar to GlobalsDB in the past).

This would create a huge potential on the IoT market as it typically needs fast and big data storage. This can be done easily with such an edition running on a Pi for raw data storage. And IoT developers would have the possibility to keep using the same database (a full Caché) on their IoT server platforms for data processing and analysis (DeepSee?).

To support Raspberry Pi, IntersSystems should support ARM, but not sure that so easy, and could be valuable for them, even if remember how quickly  they ended GlobalsDB. But GlobalsDB was a quite good product, and was used in some projects, and even still used. If somebody needs to use micro-pc they can use some alternatives on Intel's process such as Intel Galileo

For this particular usage scenario, running x86 code thru binary translator would be not a very good idea. Raspberry Pi itself, is not very fastest ARM processor, and adding JIT oberhead would make emulation layer work extremelly slow.

OTOH, initial porting to any new hardware platform, especially for the OS which is already supported (Debian) might be quite easy (especially if you disable for a moment assembler optimizations, and compile full C kernel). [Jose might correct me here, but at least that was my impression from InterSystems times]

The problem though - whether it worth all the pain. What is the reasonable outcome any vendor could get from such habby device owner? 50¢? 5$? Ok, we are talking about educational market, thus assuming there won't be any money stream, but rather enabling ecosystem. Why we think that RaspburryPI build would not repeat GlobalDB failed experiment? Why it would be different this time (on smaller hardware market, and with less powerful hardware)

IMO that's a depressingly risk-averse approach.  The whole point of the IoT area and the Raspberry Pi is that it's still largely unexplored "solution looking for a problem" territory, where people try novel ideas out because they can and because it's cheap and easy to do so.  Sure, you can wait until the market-place is clearly defined and then provide your own "we can do that too" option (and effectively miss the boat as a result), or you can be truly innovative and put it out there and see what happens, potentially catalysing ideas as a result of it being there.  

That's been my philosophy for the last 20 years - if I'd been waiting for people to give me use cases, I'd not have developed a thing in all that time.

I assume that as part of the initiative to enter the IoT marketplace, an ARM port of Cache is on the cards anyway?

if so, it might as well also run on the Raspberry Pi!

Needless to say, people are wanting to use databases, for all sorts of reasons, on the RPi - eg

and of course, they're ending up using the other usual databases that have made the investment to port to it.  So the RPi community remains unaware of what Cache could potentially do for them instead.

Seems like a missed opportunity to me, but there you go.

The full Caché is probably too heavy, but a "lite" version as GlobalsDB would be a perfect fit for such a device. In IoT, data coming in from sensors (at a remote location  e.g.) typically needs a lot of storage and filtering out before it's sent to a server (located elsewhere). Network bandwidths and in-memory storage are not sufficient to hold and send all data in real-time.

I saw these problems already many years ago in several industrial automation projects (even before IoT existed). In IoT applications these days, the incoming data stream for an RPi collecting data remotely is much heavier now - real (lightweight) database storage would be a blessing and can be an excellent stepping stone to full Caché on the server for decision makers and developers. I'm very confident that IoT developers would welcome this because the current offering on the market is sparse.

An Arm chip on a SoC board running Linux is now the definition of low-medium end computing, whether we like it or not. More powerful variants will eat their way up market (see the iPhone 7).

Any young software engineer is learning computing on an ARM device or using OS X, some Linux/UNIX variety.

If a stripped down version of Cache DB (like GlobalsDB) can be produced/maintained by InterSystems, it would go a long way to feed future Cache/InterSystems growth, which is what anyone reading this opinion needs.

Tom Fitzgibbon | 347-464-8531

Hi Rob,

It would be great to have one complete solution using cache, but it is not possible at the moment.

However, most IoT solutions are constantly connected to internet, Raspberry Pi 3 has built in Wifi. So at the moment it is very easy to integrate IoT client with cache server using standard communication protocols. Cache supports REST and SOAP and you can send and process data using JSON and XML. 

Possibly thats a good way to start?