当前位置: 首页 > news >正文

起零网站建设东莞seo排名优化

起零网站建设,东莞seo排名优化,wordpress实现前台登录功能,企业网站什么意思目录 官网 什么是Clickhouse 什么是OLAP 面向列的数据库与面向行的数据库 特点 为什么面向列的数据库在OLAP场景中工作得更好 为什么ClickHouse这么快 真实的处理分析查询 OLAP场景的关键属性 引擎作用 ClickHouse引擎 输入/输出 CPU 官网 https://clickhouse.com…目录 官网 什么是Clickhouse 什么是OLAP 面向列的数据库与面向行的数据库 特点 为什么面向列的数据库在OLAP场景中工作得更好 为什么ClickHouse这么快 真实的处理分析查询 OLAP场景的关键属性 引擎作用 ClickHouse引擎 输入/输出 CPU 官网 https://clickhouse.com/ 什么是Clickhouse ClickHouse®是一个高性能、面向列的SQL数据库管理系统DBMS用于在线分析处理OLAP。它可以作为开源软件和云服务提供。 什么是OLAP OLAP方案要求在大型数据集上实时响应以满足具有以下特征的复杂分析查询 数据集可以是巨大的-数十亿或数万亿行数据是在包含许多列的表中组织的仅选择少数几列来回答任何特定查询结果必须以毫秒或秒为单位返回 面向列的数据库与面向行的数据库 在面向行的DBMS中数据存储在行中与行相关的所有值物理上彼此相邻地存储。 在面向列的DBMS中数据存储在列中来自相同列的值存储在一起。 特点 1、列式存储 行式存储的好处 想查找某个人所有的属性时可以通过一次磁盘查找加顺序读取就可以但是当想查所有人的年龄时需要不停的查找或者全表扫描才行遍历的很多数据都是不需要的。 列式存储的好处 对于列的聚合、计数、求和等统计操作优于行式存储由于某一列的数据类型都是相同的针对于数据存储更容易进行数据压缩每一列选择更优的数据压缩算法大大提高了数据的压缩比重数据压缩比更好一方面节省了磁盘空间另一方面对于cache也有了更大的发挥空间列式存储不支持事务 2、DBMS功能几乎覆盖了标准 SQL 的大部分语法包括 DDL 和 DML、以及配套的各种函数用户管理及权限管理、数据的备份与恢复 3、多样化引擎目前包括合并树、日志、接口和其他四大类20多种引擎。 4、高吞吐写入能力 ClickHouse采用类LSM Tree的结构数据写入后定期在后台Compaction。通过类 LSM tree的结构 ClickHouse在数据导入时全部是顺序append写写入后数据段不可更改在后台compaction时也是多个段merge sort后顺序写回磁盘。顺序写的特性充分利用了磁盘的吞吐能力。 5、数据分区与线程及并行 ClickHouse将数据划分为多个partition每个partition再进一步划分为多个index granularity(索引粒度)然后通过多个CPU核心分别处理其中的一部分来实现并行数据处理。在这种设计下 单条 Query 就能利用整机所有 CPU。 极致的并行处理能力极大的降低了查询延时。 所以 ClickHouse 即使对于大量数据的查询也能够化整为零平行处理。但是有一个弊端就是对于单条查询使用多cpu就不利于同时并发多条查询。所以对于高 qps 的查询业务并不是强项。 6、ClickHouse 像很多 OLAP 数据库一样单表查询速度优于关联查询而且 ClickHouse的两者差距更为明显。 关联查询clickhouse会将右表加载到内存。 为什么面向列的数据库在OLAP场景中工作得更好 面向列的数据库更适合OLAP场景它们在处理大多数查询时至少快100倍。下面详细解释了原因但事实更容易直观地展示 面向行的DBMS 面向列的DBMS 看到区别了吗 本文的其余部分将解释为什么面向列的数据库在这些场景中工作得很好以及为什么ClickHouse在这一类别中表现得特别好。 为什么ClickHouse这么快 ClickHouse充分利用所有可用的系统资源尽可能快地处理每个分析查询。这是由于分析能力和关注实现最快OLAP数据库所需的低级细节的独特组合而成为可能。 C可以利用硬件优势摒弃了hadoop生态数据底层以列式存储利用单节点的多核并行处理为数据建立索引一级、二级、稀疏索引使用大量的算法处理数据支持向量化处理预先设计运算模型-预先计算分布式处理数据 真实的处理分析查询 在面向行的DBMS中数据按以下顺序存储 RowWatchIDJavaEnableTitleGoodEventEventTime#0893543506621Investor Relations12016-05-18 05:19:20#1903295099580Contact us12016-05-18 08:10:20#2899537060541Mission12016-05-18 07:38:00#N…………… 换句话说与行相关的所有值在物理上彼此相邻地存储。 面向行的DBMS的示例是MySQL、Postgres和MS SQL Server。 在面向列的DBMS中数据是这样存储的 Row:#0#1#2#NWatchID:893543506629032950995889953706054…JavaEnable:101…Title:Investor RelationsContact usMission…GoodEvent:111…EventTime:2016-05-18 05:19:202016-05-18 08:10:202016-05-18 07:38:00… 这些示例仅显示数据的排列顺序。不同列中的值单独存储而同一列中的数据存储在一起。 列式DBMS示例Vertica、ParaccelActian Matrix和Amazon Redshift、Sybase IQ、Exasol、Infobright、InfiniDB、MonetDBVectorWise和Actian Vector、LucidDB、SAP HANA、Google Dremel、Google PowerDrill、Druid和kdb。 存储数据的不同顺序更适合不同的场景。数据访问场景指的是进行什么查询、多久查询一次、占多大比例;每种类型查询读取的数据量-行、列和字节;阅读和更新数据之间的关系;数据的工作大小以及如何在本地使用它;是否使用事务以及它们的隔离程度;数据复制和逻辑完整性要求;对于每种类型的查询的等待时间和吞吐量的要求等等。 系统上的负载越高定制系统设置以匹配使用场景的需求就越重要并且这种定制变得越细粒度。没有一个系统同样适合于显著不同的场景。如果一个系统适用于一组广泛的场景在高负载下该系统将同样糟糕地处理所有场景或者将仅对一个或几个可能的场景工作良好。 OLAP场景的关键属性 表是“宽”的这意味着它们包含大量的列。数据集很大查询在处理单个查询时需要高吞吐量每个服务器每秒高达数十亿行。列值相当小数字和短字符串例如每个URL 60个字节。查询提取大量的行但只提取列的一小部分。对于简单查询允许大约50ms的延迟。每个查询有一个大表;所有的桌子都很小除了一个。查询结果明显小于源数据。换句话说数据被过滤或聚合因此结果适合单个服务器的RAM。查询相对较少通常每台服务器有数百个查询或每秒更少。插入是以相当大的批量1000行进行的而不是以单行进行的。交易是不必要的。 很容易看出OLAP场景与其他流行场景如OLTP或键值访问有很大不同。因此如果您想获得良好的性能那么尝试使用OLTP或键值数据库来处理分析查询是没有意义的。例如如果您尝试使用MongoDB或Redis进行分析与OLAP数据库相比您将获得非常差的性能。 引擎作用 表引擎是 ClickHouse 的一大特色。可以说 表引擎决定了如何存储表的数据。包括 数据的存储方式和位置支持哪些查询以及如何支持并发数据访问索引的使用是否可以执行多线性请求数据复制参数 ClickHouse引擎 引擎决定了数据的存储位置、存储结构、表的特征是否修改操作DDL、DDL、是否支持并发操作 1、数据库引擎数据库引擎 | ClickHouse文档 目前支持的数据库引擎有5种 Ordinary默认引擎在绝大多数情况下我们都会使用默认引擎使用时无须刻意声明。在此数据库下可以使用任意类型的表引擎。Dictionary字典引擎此类数据库会自动为所有数据字典创建它们的数据表Memory内存引擎用于存放临时数据。此类数据库下的数据表只会停留在内存中不会涉及任何磁盘操作当服务重启后数据会被清除Lazy日志引擎此类数据库下只能使用Log系列的表引擎MySQLMySQL引擎将远程的MySQL服务器中的表映射到ClickHouse中,常用语数据的合并。MaterializeMySQLMySQL数据同步将MySQL数据全量或增量方式同步到clickhouse中解决mysql服务并发访问压力过大的问题 2、表引擎表引擎 | ClickHouse文档 输入/输出 对于分析查询只需要读取少量的表列。在面向列的数据库中可以只读取所需的数据。例如如果您需要100列中的5列则可以预期I/O减少20倍。由于数据是以包的形式读取的因此更容易压缩。列中的数据也更容易压缩。这进一步减少了I/O量。由于减少了I/O系统缓存中可以容纳更多数据。 例如查询“统计每个广告平台的记录数”需要阅读一个“广告平台ID”列该列未压缩时占用1个字节。如果大部分流量不是来自广告平台那么您可以预期此列的压缩至少为10倍。当使用快速压缩算法时数据解压缩可以以每秒至少几千兆字节的未压缩数据的速度进行。换句话说在单个服务器上可以以每秒大约几十亿行的速度处理该查询。这个速度在实践中实际上是可以实现的。 CPU 由于执行查询需要处理大量的行因此将所有操作分派给整个向量而不是单独的行或者实现查询引擎以便几乎没有分派成本。如果不这样做那么对于任何不太好的磁盘子系统查询解释器都不可避免地会使CPU停止工作。将数据存储在列中并在可能的情况下按列处理数据是有意义的。 有两种方法可以做到这一点 矢量引擎。所有操作都是针对向量而不是针对单独的值编写的。这意味着您不需要经常调用操作并且调度成本可以忽略不计。操作代码包含优化的内部循环。 代码生成。为查询生成的代码中包含所有间接调用。 这在面向行的数据库中是不可能的因为在运行简单查询时这是没有意义的。然而也有例外。例如MemSQL使用代码生成来减少处理SQL查询时的延迟。(For相比之下分析型DBMS需要优化吞吐量而不是延迟。 请注意为了提高CPU效率查询语言必须是声明性的SQL或MDX或者至少是向量JK。查询应该只包含隐式循环以便进行优化。
http://www.yutouwan.com/news/249767/

