2

handlersocket(handlersocket怎么样)

一、简介 Handlersocket是MySQL的一个高性能的索引引擎,由來自日本的DeNA公司开发,该公司利用另一个开源工具Tokyo Tyrant性能并改进它的性能。Handlersocket的特点是,它可以非常有效地支持海量数据的快速定位和高

一、简介

Handlersocket是MySQL的一个高性能的索引引擎,由來自日本的DeNA公司开发,该公司利用另一个开源工具Tokyo Tyrant性能并改进它的性能。Handlersocket的特点是,它可以非常有效地支持海量数据的快速定位和高效读取,这使得它成为在原生读取方面表现最优良的MySQL索引引擎之一.

二、Handler Socket索引结构

Handlersocket索引由主键索引(Primary Index)和附加索引(Secondary Index)组成,它们都由“Field”组成,并由数字或者字符串来索引.

主键索引由表中的主键列组成,可以使用这些索引来定位每一条数据.

附加索引由额外的表字段组成,可以用来定位特定的数据,是主要被用来提高性能.

三、HandlerSocket执行实现

Handlersocket可以利用现有的MySQL架构来实现,只需要在架构上定义一个Handlersocket服务,该服务就可以监听多个客户端发送到服务器的数据请求. 客户端可以给服务器发送以下三种类型的请求:

1、Insert:新增索引数据请求。

2、Find:查找索引数据请求。

3、Update:更新索引数据请求。

服务器收到客户端发送的请求后,会根据请求中的索引要求,会先从内存中的索引引擎中检索,如果需要的数据未找到的话,才会去查询数据库.

四、性能优势

相对于MySQL的传统索引引擎,Handlersocket在某些情况下的性能要比之前成倍提升,它提供了以下性能优势:

1、无需从耗时的磁盘中查询数据,而且不需要复杂的索引即可快速定位原始数据。

2、读取速度大大提高,可以达到仅仅几十个毫秒,几乎与内存访问速度相同,并且即便在每次查询中搜索了大量数据,也不会降低性能。

3、Handlersocket还可以节省大量的磁盘空間,大量的查询操作可以通过简单的内存操作完成,从而节省了磁盘空间.

5、安全性

Handlersocket也是支持索引的安全性,不仅仅包括可以控制用户访问权限,还可以支持可靠性保证以及一致性保证. 这样一来,对于数据安全性的要求也可以得到满足.

一、handlersocket介绍

1.handlersocket 是一个NoSQL(非关系型数据库)数据库插件,是另外一种专为MySQL设计和实现的轻量级针对读写高效和高可用性处理数据库访问方式。它通过在MySQL之上提供一个轻量级网络协议层并且实现一种结构化查询语言,减少了SQL语句读写开销以及极大程度提升读写性能和可靠性。

2.handlersocket主要由2部分组成,第一部分是Client,它是应用程序连接handlersocket服务器的接口, 并提供协议解释和传输数据的接口; 第二部分则是Server side protocol,它是handlersocket协议的实现,内容包括内核根据操作指令处理请求,以及将操作结果发送给客户端的过程。

3.handlersocket的优势:

(1)读写效率高: 通过MySQL内部的C语言函数调用和字段缓存,执行读写操作时减少了 SQL 语句的解释及交互时间,极大程度提升系统读写能力;

(2)可靠性高:客户端发出查询数据操作时, 通过MySQL内置的AOF机制保证可靠性,确保读写安全;

(3)高可用: 可以实现对handlersocket所在库或表进行 分片/ 切片等操作,以满足高可用性需求;

(4)支持多种数据库接口:handlersocket 可以在MySQL, MariaDB, PerconaDB等多种数据库中使用,为开发者提供更多可选路径。

二、handlersocket安装

1.第一步是安装handlersocket服务器插件,在你的MySQL/MariaDB/Percona/或者其他类似系统中安装handlersocket,通过如下SQL查询命令安装:

INSTALL PLUGIN hs_server SONAME 'handlersocket.so';

2.在安装过程中,会在MySQL数据库中创建一个名为handlersocket的新表, 用于保存服务器的配置文件。若handlersocket插件不在MySQL的plugin表中,可以手动将handlersocket.so加载至plugin中。

3.安装完成后,配置handlersocket服务器,这一步涉及到对handlersocket表的配置。可以根据自己的读写要求,针对不同的表/库进行配置, 并为同一数据库分配不同的端口,以提高操作性能。

4.最后,安装客户端程序,除了可以使用handlersocket连接MySQL之外,还可以在其他编程语言中安装客户端程序,用来连接handlersocket服务器, 以便实现不同编程语言间的数据交互。

三、handlersocket的使用

1.handlersocket的使用流程:

(1)客户端发出操作命令,经过前面介绍的handlersocket协议,将操作命令传输给handlersocket服务器;

(2)服务器收到操作命令后,将操作传入到MySQL中进行处理;

(3)操作完成后,MySQL将处理结果及返回码传给handlersocket服务器;

(4)服务器对请求操作成功与否进行校验,并将结果传输给客户端;

(5)客户端接收到返回结果后,进行显示处理,完成操作。

2.如何使用handlersocket:

(1)编写客户端应用程序,如使用Node.js编写, 可以引入hsoocket插件将handlersocket与MySQL连接;

本文来自网络,不代表本站立场。转载请注明出处: https://tj.jiuquan.cc/a-2466676/
1
上一篇苹果回应夸大续航(苹果续航能力)
下一篇 金山重装高手(金山重装高手错误代码0xa8050004)

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: alzn66@foxmail.com

关注微信

微信扫一扫关注我们

返回顶部