gpt4 book ai didi

mysql - 选择存储 JSON 数据的数据库

转载 作者:搜寻专家 更新时间:2023-10-30 22:25:07 25 4
gpt4 key购买 nike

关闭。这个问题需要更多 focused .它目前不接受答案。












想改进这个问题?更新问题,使其仅关注一个问题 editing this post .

3年前关闭。




Improve this question




我正在构建一个利用 Spotify API 的原型(prototype)应用程序。
https://developer.spotify.com/discover/

我正在研究选择数据库架构。由于这是一个原型(prototype),我想保持简单,但仍有 future 发展的道路。

如果您使用过 Spotify API 并存储检索到的数据,我很乐意收到您的来信。

此外,我已经阅读了许多关于数据库之间选择的帖子,并根据阅读它们编辑了这个问题。我再问一次,因为有些帖子已经有好几年了,而且情况发生了变化。

我的问题是:我在这篇文章中提出的选项有哪些优点和缺点,还有哪些其他选项可能更适合这种类型的应用程序?

概述
该应用程序将存储从 Spotify 检索到的数据。 Spotify API 以 JSON 格式返回数据。

该应用程序将存储数百个甚至数千个用户的用户数据。

播放列表和轨道是主要数据。播放列表最多可包含 100 个或更多轨道。每个用户都将存储多个播放列表/轨道。一年后,用户可能拥有 50 到 100 个播放列表,每个播放列表包含多个轨道。

存储的播放列表将在应用程序/网络中显示给用户,并用于创建其他播放列表。轨道将每天添加数据,例如日期,等级。

会有交易,例如播放列表被锁定以防止进一步编辑、关闭时段、关闭排名等。

Spotify 类别大纲

用户:电子邮件、产品、显示名称、生日、图像
https://developer.spotify.com/documentation/web-api/reference/users-profile/get-users-profile/

音乐元数据:专辑、艺术家和轨道

播放列表:获取播放列表轨道并存储它们。
您可以在此处查看 JSON 数据的样子:
https://developer.spotify.com/documentation/web-api/reference/playlists/get-playlists-tracks/

数据库选项

选项 A
将 Spotify JSON 数据存储在关系数据库中,例如 mySQL 或 MariaDB。

mySQL 和 MariaDB 都支持 JSON 数据类型,尽管它们的管理方式略有不同。根据 MariaDB KB:在 MySQL 中,JSON 是一个对象,并根据 json 值进行比较。在 MariaDB 中,JSON 字符串是普通字符串并作为字符串进行比较。

首先,将JSON存储在关系数据库中的优点/缺点是什么,例如可以充分查询它吗?一个示例查询可能是“按排名列出用户的播放列表”。
其次,mySQL 和 MariaDB 对 JSON 的管理有什么广告/缺点?

对于关系数据库,我还应该注意哪些其他问题?

选项 B
Spotify 使用 Cassandra 数据库来提供 Spotify 服务。虽然这是一个原型(prototype)应用程序,但是否值得考虑 Cassandra 或其他一些 Not Only SQL 类型的数据库? Cassandra 导入 JSON 数据的效果如何?是否有现成的开发人员了解如何使用 Cassandra?

选项 C、D、E…

对于此类应用程序的数据结构,可以考虑哪些其他数据库选项?

提前致谢!

最佳答案

如果专注于数据字段

如果您专注于包含的数据值,而不是 JSON 文档,您应该将 JSON 的片段解析为特定的表和列。如果您要对这些部分进行大量查询,或者重新构建这些部分(例如用于用户界面),则构建一个 normalized关系数据库表结构。

如果专注于整个 JSON 文档

如果您没有受过关系数据库设计方面的教育,或者您的应用程序专注于处理整个 JSON 文档,那么请使用支持 JSON 文档的数据库。

出现MySQLsuch support ,但我不知道细节。

我知道Postgres对 JSON 有很好的支持,在插入时解析文档,并以自己的 native 二进制格式存储部分: jsonb .这允许所有 powerful indexing由 Postgres 提供。您还会发现功能强大的 functions for manipulating JSON .作为锦上添花,Postgres 还带来了其著名的可靠性。

关于mysql - 选择存储 JSON 数据的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53823792/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com