设计数据库架构

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。分区分配表数据和存储过程处理

分布式mysql 不支持存储过程_分布式数据库VoltDB对存储过程的支持相关推荐

  1. mysql cluster 缩容_分布式常见问题分析及解决方案

    1.分布式和集群概念 分布式:可以简单理解成将一个独立的系统拆分成很多个子系统,每个子系统可以单独的运行(比如用户登录.订单支付),这个称之为分布式系统. 集群:可以简单理解就是对于任何一个系统至少部 ...

  2. 【MySQL 第17章_其他数据库日志】

    第17章_其他数据库日志 1.MySQL支持的日志 1.1日志类型 1.2日志的弊端 2.慢查询日志(slow query log) 3.1问题场景 3.2 查看当前状态 3.3 启动日志 3.4 查 ...

  3. spring整合atomikos实现分布式事务的方法示例_分布式事务中的XA和JTA

    在介绍这两个概念之前,我们先看看是什么是X/Open DTP模型. X/Open X/Open,即现在的open group,是一个独立的组织,主要负责制定各种行业技术标准.X/Open组织主要由各大 ...

  4. python分布式爬虫及数据存储_分布式爬虫

    爬虫学习使用指南 Auth: 王海飞 Data:2018-07-05 Email:779598160@qq.com github:https://github.com/coco369/knowledg ...

  5. 改变mysql的数据编码格式_修改数据库编码格式(转)

    MySQL的默认编码是Latin1,不支持中文,要支持中午需要把数据库的默认编码修改为gbk或者utf8. 1.需要以root用户身份登陆才可以查看数据库编码方式(以root用户身份登陆的命令为:&g ...

  6. 什么时候用到mysql存储过程_什么时候用到存储过程

    存储过程一般用于处理比较复杂的任务,基础ms这个平台,可以大大降低耗时,其编译机制也提高了数据库执行速度 存储过程不仅仅适用于大型项目,对于中小型项目,使用存储过程也是非常有必要的.其威力和优势主要体 ...

  7. 增大mysql修改表空间_扩充数据库表空间

    ALTER TABLESPACE ADD DATAFILE , [REUSE] NEXT MAXSIZE <>中是你要填的内容,有|是选其一. 如:增加文件是d:\dbfs\mydatab ...

  8. mysql的四层架构_分布式数据库服务器的四层架构

    分布式数据库服务器的四层架构: 访问层:接收访问信息并按负荷智能的分配给中转服务器,接受数据结果并返回客户端. 中转层:接收访问服务器发来的数据访问指令,从总储存服务器寻找数据分布所在的储存服务器,发 ...

  9. mysql的二级分区_分布式数据库一级分区和二级分区

    1.1 一级分区 OceanBase1.0现在支持的一级分区类型有:HASH, KEY, RANGE, RANGE COLOMNS (LIST, LIST COLUMNS, INTERVAL分区正在开 ...

最新文章

  1. Oracle数据库游标在存储过程中的使用
  2. kprobes/kretprobes 在 bcc 程序中的使用
  3. python多线程资源共享_Python:关于多处理/多线程和共享资源的问题
  4. a开头的计算机语言,我们刚开始接触计算机语言大多从Hello world 开始
  5. 【服务端渲染】之 Vue SSR
  6. 《计算机网络》第一章:基础知识Part I
  7. js 斐波那契数列(兔子问题)
  8. 二相四线制步进电机驱动原理与Proteus仿真
  9. Dokcer学习笔记之Dokcerfile 文件构建
  10. c++ STL之unordered_map
  11. OKHttp源码解析(1)----整体流程
  12. Zabbix5 安装教程
  13. 【盘点】电影中八大邪恶的超级计算机
  14. 【Flutter】【package】expandable折叠widget插件
  15. Python+Django+Mysql电影推荐系统 基于用户、项目、内容的协同过滤推荐算法 MovieRecommendSystemPython python实现协同过滤推荐算法实现 源代码下载
  16. mybatis(三) XML映射器之select、update、delete、insert标签
  17. 5G通信在应急系统中的应用
  18. 生产计划管理软件功能是什么?对生产管理有何好处?
  19. java.lang.arrayindexoutofboundsexception: Index 13 out of bounds for length 13
  20. NTC热敏电阻与浪涌电流,热启动不会失效?

热门文章

  1. 回顾之前易忘记的知识
  2. windows安装解压版mysql
  3. AR.js专题-多Renderer支持
  4. 使用一个for循环将N*N的二维数组的所有值置1
  5. C++ Pitfalls 之 reference to an object in a dynamically allocated containter
  6. php提交字符串中有加号(+)时会后台得到空格的问题
  7. 程序设计基础(C语言)教学案例-序言
  8. [转载] JAVA从菜鸟【入门】到新手【实习】一一一一Python 内置函数,标准库与第三方库(拓展库),常用框架
  9. [转载] Java获取嵌套的json串里的返回结果
  10. 27_线程池_线程池实现原理