28. ClustrixDB 评估模型
时间:2019-12-10
本文章向大家介绍28. ClustrixDB 评估模型,主要包括28. ClustrixDB 评估模型使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
本节描述如何在数据库中计算查询。在ClustrixDB中,我们跨节点切片数据,然后将查询发送到数据。这是数据库的基本原则之一,它允许随着添加更多节点而几乎线性地扩展。
有关如何分布数据的概念,请参阅数据分布,因为本页假定您理解这些概念。需要记住的主要概念是,表和索引是跨节点划分的,并且每个表和索引都有自己的分布,这使我们能够在给定的主列下精确地知道数据的位置。
并行查询求值(通过示例)
ClustrixDB对简单查询使用并行查询求值,对分析查询(类似于柱状存储)使用大规模并行处理(MPP)。
最好看一些示例来理解查询求值以及为什么查询(几乎)是使用ClustrixDB线性扩展的。让我们从一个SQL模式开始,并通过一些示例进行讨论。
sql> CREATE TABLE bundler ( id INT default NULL auto_increment, name char(60) default NULL, PRIMARY KEY (id) ); sql> CREATE TABLE donation ( id INT default NULL auto_increment, bundler_id INT, amount DOUBLE, PRIMARY KEY (id), KEY bundler_key (bundler_id, amount) );
现在,让我们看看这种情况下的数据分布。我们有三种表达方式:
- _id_primary_bundler
- _id_primary_donation
- _bundler_key_donation
前两个是基于它们的id字段分布的。最后一个是基于bundler_id的。请注意,由于这些是散列分布的,所以具有相同键值的所有行都指向相同的节点。
扩展简单查询
在这里,我们将简单的查询定义为点选择和插入。让我们考虑一个简单的读(一个简单的写遵循相同的路径):
sql> SELECT id, amount FROM donation WHERE id = 15;
数据将从排序副本中读取。它可以驻留在同一个节点上,也可以只需要一个跳转。下图展示了这两种情况。随着数据集大小和节点数量的增加,一个查询所需的跳数(0或1)不会改变。这允许读写的线性可伸缩性。另外,如果有两个或多个副本(通常是这种情况),则至少有一个写操作跃点(因为两个副本不能驻留在同一个节点上)。
原文地址:https://www.cnblogs.com/yuxiaohao/p/12016423.html
- spring-boot 速成(1) helloworld
- spring-boot 速成(1) helloworld
- 协议森林16 小美的桌号(DHCP协议)
- struts2(一)之初识struts2
- AI聊天机器人备受青睐 专家呼吁少卖萌
- CQRS框架:AxonFramework 之 Hello World
- Kubernetes的服务网格(第4部分):通过流量切换持续部署
- TortoiseGit安装与配置
- mongodb 速成笔记
- oAuth 2.0 笔记
- JavaScript内置对象--Math对象
- oAuth 2.0 笔记
- common-pool2 学习:thrift连接池的另一种实现
- IntelliJ IDEA 17和Maven构建javaWeb项目
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 发现内网存活主机的各种姿势
- SharedPreferences VS MMKV
- RabbitMQ 最常用的 3 大模式!
- 啥?HashMap 1.8 还有死循环?你逗我呢!
- 他写的东西,你们喜欢么?
- 告诉你一个 AtomicInteger 的惊天大秘密!
- 001--算法之"高手过招"[分治算法专题]
- 快速入门使用tikz绘制深度学习网络图
- 后端服务慢成狗?试试这 7 招!
- 高性能无锁并发框架 Disruptor,太强了!
- Spring Boot 太狠了,一口气发布了 3 个版本!
- 贷款违约预测-Task2 数据分析
- Redis 最牛实践:业务层面和运维层面优化!
- 一个 randomkey 命令导致的 Redis 事故。。
- 分布式锁(数据库、Redis、ZK)拍了拍你