当前位置:首页 » 存储配置 » ndb存储引擎

ndb存储引擎

发布时间: 2022-07-23 04:41:11

⑴ 如何选择Mysql存储引擎

MySQL有多种存储引擎,每种存储引擎有各自的优缺点,可以择优选择使用:

MyISAM、InnoDB、merge、memory(heap)、BDB(BerkeleyDB)、example、FEDERATED、archive、csv、BLACKHOLE。

MySQL支持数个存储引擎作为对不同表的类型的处理器。MySQL存储引擎包括处理事务安全表的引擎和处理非事务安全表的引擎:

· MyISAM管理非事务表。它提供高速存储和检索,以及全文搜索能力。MyISAM在所有MySQL配置里被支持,它是默认的存储引擎,除非你配置MySQL默认使用另外一个引擎。

· memory存储引擎提供“内存中”表。merge存储引擎允许集合将被处理同样的MyISAM表作为一个单独的表。就像MyISAM一样,memory和merge存储引擎处理非事务表,这两个引擎也都被默认包含在MySQL中。

注释:memory存储引擎正式地被确定为heap引擎。

· InnoDB和BDB存储引擎提供事务安全表。BDB被包含在为支持它的操作系统发布的MySQL-Max二进制分发版里。InnoDB也默认被包括在所 有MySQL 5.1二进制分发版里,你可以按照喜好通过配置MySQL来允许或禁止任一引擎。

· example存储引擎是一个“存根”引擎,它不做什么。你可以用这个引擎创建表,但没有数据被存储于其中或从其中检索。这个引擎的目的是服务,在 MySQL源代码中的一个例子,它演示说明如何开始编写新存储引擎。同样,它的主要兴趣是对开发者。

· ndb Cluster是被MySQL Cluster用来实现分割到多台计算机上的表的存储引擎。它在MySQL-Max 5.1二进制分发版里提供。这个存储引擎当前只被Linux, Solaris, 和Mac OS X 支持。在未来的MySQL分发版中,我们想要添加其它平台对这个引擎的支持,包括Windows。

· archive存储引擎被用来无索引地,非常小地覆盖存储的大量数据。

· csv存储引擎把数据以逗号分隔的格式存储在文本文件中。

· BLACKHOLE存储引擎接受但不存储数据,并且检索总是返回一个空集。

· FEDERATED存储引擎把数据存在远程数据库中。在MySQL 5.1中,它只和MySQL一起工作,使用MySQL C client api。在未来的分发版中,我们想要让它使用其它驱动器或客户端连接方法连接到另外的数据源。

比较常用的是MyISAM和InnoBD

⑵ mySQL的存储引擎

MyISAMMySQL 5.0 之前的默认数据库引擎,最为常用。拥有较高的插入,查询速度,但不支持事务
InnoDB事务型数据库的首选引擎,支持ACID事务,支持行级锁定, MySQL 5.5 起成为默认数据库引擎
BDB源 自 Berkeley DB,事务型数据库的另一种选择,支持Commit 和Rollback 等其他事务特性
Memory所有数据置于内存的存储引擎,拥有极高的插入,更新和查询效率。但是会占用和数据量成正比的内存空间。并且其内容会在 MySQL 重新启动时丢失
Merge将一定数量的 MyISAM 表联合而成一个整体,在超大规模数据存储时很有用
Archive非常适合存储大量的独立的,作为历史记录的数据。因为它们不经常被读取。Archive 拥有高效的插入速度,但其对查询的支持相对较差
Federated将不同的 MySQL 服务器联合起来,逻辑上组成一个完整的数据库。非常适合分布式应用
Cluster/NDB高冗余的存储引擎,用多台数据机器联合提供服务以提高整体性能和安全性。适合数据量大,安全和性能要求高的应用
CSV: 逻辑上由逗号分割数据的存储引擎。它会在数据库子目录里为每个数据表创建一个 .csv 文件。这是一种普通文本文件,每个数据行占用一个文本行。CSV 存储引擎不支持索引。
BlackHole:黑洞引擎,写入的任何数据都会消失,一般用于记录 binlog 做复制的中继
EXAMPLE 存储引擎是一个不做任何事情的存根引擎。它的目的是作为 MySQL 源代码中的一个例子,用来演示如何开始编写一个新存储引擎。同样,它的主要兴趣是对开发者。EXAMPLE 存储引擎不支持编索引。
另外,MySQL 的存储引擎接口定义良好。有兴趣的开发者可以通过阅读文档编写自己的存储引擎。

