我打算建立一个 JSON 存储系统。它将以相同的格式存储数千万条 JSON 记录。我希望能够使用 Apache Drill 查询数据。
看起来有对 MongoDB 和 Postgres 的 Drill 支持。但是,我不确定每种方法的优缺点,以及如果我选择 Postgres,我将如何构建架构。
我打算建立一个 JSON 存储系统。它将以相同的格式存储数千万条 JSON 记录。我希望能够使用 Apache Drill 查询数据。
看起来有对 MongoDB 和 Postgres 的 Drill 支持。但是,我不确定每种方法的优缺点,以及如果我选择 Postgres,我将如何构建架构。
了解数据的结构以及您想要对数据执行的操作将是有益的。你真的需要数据库吗?Drill 会从文件系统/S3/etc 中读取数据吗?
但是用您提供的信息回答您的问题。
MongoDB 优于 PostgreSQL 的优势在于扩展和读取性能(在一定规模之后)。如果这主要是只读或分析数据库(主要是读取),那么 MongoDB 可能会工作。
PostgreSQL 具有符合 ACID 的优势,并且如果您不超过约 10 条数百万条记录(尤其是支持数据类型索引的 JSONB),则很可能具有更好的性能。
在不了解数据的情况下,您可以简单地在 postgresql JSON 表中包含两列(id、JSON_field),然后使用 PostgreSQL 中的函数来查询您的 JSON 字段。在 PostgreSQL 中查询 JSON 数据的过程中涉及的更多一点,但是当你习惯它之后,它就非常简单了。