Does esProc Use Any Open-Source Technology?

Many users could wonder about the technology esProc uses. They might think that it is the open-source technology, like some Hadoop computing solution.

The truth is we develop esProc’s core computing engine independently, without adopting any open-source technology. esProc isn’t a Hadoop computing module. We don’t take anything from the Hadoop system when designing esProc’s clustering strategy (though we know how Hadoop works). The esProc technology is totally different from the Hadoop technology. esProc supports using Hadoop as a data source, but an esProc cluster runs without a Hadoop environment.

We don’t use open-source technologies because we don’t think they are helpful.

esProc is based on a brand-new theory. No product in the market is using the same theoretic model. We are completely on our own. Some low-level basic computations (such as expression evaluation, grouping and filtering) are universal, but we need to implement them in our own language to take full control of the whole system and make sure the performance is what we want. Besides, we have immersed ourselves for over ten years in developing reporting tools and thus have rich experiences in implementing low-level operations. There’s no need for us to adopt any of the open-source technologies.

We don’t learn from Hadoop for the clustering strategy that doesn’t use any algorithmic theory, either. The reason is Hadoop clusters target very differently from esProc and they have a very complicated computing frame. As a light-weight system designed for small- and medium-scale clusters, it isn’t appropriate and necessary for esProc to use the Hadoop strategy.

Yet esProc do use a few open-source technologies for peripheral and marginal functionality, such as the poi package (which is wonderful) used for reading and writing Excel files, ordering languages for software internationalization and log output, as well as the design of IDE and expression editing.