我有 Cassandra 模型
import uuid
from cassandra.cqlengine import columns
from cassandra.cqlengine.models import Model
class MyModel(Model):
...
...
created_at = columns.TimeUUID(primary_key=True,
clustering_order='DESC',
default=uuid.uuid1)
...
...
最近应用程序命中uuid1 创建不关闭文件 - 命中文件描述符限制。我试图找到解决方案,但似乎我认为哪些选项可能行不通
uuid1默认替换为uuid4,但TimeUUID需要时间部分,并且只uuid1提供。- 替换
uuid1为cassandra.util.uuid_from_time(time.time()), 当检查 和 的代码时uuid1,uuid_from_time两者看起来相同,所以也不能解决问题。
最后一个选项是替换TimeUUID为Timestamp类型,但此created_at列是primary_keyand clustering_order,所以不知道我能不能这样做。
我的列族已经有 1,000,000 多个数据,所以我不能直接删除它们。
我也想知道,使用TimeUUID代替的好处是timestamp什么?