设计数据库架构
VoltDB是关系数据库产品。关系数据库由具有约束,索引和视图的表和列组成。VoltDB使用标准SQL数据库定义语言(DDL)语句来指定数据库架构。因此,为VoltDB数据库设计架构使用与为Oracle,MySQL或任何其他关系数据库产品设计数据库相同的技能和知识。
本指南通过将工作分为三章来描述应用程序设计的阶段:
- 在DDL中设计架构以定义数据库结构。本章介绍了模式设计。
- 设计存储过程以访问数据库中的数据。存储过程为客户端应用程序提供了数据库的应用程序编程接口(API)。ref="https://docs.voltdb.com/UsingVoltDB/DesignProc.php">第5章,设计访问数据库的存储过程中介绍了存储过程。
- 设计客户端以提供业务逻辑,并连接到数据库以访问数据。ref="https://docs.voltdb.com/UsingVoltDB/ChapAppDesign.php">第6章,设计VoltDB客户端应用程序中介绍了客户端应用程序设计。
数据库模式是一种规范,用于描述VoltDB数据库的结构,例如表和索引,标识访问数据库中数据的存储过程,并定义对表和存储过程进行分区以进行快速数据访问的方式。在设计客户端应用程序以使用数据库时,架构会指定有关数据类型,表,列等的所需详细信息。
图4.1。数据库架构的组件
除设计数据库表外,VoltDB数据库设计的一个重要方面是分区,分区提供了对数据和处理的更有效访问。分区将表的行和处理过程分布在多个独立的分区中,而不是一个分区。您的设计需要协调数据库表和访问表的存储过程的分区。在设计时,您选择要在其上对表的行进行分区的列。如果存储过程使用该列来标识要在表中进行操作的行,则它们还会在同一列上进行分区。
在运行时,VoltDB决定将哪些群集节点和分区用于表分区,并一致地将行分配给适当的分区。图4.2“分区分配表数据和存储过程处理”显示了如何将数据插入分区表时,VoltDB如何自动将数据分配给正确的分区。同样,当调用分区存储过程时,VoltDB自动在具有请求数据的单个分区中执行存储过程。
图4.2。分区分配表数据和存储过程处理