IT评测·应用市场-qidao123.com
标题:
CQL Engine: Python 数据库对象映射器指南
[打印本页]
作者:
鼠扑
时间:
2024-9-30 16:18
标题:
CQL Engine: Python 数据库对象映射器指南
CQL Engine: Python 数据库对象映射器指南
cqlengine THIS PROJECT HAS BEEN MERGED INTO THE CQL DRIVER
项目地点: https://gitcode.com/gh_mirrors/cq/cqlengine
项目先容
CQL Engine(已合并入CQL驱动)曾是一款专为Python设计的Cassandra数据库CQL 3版本的对象关系映射(ORM)工具。它简化了在Python应用中操纵Cassandra数据模型的过程。请注意,此项目现已并入DataStax原生驱动,并作为其中的cassandra.cqlengine模块存在。对于旧版本(<0.16)用户,告急的是要了解默认键空间cqlengine已被移除,在升级前务必参考Breaking Changes。
项目快速启动
安装CQL Engine
首先,确保安装最新版本的DataStax驱动,以包罗CQL Engine功能:
pip install cassandra-driver
复制代码
配置与建模
接下来,定义您的数据模型。以下示例展示了怎样创建一个简朴的模型:
from cassandra.cqlengine.models import Model
from cassandra.cqlengine import columns
import uuid
class ExampleModel(Model):
read_repair_chance = columns.Float(default=0.05)
example_id = columns.UUID(primary_key=True, default=uuid.uuid4)
example_type = columns.Integer(index=True)
created_at = columns.DateTime()
description = columns.Text(required=False)
复制代码
配置连接到你的Cassandra服务器和默认键空间:
from cassandra.cluster import Cluster
from cassandra.auth import PlainTextAuthProvider
auth_provider = PlainTextAuthProvider(username='your_username', password='your_password')
cluster = Cluster(['127.0.0.1'], auth_provider=auth_provider)
session = cluster.connect()
# 创建键空间(非生产环境推荐)
from cassandra.cqlengine.management import create_keyspace_simple
create_keyspace_simple('cqlengine', 1)
# 同步模型到Cassandra
session.set_keyspace('cqlengine')
ExampleModel.create_table()
复制代码
插入与查询
# 插入数据
for _ in range(8):
ExampleModel.create(example_type=0 if _ < 4 else 1)
# 查询数据
query_results = ExampleModel.objects.filter(example_type=1)
print(f"Found {query_results.count()} records.")
for result in query_results:
print(result.description)
复制代码
应用案例和最佳实践
在实际应用中,CQL Engine答应开发者以面向对象的方式处置处罚数据,减少手动编写CQL语句的需求。最佳实践包括:
利用模型的属性来定义表布局,保持数据模型和业务逻辑的划一性。
在生产情况中,仔细规划键空间和表的布局,以及数据模型的分片策略。
利用索引来优化读取性能,但需权衡写入本钱。
对于频繁变更的数据模型,更新时注意避免大规模的数据迁移。
典范生态项目
固然CQL Engine本身是DataStax驱动的一部门,但是围绕Cassandra的生态体系提供了多种集成方案和工具,例如:
DataStax Astra DB
: 提供云原生的Cassandra服务,可以无缝集成利用CQL Engine的应用。
Kafka Connect Cassandra Sink/Source
: 答应将数据流从Kafka传输到Cassandra或反之亦然,结合CQL Engine处置处罚复杂的转换。
Prometheus Cassanda Exporter
: 用于监控Cassandra实例的工具,虽不直接涉及CQL Engine,但在构建结实体系时不可或缺。
请注意,随着CQL Engine成为DataStax驱动的一部门,关注官方Driver文档和社区资源以获取最新的实践和生态信息至关告急。
cqlengine THIS PROJECT HAS BEEN MERGED INTO THE CQL DRIVER
项目地点: https://gitcode.com/gh_mirrors/cq/cqlengine
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/)
Powered by Discuz! X3.4