⑶ 为什么mysql集群中存储引擎不能修改为NDB

应该可以,多年前搞过!
大致的说下(也许不准确,请自己查阅相关的资料):
cluster一般分为下面三种节点:
1:管理节点:
管理Cluster内的其它节点,使用ndb_mgmd命令启动,并在启动其它的节点前启动;
2:数据节点:
保存 Cluster的数据,使用命令ndbd启动,要注意此类节点数目,一般与副本数目相关,是片段的倍数;
3:SQL节点:
用于访问 Cluster数据节点,应使用mysqld启动;

最后,你必须依次配置并启动;

⑷ MySQL技术内幕:InnoDB存储引擎的目录

推荐序
前言
致谢
第1章 mysql体系结构和存储引擎
1.1 定义数据库和实例
1.2.mysql体系结构
1.3 mysql表存储引擎
1.3.1 innodb存储引擎
1.3.2 mylsam存储引擎,
1.3.3 ndb存储引擎
1.3.4 memory存储引擎
1.3.5 archive存储引擎
1.3.6 federated存储引擎
1.3.7 maria存储引擎
1.3.8其他存储引擎
1.4 各种存储引擎之间的比较
1.5 连接mysql
1.5.1 tcp/ip
1.5.2命名管道和共享内存
1.5.3 unix域套接宇
.1.6 小结
第2章 innodb存储引擎
2.1.innodb存储引擎概述
2.2 innodb体系架构
2.2.1后台线程
2.2.2内存
2.3 masteithread
2.3.1 masterthread源码分析
2.3.2 masterthread的潜在问题
2.4 关键特性
2.4.1插入缓冲
2.4.2两次写
2.4.3自适应哈希索引
2.5 启动、关闭与恢复
2.6 innodbplugin:新版本的innodb存储
引擎
2.7 小结
第3章 文件
3.1 参数文件
3.1.1什么是参数
3.1.2参数类型
3.2 日志文件
3.2.1错误日志
3.2.2慢查询日志
3.2.3查询日志
3.2.4二进制日志
3.3 套接字文件
3.4 pid文件
3.5 表结构定义文件
3.6 innodb存储引擎文件
3.6.1表空间文件
3.6.2重做日志文件
3.7 小结
第4章 表
4.1 innodb存储引擎表类型
4.2 innodb逻辑存储结构
4.2.1表空间
4.2.2段
4.2.3区
4.2.4页
4.2.5行
4.3 innodb物理存储结构
4.4 innodb行记录格式
4.4.1 compact行记录格式
4.4.2 rendant行记录格式
4.4.3行溢出数据
4.4.4 compressed与dynamic行记录格式
4.4.5 char的行结构存储
4.5 innodb数据页结构
4.5.1 fileheader
4.5.2 pageheader
4.5.3 infimum和supremum记录
4.5.4 userrecords与freespace
4.5.5 pagedirectory
4.5.6 filenailei
4.5.7 innodb数据页结构示例分析
4.6 namedfileformats
4.7 约束
4.7.1数据完整性
4.7.2约束的创建和查找
4.7.3约束和索引的区别
4.7.4对于错误数据的约束
4.7.5 enum和set约束
4.7.6触发器与约束
4.7.7外键
4.8 视图
4.8.1视图的作用
4.8.2物化视图
4.9 分区表
4.9.1分区概述
4.9.2 range分区
4.9.3 list分区
4.9.4 hash分区
4.9.6 columns分区
4.9.7子分区
4.9.8分区中的null值
4.9.9分区和性能
4.10 小结
第5章 索引与算法
5.1 innodb存储引擎索引概述
5.2 二分查找法
5.3 平衡二叉树
5.4 b+树
5.4.1 b+树的插入操作
5.4.2 b+树的删除操作
5.5 b+树索引
5.5.1聚集索引
5.5.2辅助索引
5.5.3 b+树索引的管理
5.6 b+树索引的使用
5.6.1什么时候使用b+树索引
5.6.2顺序读、随机读与预读取
5.6.3辅助索引的优化使用
5.6.4联合索引
5.7 哈希算法
5.7.1哈希表
5.7.2 innodb存储引擎中的哈希算法
5.7.3自适应哈希索引
5.8 小结
第6章 锁
6.1 什么是锁
6.2 innodb存储引擎中的锁
6.2.1锁的类型
6.2.2一致性的非锁定读操作
6.2.3 selectforupdp/te&selectlockinsharemode
6.2.4自增长和锁
6.2.5外键和锁
6.3 锁的算法
6.4 锁问题
6.4.1丢失更新
6.4.2脏读
6.4.3不可重复读
6.5 阻塞
6.6 死锁
6.7 锁升级
6.8 小结
第7章 事务
7.1 事务概述
7.2 事务的实现
7.2.1 redo
7.2.2 undo
7.3 事务控制语句
7.4 隐式提交的sql语句
7.5 对于事务操作的统计
7.6 事务的隔离级别
7.7 分布式事务
7.8 不好的事务习惯
7.8.1在循环中提交
7.8.2使用自动提交
7.8.3使用自动回滚
7.9 小结
第8章 备份与恢复
第9章 性能调优
第10章 innodb存储引擎源代码的编译

