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企服之家,中国第一个企服评测及商务社交产业平台。 |