CQL Engine: Python 数据库对象映射器指南

鼠扑  论坛元老 | 2024-9-30 16:18:32 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 1052|帖子 1052|积分 3156

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功能:
  1. pip install cassandra-driver
复制代码
配置与建模

接下来,定义您的数据模型。以下示例展示了怎样创建一个简朴的模型:
  1. from cassandra.cqlengine.models import Model
  2. from cassandra.cqlengine import columns
  3. import uuid
  4. class ExampleModel(Model):
  5.     read_repair_chance = columns.Float(default=0.05)
  6.     example_id = columns.UUID(primary_key=True, default=uuid.uuid4)
  7.     example_type = columns.Integer(index=True)
  8.     created_at = columns.DateTime()
  9.     description = columns.Text(required=False)
复制代码
配置连接到你的Cassandra服务器和默认键空间:
  1. from cassandra.cluster import Cluster
  2. from cassandra.auth import PlainTextAuthProvider
  3. auth_provider = PlainTextAuthProvider(username='your_username', password='your_password')
  4. cluster = Cluster(['127.0.0.1'], auth_provider=auth_provider)
  5. session = cluster.connect()
  6. # 创建键空间(非生产环境推荐)
  7. from cassandra.cqlengine.management import create_keyspace_simple
  8. create_keyspace_simple('cqlengine', 1)
  9. # 同步模型到Cassandra
  10. session.set_keyspace('cqlengine')
  11. ExampleModel.create_table()
复制代码
插入与查询

  1. # 插入数据
  2. for _ in range(8):
  3.     ExampleModel.create(example_type=0 if _ < 4 else 1)
  4. # 查询数据
  5. query_results = ExampleModel.objects.filter(example_type=1)
  6. print(f"Found {query_results.count()} records.")
  7. for result in query_results:
  8.     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企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

鼠扑

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表