在单个Postgresql实例上组合NoSQL和Relational Database

gau*_*har 2 postgresql mongodb nosql citus azure-cosmosdb

我有一个现有的关系Postgresql数据库.一些表包含非常胖的blob,它们作为NoSQL文档会更好.这将大大减轻我们的关系数据库.

因此,我们考虑将这些blob-table移动到像CosmosDB或MongoDB这样的NoSQL解决方案中.但是,纯关系表存在外键依赖关系,这使得将这些表移出到自己的数据库中变得复杂.

我发现PSQL本身支持存储文档并且可以分发.我到目前为止看到的解决方案是CitusData和Postgres XL.对于那些使用它们的人,他们如何比较?

有没有人遇到过类似的情况?你有没有分成NoSQL数据库?或者有没有人将他们的PSQL分区为关系和NoSQL部分?那是怎么回事?事后你会建议你注意什么?

Ahm*_*şak 5

(Citus工程师在这里)

Postgres具有JSONB列类型,功能强大且灵活.您可以做的是保持结构表不变,并为blob数据放置一个jsonb列.使用单节点Postgres进行测试,如果这对您有用,那太好了!

如果您的数据规模存在问题,即单个计算机的内存或存储或CPU不足以满足您的工作负载而且您无法扩大规模,那么您可以尝试使用Citus或Postgres-XL进行扩展.

我对Postgres-XL没有经验,但Citus很容易尝试.您可以使用泊坞窗图像,或者您可以在Citus Cloud上创建一个帐户以尝试为期一周的免费开发计划(它不适合用于基准测试目的).