mysql longtext可以存储多少文字_存储引擎知多少,MySQL也能做数据仓库和图计算?...

MySQL 是最流行的关系型数据库管理系统,其原始设计是基于单机的,没有考虑分布式环境​。

e182691aa1ec96012c514aa5b6b829bc.png

mysql(图片来自百度)

MySQL特点如下:

1. 它使用的核心线程是完全多线程,支持多处理器。

2. 它通过一个高度优化的类库实现SQL函数库并像他们能达到的一样快速,通常在查询初始化后不该有任何内存分配。没有内存漏洞。

3. 全面支持SQL的GROUP BY和ORDER BY子句,支持聚合函数(COUNT()、COUNT(DISTINCT)、AVG()、STD()、SUM()、MAX()和MIN())。你可以在同一查询中混来自不同数据库的表。

4. 所有列都有缺省值。你可以用INSERT插入一个表列的子集,那些没用明确给定值的列设置为他们的决省值。

5. MySQL可以工作在不同的平台上。支持C、C++、Java、Perl、PHP、Python和TCL API。

然后其架构主要分为存储层和服务层。其存储引擎最为关键,当MySQL去查询数据时首先从存储引擎中取出数据,转化为MySQL标准的数据类型如INT,VARCHAR,再通过服务层进行查询,优化,连接等操作。对于不同的存储引擎其数据转化到服务层的方式是不同的。如myisam引擎不同于innodb,支持压缩表和静态表。所以MySQL的存储引擎对于我们的需求至关重要。

1cda7fba92d339cd7c65a6492aa7960e.png

mysql架构(图来自csdn)

下面介绍几种特别的MySQL存储引擎除innoDB和MyISAM:

Memory引擎,数据保存在内存之中,可以作为缓存和其它表的内存映射使用,还可以保存数据分析的中间结果,可以加快基本表的操作速度,主要使用hash索引,表级锁,查询速度非常快但是掉电即损失所有的数据,但是当内存继续扩大时,memory表自动转化为myisam表。

OQgraph引擎,开放式查询图计算引擎(OQGRAPH)作为引擎本身的调用,允许处理层次结构(树结构)和复杂图(节点在多个方向上有许多连接)。OQGRAPH不同于其他存储引擎,它由与普通存储引擎(如Aria、MyISAM或InnoDB)完全不同的体系结构组成。它用于检索层次化信息,例如用于简单SQL中的图形、路由或社会关系的信息。

Spider引擎,Spider支持内置分片特性,还支持分区和XA两阶段分布式事务,并且可以把不同实例上的表当作一个实例上的表处理。Spider作为MySQL的一个可插拔引擎,实现了handler类定义的相应的存取方法。Spider本身并不存放数据,而是类似一个代理的功能将访问请求路由到后端的数据节点。Spider提供了两种途径访问后端节点存储的数据。可以提供一种mysql分布式的解决方案。

Infobright是一个基于MySQL开发的开源数据仓库,可作为MySQL的一个存储引擎来使用,是一个高性能数据仓库。查询性能高:百万、千万、亿级记录数条件下,同等的SELECT查询语句,速度比MyISAM、InnoDB等普通的MySQL存储引擎快5~60倍。高效查询主要依赖特殊设计的存储结构(列式存储)对查询的优化。号称平均能够达到 10:1 以上的数据压缩率。甚至可以达到40:1,极大地节省了数据存储空间。可以提供10T数据的存储解决方案。

MySQL最强大的功能之一,以及区别于其它关系型数据库系统的一个主要的特色是不同的表能够采用不同的存储引擎。每一个存储引擎都有其优缺点,用户能够根据自己的需要定制MySQL的存储引擎。存储引擎能够控制在哪里以及如何存放、获取数据。它代表了下面物理层提供的抽象逻辑接口,也是数据库执行实际I/O操作的地方。这是一个组件体系结构。以上推荐的存储引擎,使用的人很少,也大多没在生产环境中使用过,慎用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值