Въведение
Имам blob колона в семейство колони Cassandra 1.2, таблицата е дефинирана, както следва:
CREATE TABLE objects (
id text,
obj blob,
PRIMARY KEY (id)
);
Проблемът:
Проблемът е, че когато трябва да вмъкна/актуализирам blob колоната от Python с помощта на cql библиотеката, трябва да кодирам съдържанието на колоната по база 16 по следния начин:
import cPickle
import cql
...
def save_object(connection, obj):
object['id'] = obj['id']
object['obj'] = cPickle.dumps(obj).encode("hex")
cql_statement = "INSERT INTO objects (id, obj) values (:id, :obj)"
cursor = connection.cursor()
cursor.execute(cql_statement, object)
Въпросът:
Има ли начин за изпълнение на тази заявка, без да се използва базовото 16 кодиране (низ) на обекта? Причината за това е да се намалят режийните разходи за изпращане на низ, кодиран с база 16, по кабела вместо обикновени байтове.
Благодаря предварително!