全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

分布式数据库,如hadoop、cassandra、mysql集群,主流是采用什么存储技术?

发布时间:2023-10-13 07:52:05
发布人:xqq

一、分布式数据库,如hadoop、cassandra、mysql集群采用的技术

分布式数据库,如hadoop、cassandra、mysql集群,主流采用了DAS存储技术。除了MySQL以外,其他的都是经典的分布式系统。这些分布式系统通常假定任何设备都是不可靠的,算法上会对数据做冗余存储,因此对介质本身的要求相对较低DAS即可。

MySQL相对特殊。一般而言,如果用MySQL,题主要用的是关系数据库,且数据一般是比较重要的,例如存储跟钱有关的数据。此时,存储本身的可靠性就非常重要了。MySQL等数据库系统往往对底层的存储系统有这样一个假定:凡是写入存储系统的数据,都不能丢。换句话说,MySQL与其他几种分布式系统的不同之处在于MySQL假定底层存储是可靠的,而其他几种分布式系统是假定底层存储是不可靠的。因此,为了确保MySQL能够一如既往的正常工作,必须提供可靠的底层存储。那么,商用的NAS和SAN就是一种选择。

这里想再多说一句,其实NAS和SAN描述的只是接口。提供文件系统操作接口的,例如NFS/CIFS,属于NAS。提供块或卷操作接口的,例如iSCSI,属于SAN。如果进一步说下去,NAS和SAN都有可能也是分布式系统,例如HDFS可以说是一种非POSIX标准的NAS,CEPH可以说是一种SAN。

延伸阅读:

二、数据库中的概念

Table:数据库中的表,下文称“table”或者“表”。

Column:表中的各个字段,下文称“column”或者“列”或者“字段”。

Row:表中的各条记录,下文称“row”或者“行”

Index:表中的索引,用户可以建立索引以便加速搜索,但是用户无法直接使用索引,下文称“index”或者“索引”。

View:数据库中的视图,一种由实际的表导出的可视化的表,并不实际存储。

Virtual table:虚拟表是一种表现得像表的对象,从SQL语句的角度看,虚表可以和表或者view一样操作,但是对虚拟表的查询或者修改操作会调用注册在虚拟表上的回调函数,虚拟表机制使程序可以提供类似于SQL的表的接口供SQL语句操作。隐藏在虚拟表下的数据结构可能是内存中的数据,或者通过即时运算得出的结果,或者是磁盘上的文件(比如CSV)。下文称“virtual table”或者“虚拟表”。

Shadow table:FTS(全文搜索)中所使用的每个virtual table,都有3-5个真实的数据库的table(分别名为%_content、%_segdir、%_segment、 %_stat、%_docsize,%是FTS virtual table的名字)来在实现,这些table被称为shadow table。

Trigger:数据库中的触发器,由修改数据库的事件触发的存储过程,下文称“触发器”或者“trigger”。

Schema:SQLite数据库的结构(有哪些table/index/view/trigger,分别有哪些字段),下文称“schema”。

Rowid:rowid是SQLite中的表隐含的一个column,是其内部id,在该表中少数,是SQLite中的元数据。

Statement:SQL语句。

Prepared statement:经过“预备”的SQL语句,所谓“预备”类似编译,可以再多次执行同一语句的时候加速(跳过“预备”过程)。

sqlite_master:sqlite数据库中维护的系统表,该表的b-tree的根页号永远为1,有5个列,分别是类型(table, view, index,trigger,四者之一)、名称、所在表名、根页号、SQL语句。

Journal:日志

Transaction:事务是用户定义的一系列数据库操作,要么全部执行,要么全部不执行。

Magic string:类似“魔数/幻数”,SQLite数据库文件特征头。

Fraction

Auto-vacuum:自动清空

Incremental-vacuum

BLOB:Binary Large OBject

#it技术干货

相关文章

为什么ShardingSphere的数据库读写分离不生效?

为什么ShardingSphere的数据库读写分离不生效?

2023-10-13
python中的fd()是什么意思?

python中的fd()是什么意思?

2023-10-13
搭建一个能和后台数据库进行交互的网页能够自由访问该怎么做?

搭建一个能和后台数据库进行交互的网页能够自由访问该怎么做?

2023-10-13
Linux配置开机自启动执行脚本方法有哪些?

Linux配置开机自启动执行脚本方法有哪些?

2023-10-13

最新文章

常见网络安全面试题:Windows常用的命令有哪些?

常见网络安全面试题:Windows常用的命令有哪些?

2023-10-09
常见网络安全面试题:根据设备告警如何展开排查?

常见网络安全面试题:根据设备告警如何展开排查?

2023-10-09
常见网络安全面试题:mysql加固呢?(数据库加固)

常见网络安全面试题:mysql加固呢?(数据库加固)

2023-10-09
常见网络安全面试题:windows和linux加固?(操作系统加固)

常见网络安全面试题:windows和linux加固?(操作系统加固)

2023-10-09
在线咨询 免费试学 教程领取