⑸ mysql选择哪个存储引擎比较合适

以前可能myiasm、innodb、ndb这三种比较多
8.0版本后myiasm被拿掉了

⑹ mysql集群ndb和drdb那个比较好一些,我数据日访问量500w数据,数据达到T级别。哪位高手可以指导一下。

比较:

ndb是一种存储引擎,通常在mysql cluster中使用,MySQL Cluster 是一个基于NDB Cluster 存储引擎的完整的分布式数据库系统。
和Oracle Real Cluster Application 不太一样的是,MySQL Cluster 是一个Share Nothing 的架构
各个MySQLServer 之间并不共享任何数据,高度可扩展以及高度可用方面的突出表现是其最大的特色。
目前还是MySQL 家族中的一个新兴产品
优势:可用性非常高,性能非常好。每一分数据至少在不同主机上面存在一份拷贝,且
冗余数据拷贝实时同步。
劣势:维护较为复杂,产品还比较新,存在部分bug,目前还不一定适用于比较核心的
线上系统。

drdb是一种数据高可用 数据冗余方案
简单来说,DRBD 其实就是通过网络来实现块设备的数据镜像同步的一款开源Cluster
软件,也被俗称为网络RAID1
优势:软件功能强大,数据在底层快设备级别跨物理主机镜像,且可根据性能和可靠性
要求配置不同级别的同步。IO 操作保持顺序,可满足数据库对数据一致性的苛刻要求。
劣势:非分布式文件系统环境无法支持镜像数据同时可见,性能和可靠性两者相互矛盾,
无法适用于性能和可靠性要求都比较苛刻的环境。维护成本高于MySQL Replication。

初步结论:楼主数据量大,还是超大,如果业务不是特别关键,建议用MySQL Cluster,遇到BUG也为MySQL Cluster提供些问题和建议,一起完善它。

如果业务又很关键,那还要具体分析,为什么要采用集群,是哪里存在瓶颈了,据我所了解,MYSQL如果是关键业务,数据量又大,访问量也大,今后还会更大,可能无限制增长,那还是从数据分割上下手。如果只是量大,但增长不会长期,那把服务器性能提升下得了,同时对数据库优化参数多研究下。硬件主要是CPU能力、内存大小,磁盘性能,磁盘做RAID10或RAID50是最好的,不要做RAID5或RAID1。

⑺ mysql到底用哪一款存储引擎

myisam、innodb、heap(memory)、ndb
貌似一般都是使用
innodb的,
mysql的存储引擎包括:myisam、innodb、bdb、memory、merge、example、ndbcluster、archive、csv、blackhole、federated等,其中innodb和bdb提供事务安全表,其他存储引擎都是非事务安全表。
最常使用的2种存储引擎:
1.myisam是mysql的默认存储引擎,当create创建新表时,未指定新表的存储引擎时,默认使用myisam。每个myisam在磁盘上存储成三个文件。文件名都和表名相同,扩展名分别是.frm(存储表定义)、.myd(mydata,存储数据)、.myi(myindex,存储索引)。数据文件和索引文件可以放置在不同的目录,平均分布io,获得更快的速度。
2.innodb存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。但是对比myisam的存储引擎,innodb写的处理效率差一些并且会占用更多的磁盘空间以保留数据和索引。

⑻ 谁做过mysql的ndb cluster,求教关于索引的问题

谁做过mysql的ndb cluster,求教关于索引的问题
“NDB” 是一种“内存中”的存储引擎,也是事务型存储引擎,具备ACID属性。
管理(MGM)节点:负责管理MySQL Cluster内的其他节点,如提供配置数据、启动并停止节点、运行备份等。由于这类节点负责管理其他节点的配置,应在启动其他节点之前首先启动这类节点。MGM节点是用命令“ndb_mgmd”启动的。

⑼ Mysql数据库3种存储引擎有什么区别

