词起源于希腊语中的 form 或 figure,但具体应该如何定义 schema 取决于应用环境的上下文。schema 有不同的类型,其含义与数据科学、教育、营销和 SEO 以及心理学等领域密切相关。
在维基百科中将 schema 解释为,图式,在心理学中主要描述一种思维或行为类型,用来组织资讯的类别,以及资讯之间的关系。它也可以被描述为先入为主思想的心理结构,表示世界某些观点的框架,或是用于组织和感知新资讯的系统。
但在计算机中的 schema 其实与这个解释很接近了,从很多地方都可以看到schema这个名词,例如 database,openldap,programing language 等的。这里可以简单的把 _schema_理解为元数据集合(metadata component),主要包含元素及属性的声明,与其他数据结构组成。
数据库中的 schema
在数据库中,schema就像一个骨架结构,代表整个数据库的逻辑视图。它设计了应用于特定数据库中数据的所有约束。当在数据建模时,就会产生一个 schema。在谈到关系数据库]和面向对象数据库时经常使用 schema。有时也指将结构或文本的描述。 数据库中 schema 描述数据的形状以及它与其他模型、表和库之间的关系。在这种情况下,数据库条目是 schema 的一个实例,包含 schema 中描述的所有属性。 数据库 schema 通常分为两类:定义数据文件实际存储方式的物理数据库 schema 和逻辑数据库 schema,它描述了应用于存储数据的所有逻辑约束,包括完整性、表和视图。常见包括
-
星型模式(star schema)
雪花模式(snowflake schema)
事实星座模型(fact constellation schema 或 galaxy schema)
星型模式是类似于一个简单的数据仓库图,包括一对多的事实表和维度表。它使用非规范化数据。 雪花模式是更为复杂的一种流行的数据库模式,在该模式下,维度表是规范化的,可以节省存储空间并最大限度地减少数据冗余。 事实星座模式远比星型模式和雪花模式复杂得多。它拥有多个共享多个维度表的事实表。
Kubernetes 中的 schema
转载请注明:IT运维空间 » 运维技术 » 理解 Kubernetes 的 API Schema
发表评论