相关文章:

  • 用.cc做网站官网可以吗小米发布会2023新品
  • 百度做网站多少钱一年活动策划招聘
  • 龙华营销型网站建设公司搭建一个app平台需要多少钱
  • 营销型网站有哪些建设流程wordpress js调用淘客
  • 连云港市网站平台网络公司好听的名字
  • 学校网站建设报价表襄樊网站制作公司
  • 网站备案 条例网站推广方案怎么写
  • 想做个自己的网站一个公网ip可以做几个网站
  • 上海企业专属网站建设平台站长工具ip地址查询域名
  • 模板网站建设明细报价表找外包做网站要多久
  • 网站续费话术wordpress主页打不开
  • 网站建设 工单佛山市seo推广
  • php网站集成支付宝接口中国纵横168网站建设系统
  • 外贸网站建站公司网站设计建设专业服务
  • 做网站需要的资料网站用什么做备份
  • 汽车报价网站亚马逊官网中国网页版
  • 运营商做网站找人做网站 源码被盗用
  • 东莞网站建设(乐云践新)网站做调查问卷给钱的兼职
  • 设计找版面网站如何让谷歌收录网站
  • 做360网站官网还是百度知道项目申报
  • 北海手机网站制作公司注册网上怎样注册
  • 酒店网站建设项目报告书嵌入式累还是程序员累
  • 博客类网站怎么做湛江网站排名提升
  • 购买一个网站需要多少钱玉环做企业网站
  • 数据处理网站开发校园网站建设情况
  • 自贡网站制作小程序商城开发多少钱
  • 页面设计模板网站给网站网站做优化
  • 优质做网站价格如何在家里做网站
  • 有没有好用的网站推荐建筑网格
  • 水墨风格网站自己想做网站