
多租户应用程序
在本教程中,我们将使用示例广告分析数据集来演示如何使用 Citus 来支持您的多租户应用程序。
注意
本教程假设您已经安装并运行了
Citus。 如果您没有运行Citus,则可以使用单节点Citus中的选项之一在本地设置Citus。https://docs.citusdata.com/en/v10.2/installation/single_node.html#development
数据模型和示例数据
我们将演示为广告分析应用程序构建数据库,公司可以使用该应用程序来查看、更改、分析和管理他们的广告和活动(请参阅示例应用程序)。这样的应用程序具有典型的多租户系统的良好特性。 来自不同租户的数据存储在一个中央数据库中,每个租户都有自己数据的独立视图。
我们将使用三个 Postgres 表来表示这些数据。 要开始使用,您需要下载这些表的示例数据:
curl https://examples.citusdata.com/tutorial/companies.csv > companies.csv
curl https://examples.citusdata.com/tutorial/campaigns.csv > campaigns.csv
curl https://examples.citusdata.com/tutorial/ads.csv > ads.csv
如果您使用 Docker,则应使用 docker cp 命令将文件复制到 Docker 容器中。
docker cp companies.csv citus:.
docker cp campaigns.csv citus:.
docker cp ads.csv citus:.
创建表
首先,您可以先使用 psql 连接到 Citus coordinator。
如果您使用原生 Postgres,如我们的单节点 Citus 指南中安装的那样,coordinator 节点将在端口 9700 上运行。
psql -p 9700
如果您使用 Docker,您可以通过使用 docker exec 命令运行 psql 进行连接:
docker exec -it citus_master psql -U postgres
然后,您可以使用标准 PostgreSQL CREATE TABLE 命令创建表。
CREATE TABLE companies (
id bigint NOT NULL,
name text NOT NULL,
image_url text,
created_at timestamp without time zone NOT NULL,
updated_at timestamp without time zone NOT NULL
);
CREATE TABLE campaigns (
id bigint NOT NULL,
company_id bigint NOT NULL,
name text NOT NULL,
cost_model text NOT NULL,
state text NOT NULL,
monthly_budget bigint,
blacklisted_site_url
2436




被折叠的 条评论
为什么被折叠?



