跳转到主要内容

YugabyteDB的后端Django

项目描述

先决条件

  • GCC

  • Python 3.8及以上

  • Psycopg2-yugabytedb (推荐)

  • Django 3.2及以上

需要Django后端YugabyteDB

YugabyteDB需要为Django单独的后端。这主要是由于以下3个原因。

  • Django试图在Django测试套件中将Inet数据类型作为主键。由于这不受支持,我们在YB后端中将Inet类型映射为varchar(15)和varchar(39)。

  • 我们还需要支持从int到BigInt以及numeric(m,n)到double precision的类型更改。这是Django数据库迁移所需的。目前,YB后端忽略了这些类型更改。

  • Django PostgreSQL后端不支持负载均衡,即使与YugabyteDB智能驱动程序一起使用。

从PyPI安装

使用以下命令安装django-yugabytedb软件包

$ pip install django-yugabytedb

从源代码在Python虚拟环境中安装

django-yugabytedb软件包也可以从源代码安装

$ git clone https://github.com/yugabyte/yb-django.git

$ python -m pip install -r <repo_path>/yb-django/requirements.txt

$ python -m pip install -e <repo_path>/yb-django/

检查是否正确安装

$ pip list —local

在您的应用程序中使用后端

更新Django项目中设置中的DATABASES设置,以便使用Django YB后端指向YB服务器

DATABASES = {
    'default': {
        'ENGINE': 'django_yugabytedb',
        'NAME': 'yugabyte',
        'HOST': 'localhost',
        'PORT': 5433,
        'USER': 'yugabyte',
    }
}

使用集群感知负载均衡

DATABASES = {
    'default': {
        'ENGINE': 'django_yugabytedb',
        'NAME': 'yugabyte',
        'HOST': 'localhost',
        'PORT': 5433,
        'USER': 'yugabyte',
        'LOAD_BALANCE': 'True'
    }
}

使用拓扑感知负载均衡

DATABASES = {
    'default': {
        'ENGINE': 'django_yugabytedb',
        'NAME': 'yugabyte',
        'HOST': 'localhost',
        'PORT': 5433,
        'USER': 'yugabyte',
        'LOAD_BALANCE': 'True',
        'TOPOLOGY_KEYS': 'cloud1.region1.zone1'
    }
}

已知错误和问题

  • 在YugabyteDB中创建索引速度较慢。

  • 由于Inet在后端映射为varchar,inet列中的数据与Inet类型之间的比较将失败。

  • 对于2.9版本之前的YugabyteDB,不支持savepoint功能。

  • 不支持删除主键。

  • ALTER TABLE ADD COLUMN UNIQUE尚未支持。

  • 添加新列时使用默认值填充现有行尚未在yugabytedb中实现。

  • 类型从int更改为BigInt和numeric(m,n)到double precision尚未支持。

  • ALTER INDEX尚未支持。

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

django-yugabytedb-4.0.0.post1.tar.gz (11.6 kB 查看散列值)

上传时间

构建分布

django_yugabytedb-4.0.0.post1-py3-none-any.whl (11.8 kB 查看散列值)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页