The Python library only supports synchronous stored procedure calls now. Since Python has a global interpreter lock, multi-threading in the Python client library may not make it a ton faster. A single Python program can only take up one CPU core, no matter how many threads you have. However, you can try to spawn multiple Python processes to utilize the number of cores you have in CPU.
We are currently having some prototype that need very dynamic development so we are using python 2.7
1) Found voltdbclient.py:603 , I think and change the following
def writeDate(self, value):
if value is None:
val = self.__class__.NULL_BIGINT_INDICATOR
#### seconds = int(value.strftime("%s"))
seconds = long(time.mktime(value.timetuple()))
val = seconds * 1000000 + value.microsecond
However, I still found when the value pass to VoltDB procedure with "org.voltdb.types.TimestampType" and being inserted, the local time pass from python will store in DB as gmttime?
2) We can achieve ~3.8 tps using single python process with 8 threads
Can we scale out by using multiple python processes , can we except linear scale out.
3) Python library seems only support single connection to Voltdb instead of multiple connections to multiple Voltdb in Java, C++, C#, isn't it?