我有 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_key
and clustering_order
,所以不知道我能不能这样做。
我的列族已经有 1,000,000 多个数据,所以我不能直接删除它们。
我也想知道,使用TimeUUID
代替的好处是timestamp
什么?