MySQL常见的三种存储引擎为InnoDB、MyISAM和MEMORY。其区别体现在事务安全、存储限制、空间使用、内存使用、插入数据的速度和对外键的支持。具体如下:

1、事务安全:

InnoDB支持事务安全,MyISAM和MEMORY两个不支持。

2、存储限制:

InnoDB有64TB的存储限制,MyISAM和MEMORY要是具体情况而定。

3、空间使用:

InnoDB对空间使用程度较高,MyISAM和MEMORY对空间使用程度较低。

4、内存使用:

InnoDB和MEMORY对内存使用程度较高,MyISAM对内存使用程度较低。

5、插入数据的速度:

InnoDB插入数据的速度较低,MyISAM和MEMORY插入数据的速度较高。

6、对外键的支持:

InnoDB对外键支持情况较好,MyISAM和MEMORY两个不支持外键。

三种引擎特点如下:

1、InnoDB存储引擎

InnoDB是事务型数据库的首选引擎,支持事务安全表(ACID),其它存储引擎都是非事务安全表,支持行锁定和外键,MySQL5.5以后默认使用InnoDB存储引擎。

InnoDB特点: 支持事务处理,支持外键,支持崩溃修复能力和并发控制。如果需要对事务的完整性要求比较高(比如银行),要求实现并发控制(比如售票),那选择InnoDB有很大的优势。

如果需要频繁的更新、删除操作的数据库,也可以选择InnoDB,因为支持事务的提交(commit)和回滚(rollback)。

2、MyISAM存储引擎

MyISAM基于ISAM存储引擎,并对其进行扩展。它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一。MyISAM拥有较高的插入、查询速度,但不支持事务,不支持外键。

MyISAM特点: 插入数据快,空间和内存使用比较低。如果表主要是用于插入新记录和读出记录,那么选择MyISAM能实现处理高效率。如果应用的完整性、并发性要求比较低,也可以使用

3、MEMORY存储引擎

MEMORY存储引擎将表中的数据存储到内存中,为查询和引用其他表数据提供快速访问。

MEMORY特点: 所有的数据都在内存中,数据的处理速度快,但是安全性不高。如果需要很快的读写速度,对数据的安全性要求较低,可以选择MEMOEY。

它对表的大小有要求,不能建立太大的表。所以,这类数据库只使用在相对较小的数据库表。

(9)ndb存储引擎扩展阅读:

mysql其余不太常见的存储引擎如下:

1、BDB: 源自Berkeley DB,事务型数据库的另一种选择,支持COMMIT和ROLLBACK等其他事务特性

2、Merge :将一定数量的MyISAM表联合而成一个整体,在超大规模数据存储时很有用

3、Archive :非常适合存储大量的独立的,作为历史记录的数据。因为它们不经常被读取。Archive拥有高效的插入速度,但其对查询的支持相对较差

4、Federated: 将不同的Mysql服务器联合起来,逻辑上组成一个完整的数据库。非常适合分布式应用

5、Cluster/NDB :高冗余的存储引擎,用多台数据机器联合提供服务以提高整体性能和安全性。适合数据量大,安全和性能要求高的应用

6、CSV: 逻辑上由逗号分割数据的存储引擎。它会在数据库子目录里为每个数据表创建一个.CSV文件。这是一种普通文本文件,每个数据行占用一个文本行。CSV存储引擎不支持索引。

7、BlackHole :黑洞引擎,写入的任何数据都会消失,一般用于记录binlog做复制的中继

⑽ 什么是NDB文件格式怎样处理

在我们的文档中,术语NDB指的是与存储引擎相关的设置部分,NDB是一种“内存中”存储引擎,它具有可用性高和数据一致性好的特点。

热点内容
交通银行怎么登陆不了密码 发布:2024-05-17 13:54:48 浏览:543
安卓如何自动连接无线 发布:2024-05-17 13:53:51 浏览:262
python的urlparse 发布:2024-05-17 13:44:20 浏览:769
linux命令全称 发布:2024-05-17 12:07:54 浏览:110
ftpnas区别 发布:2024-05-17 12:06:18 浏览:949
512g存储芯片价格 发布:2024-05-17 12:04:48 浏览:963
脚本运行周期 发布:2024-05-17 11:39:09 浏览:809
阿里云服务器怎么配置发信功能 发布:2024-05-17 11:37:24 浏览:313
编程中的变量 发布:2024-05-17 11:33:06 浏览:777
加密视频怎么解密 发布:2024-05-17 11:02:52 浏览:572