视频

了解更多
JSON 数据库如何工作,以及它们为应用程序开发者带来什么价值?或许可以从一只宠物猫的角度来举例说明。
我们先来定义术语。还有那只猫。
无论开发者是创建业务逻辑、用户界面、数据库还是后端系统,他们都需要一种描述和交换数据的方式。一个系统告诉另一个系统,“我有你需要的数据!”,他们需要构建数据交换的方式。数据交换可以是使用二进制数据,也可以是基于文本的。
JavaScript Object Notation (JSON) 是一种基于文本的数据交换格式,起源于 JavaScript。因为它基于文本,所以人机都可读。JSON 通常用于存储数据并将其传输到应用程序。
像 XML 一样,JSON 是一种数据交换格式,而不是一种编程语言,因为它不是图灵完备的。但是,也像 XML 一样,在某些方面它可以被当作编程语言使用,因为它具有可读性和强大的能力。正如JSON.org 解释的那样,JSON“使用了 C 语言家族程序员熟悉的约定”,例如 Python 和 Java。这使得 JSON 成为一个跨平台共享数据的便捷工具。
JSON 具有双重结构:
JSON 值可以是对象、键列表、记录、字典、关联数组、字符串、数字、true、false 或 null。
例如,假设要讨论的键是小猫;它的值是 floofy。只要对象被花括号包围,这两者就构成一个对象。(猫喜欢被什么包围都行。)描述这只小猫的完整 JSON 字符串可能如下所示
{"name": "Jason", "age": 1, "floofy": true}
在此示例中,左侧的属性,例如 name、age 和 floofy 是讨论的键,而 Jason、1 和 true 代表值。
准备好了解 Redis Enterprise 原生 JSON 如何帮助开发者构建现代应用了吗?了解更多关于 Redis JSON 的信息。
JSON 数据库(也可拼写为 JSON db)是一种文档数据库,有时称为 文档存储。数据以基于文本的文档形式表示,而不是以您可能从 SQL 数据库熟悉的列或表格形式表示。
从结构上看,JSON 数据库是一种 NoSQL 数据库,它使用 JSON 文档读取和存储半结构化数据,例如 PDF、文档或 XML 或 JSON 文件。列式数据库、图数据库、键值数据库、内存数据库和文档数据库都是不同类型的 NoSQL 数据库。
优势不仅限于其数据结构的易用性。从存储、模式和索引的灵活性,到水平和垂直扩展,以下是 JSON 数据库简化开发者工作的一些方式。
JSON 数据库的一个重要特点是它们是动态的。SQL 数据库具有固定的字段定义和字段大小,因此重组数据库需要重新索引和其他复杂操作。JSON 数据库则灵活得多,因为键/值结构可以适应数据模型或应用程序需求的变化。
想象一个依赖用户个人资料和登录认证的 Web 应用。JSON 数据库的键值可以存储用户 ID、用户偏好、多个 ID 映射以及额外信息,以便应用程序能够快速查找用户并验证访问。如果应用程序需求发生变化——例如,由于合规原因需要包含地理数据——数据库模式可以在不进行全面修改的情况下改变。
JSON 文档数据库是一种存储数据的紧凑排列,具有开发者定义的灵活结构。JSON 文件简洁的特点极大地提高了数据与应用程序交互的速度。
JSON 数据库模式允许嵌入或链接对象,包括循环引用。前面介绍猫咪 Jason 的例子故意保持了“hello world”的简单性。然而,JSON 也可以模拟复杂的数据结构,例如对象图和循环图。特别是,JSON 数据库支持嵌套、对象引用和数组。这为开发者提供了清晰性,因为它将对象解耦到不同的层,使得数据库更易于维护。
在嵌套的 JSON 数据库模式中,某些值是其他 JSON 对象。
{
"pet": {
"name": "Jason",
"age": 1,
"location": "USA",
"kur": "long-haired",
"breed": "Persian",
"Address": {
"longitude": "-113.6335371",
"latitude": "37.1049502",
"postal code": "90266"
}
}
}
高性能计算要求数据库能够扩展以满足需求,无论是长期(支持巨大的数据集)还是短期(例如假期购物季大家购买更多猫玩具)。水平可伸缩性,一种用于进行负载均衡以防止单个节点承受所有必需压力的方式,与 JSON 数据库特别匹配。这是因为可以将 JSON 数据和索引分布到多个分片和节点上,以提高速度和内存管理效率。
JSON 数据库在大数据科学和分析应用中变得非常流行。这些要求苛刻的大数据应用得益于 JSON 数据库的水平架构和对多个并发查询的支持。
这是因为 JSON 数据库具有灵活的模式以及水平和垂直扩展能力。这些特性使得文档数据库能够存储大型数据集并在需要时添加更多节点。分区允许数据在节点间均衡分布,以提高读写速度并确保可用性。
索引是一种检索数据的策略。文档数据库支持各种类型的索引,例如有序集合、按字典序编码、地理空间索引、IP 范围索引、全文搜索以及分区索引。
要观看实时 JSON 演示,可以观看 Redis 的 Justin Castilla 有趣的直播,“鸟会梦到 JSON 吗?”,它展示了如何从海量信息库中搜索和提取信息。他使用了鸟类目击数据来展示 JSON 的功能——可惜,没有猫来监督这些鸟。
如果您需要更多关于 JSON 如何工作的信息,我们的YouTube 频道有大量关于这种流行数据标记格式的直播、操作视频和网络研讨会。如果您遇到困难,随时可以访问我们的频道。我们通常会有可视化答案来指导您。