I am currently in the process of evaluating Palo for a personal project. The Palo server is an opensource (GPL) in-memory multidimensional database management system, well suited for OLAP. Jedox, the German makers of Palo, market it as a data store for Excel, but it should work well outside this specific usage scenario. They offer pre-compiled binaries for Windows and Linux but not for Mac OS X, so I set out to make one, which was not very hard. I outline the steps here. A downloadable package for Leopard is at the end of the post.
The first thing is to get the source code, stored in a SVN repository on Sourceforge. The code there is not live, that is, it corresponds to the 2.0 release of the product, from 6 months ago. I could not find the source for the 2.5 version currently in beta, so the development process does not seem as open as one could hope. The compilation itself is pretty straightforward (as long as the Mac OS X development tools are installed). Open a terminal, make sure there is no space character in the current path and type:
svn co https://palo.svn.sourceforge.net/svnroot/palo/server/Source/ server cd server chmod -R 750 * ./configure && make
If all went well, the compiled “palo” binary should be in the “Programs” folder. To make a complete package I then downloaded and untarred the pre-compiled server package for Linux, deleted the “32bit” and “64bit” directories and added in their places the “palo” binary I just obtained. Additionally, since the syntax for killall is different between *BSD (like Mac OS X) and Linux, I also changed the stoppalo2.sh script to the following :
#!/bin/bash killall -SIGINT palo
And that should be it! The complete package can be obtained here.
For quick testing, I lauched the server with “./startpalo2.sh”. By default the API documentation and HTTP interface run on port 7777 (this can be changed inside the “Data/palo.ini” file), so this can be used for testing that all is ok. Here is what should be displayed:
I will try to later write an account of my progress with Palo.