Search code examples
javapythondatabasedistributed-computingin-memory-database

data bridge between Java and Python daemons


I have two background processes running on linux machine. One is Java and second one is in Python. What would be most efficient way to exchange data between these two apps ? I am talking about text / images data below < 10Mb approx each 5 minutes (not streamed). Due high cost of refactoring we cannot migrate fully to Python (or Java).

Natural choice is filesystem or local networking but what about in memory database (sqllite/redis/...) ? Filesystem handling or network handling is sometimes painfull i guess.

Do you think that in-memory-DB would be good option for such task ? Jython is not option there as not all Python libraries are compatible...

Environment : ubuntu server 12.04 64bit, Python 2.7, Java 7


Solution

  • An efficient way to transfer the data would be a local TCP connection and stream the data with a common protocol. Protocol buffers is one way to define your protocol across language platforms. An in memory database would add a whole new component and unnecessary complexity to your system.