大家都知道分布式存储,但是你了解过分布式搜索吗?

搜索引擎是指根据一定的策略、运用特定的计算机程序从互联网上搜集信息,在对信息进行组织和处理后,为用户提供检索服务,将用户检索相关的信息展示给用户的系统。搜索引擎包括全文索引、目录索引、元搜索引擎、垂直搜索引擎、集合式搜索引擎、门户搜索引擎与免费链接列表等。

搜索引擎是网站建设中针对“用户使用网站的便利性”所提供的必要功能,同时也是“研究网站用户行为的一个有效工具”。高效的站内检索可以让用户快速准确地找到目标信息,从而更有效地促进产品/服务的销售,而且通过对网站访问者搜索行为的深度分析,对于进一步制定更为有效的网络营销策略具有重要价值。

要了解分布式搜索引擎,先了解搜索这个事儿吧,搜索这个技术领域里最入门级别的一个概念就是倒排索引。我们先简单说一下倒排索引是个什么东西。

1、倒排索引是什么

假如说你现在不用搜索引擎,单纯使用数据库来存放和搜索一些数据,比如说放了一些论坛的帖子数据吧,那么这个数据的格式大致如下:

yieldfarming.insure开发者:Azeem Ahmed了大家:9月16日,Yieldfarming.insure开发者发布文章表示,项目创始人Azeem Ahmed了大家,他违背了将竭尽全力对社区保持诚实和透明的承诺,并利用项目的权限提前上线4池赚取了几百万美元。据了解,SAFE代币流通总量是5万枚,项目激励矿工购买其所抵押资产的掩体,并在平台上抵押yNFT(非同质化代币),作为回报,风险承担者将获得SAFE代币。[2020/9/16]

很简单吧,假设有一个id字段标识每个帖子数据,然后title字段是帖子的标题,content字段是帖子的内容。那么这个时候,比如我们要是用数据库来进行搜索包含“汽车”这个关键字的所有帖子,大致SQL如下:

咱们姑且不论这个数据库层面也有支持全文检索的一些特殊索引类型,或者数据库层面是怎么执行的,这个不是本文讨论的重点,你就看看数据库的数据格式以及搜索的方式就好了。但是如果你通过搜索引擎类的技术来存放帖子的内容,他是可以建立倒排索引的。就是说,你把上述的几行数据放到搜索引擎里,这个倒排索引数据大致看起来如下:

喻伟:大家认为矿难来了的时候,才是买矿机挖矿的最佳时间:3月13日下午,在由金色财经独家直播,由嘉楠区块链、算力互联举办的2020矿业新势力AMA上,针对“减半未至,币价率先完成减半指标,现在是否是二级市场抄底比特币或者抄底比特币矿机的最佳时机么?预测什么时候矿业重回春天?”问题,智建芯云创始人喻伟表示,抄底币和抄底矿机,我觉得是两码事。越涨的话越买就是中国人的一种习惯,所以说关于币价这块的话,后面的话。还是会涨回去,只是一个时间上的问题,那么在不影响生活的情况之下,我觉得可以拿着币坚持。这是我对这个币的一个理论,因为长期来看,币价肯定是会涨回去的啊,只是一个时间问题那么。什么时候买这个不好说。但是你觉得对这个币价有信心,你觉得低位的时候你就可以买,这就是很好的一件事情。矿机抄底,我个人认为现在是最好的时期。就是在大家都不挖的时候。低价比较低迷的时候,大家认为矿难来了的时候,这个时候才是买矿机挖矿的最佳时间,这个时候最低谷,都是白菜价,你选择来进行挖矿的话。我觉得这是一个非常好的选择,所以说在低谷选择挖矿。这是让自己最抗风险的买币的方式。关于炒币,然后如果可以的话,我建议大家在低点的时候买矿机挖矿,这个比直接买币要好。[2020/3/13]

所谓的倒排索引,就是把你的数据内容先分词,每句话分成一个一个的关键词,然后记录好每个关键词对应出现在了哪些id标识的数据里。那么你要搜索包含“汽车”关键词的帖子,直接扫描这个倒排索引,在倒排索引里找到“汽车”这个关键词对应的那些数据的id就好了。然后你可以从其他地方根据这几个id找到对应的数据就可以了,这个就是倒排索引的数据格式以及搜索的方式,上面这种利用倒排索引查找数据的方式,也被称之为全文检索。

声音 | 邹均:区块链落到实处 才能让大家真正拥抱区块链:据中证网消息,广电运通区块链科技有限公司CEO、中关村区块链联盟副秘书长邹均近日表示,数字经济时代更多以生产数据为主。发展区块链是为迎接数字经济时代来临做好技术准备,区块链不是一个空的概念,要把它落到实处,给老百姓带来真正的价值,区块链技术才能够得到很快的发展和推广。他表示,区块链是有落地场景的,这些落地场景需和民生结合,给老百姓真正带来实惠,才能让大家真正拥抱区块链。[2018/12/3]

2、分布式搜索引擎理解

其实还是很简单,假如说你现在要存储1TB的数据,那么放在一台机器还是可以的。但是如果你要存储超过10TB,100TB,甚至1000TB的数据呢?你用一台机器放的下吗?当然是放不下的了,你的机器磁盘空间是不够的。大家看一下下面的图:

所以这个时候,你就得用分布式搜索引擎了,也就是要使用多台机器来部署搜索引擎集群。比如说,假设你用Elasticsearch(后面简写为:ES)。现在你总共有3TB的数据,那么你搞3台机器,每台机器上部署一个ES进程,管理那台机器上的1TB数据就可以了。这样不就可以把3TB的数据分散在3台机器上来存储了?这不就是索引数据的分布式存储吗?而且,你在搜索数据的时候,不就可以利用3台机器来对分布式存储后的数据进行搜索了?每台机器上的ES进程不都可以对一部分数据搜索?这不就是分布式的搜索?是的,这就是所谓的分布式搜索引擎:把大量的索引数据拆散成多块,每台机器放一部分,然后利用多台机器对分散之后的数据进行搜索,所有操作全部是分布在多台机器上进行,形成了完整的分布式的架构。同样,我们来看下面的图,直观的感受一下。

行情 | 金色盘面:大家都要看BTC的“脸色”:金色盘面分析:BTC始终不突破趋势线,导致市场开始松动,XRP成为第一个受害者,多头离场带来了5.99%的下跌,而前十五的代币XRM、TRX小幅上涨。提醒投资者理性看待市场波动,做好风控。(登录金色财经APP—发现,查看更多币种的独家点评。)[2018/10/7]

3、shard的数据分片机制

那么这个时候大家考虑一下,比如有一个index,专门存放论坛的帖子,现在论坛的帖子有1亿,占用了1T的磁盘空间,这个还好说。如果这个帖子有10亿,100亿,占用了10TB、甚至100TB的磁盘空间呢?那这个index还能放到一台机器上存储吗?肯定不行的。这个时候,必须得支持这个index的数据分布式存储在多台机器上,利用多台机器的磁盘空间来承载这么大的数据量。

而且,需要保证每台机器上对这个index存储的数据量不要太大,因为控制单台机器上这个index的数量,可以保证他的搜索性能更高。所以就引入一个新的概念:shard数据分片结构、每个index都可以指定创建多少个shard,每个shard就是一个数据分片,会负责存储这个index的一部分数据。

周鸿祎:提出漏洞不是为了打击,区块链行业大家在一条船上:在今日“王峰十问”第十七期对话中,360集团创始人兼CEO周鸿祎表示,360没有立场,是中立,他称,“我们提出任何一个系统的漏洞,都是为了帮助这个系统改善安全性,保证它的安全,不是为了打击它。 ”周鸿祎还表示,区块链这个行业里,大家其实是在一条船上,作为新生事物,某一家不安全会让大家对整个行业产生质疑、失去信心,对行业是不利的。[2018/5/30]

比如说index里有3亿帖子,占据3TB数据。然后这个index你设置了3个shard。那么每个shard就可以包含一个1TB大小的数据分片,每个shard在集群里的一台机器上,这样就形成了利用3台机器来分布式存储一个index的数据的效果了。大家看下面的图:

现在index里的3TB数据分布式存储在了3台机器上,每台机器上有一个shard,每个shard负责管理这个index的其中1TB数据的分片。而且,另外一个好处是,假设我们要对这个index的3TB数据运行一个搜索,是不是可以发送请求到3台机器上去?3台机器上的shard直接可以分布式的并行对一部分数据进行搜索,起到一个分布式搜索的效果,大幅度提升海量数据的搜索性能和吞吐量。

4、Replica多副本数据冗余机制

但是现在有一个问题,假如说3台机器中的其中一台宕机了,此时怎么办呢?是不是这个index的3TB数据的1/3就丢失了?因为上面有1TB的数据分片没了。所以说,还需要为了实现高可用使用Replica多副本数据冗余机制。在Elasticsearch里,就是支持对每个index设置一个replica数量的,也就是每个shard对应的replica副本的数量。比如说你现在一个index有3个shard,你设置对每个shard做1个replica副本,那么此时每个shard都会有一个replicashard。这个初始的shard就是primaryshard,而且primaryshard和replicashard是绝对不会放在一台机器上的,避免一台机器宕机直接一个shard的副本也同时丢失了。我们再来看下面的图,感受一下:

在上述的replica机制下,每个primaryshard都有一个replicashard在别的机器上,任何一台机器宕机,都可以保证数据不会丢失,分布式搜索引擎继续可用。Elasticsearch默认支持每个index是5个primaryshard,每个primaryshard有1个replicashard为副本。

长期以来,集中式系统给我们的生活带来了很多改变。它对我们的日常生活产生了影响,影响了我们如何阅读新闻,我们可以搜索到多少信息,甚至可以影响我们访问的内容。过去几年,区块链技术有了巨大的增长,给一直坚守它的人们带来了希望。但是,垄断使得那些持有他们的公司处于一种强势地位。垄断公司可以随时改变政策,窃取用户数据。更可怕的事情正在发生:丧失数据所有权。

IPSOU(interplanetSearch)是基于IPFS协议的分布式存储和区块链技术的新型搜索引擎,通过关注用户隐私,分散化和搜索效率来构建新的体验。IPSOU允许用户通过加密技术和智能合约控制他们的个人数据.使用IPSOU可以享受无限制和不受审查的浏览,您可以通过该站点发出请求,您可以获取IPFS资源并将其发送回您的计算机和移动设备。

在IPSOU上,用户可以免费搜索IPFS网络文件,并使用IPFS和其他底层协议访问内容,而不需要依赖于集中的服务(和服务器),如谷歌或百度。用户将再次拥有自己的数据,没有广告跟踪,没有针对性的广告,也没有隐私问题。IPSOU使用区块链技术保护隐私。

集中式系统改变我们的生活,但我们对数据的所有权也在逐渐消减,分布式系统带来的应用,会使我们在生活、工作更加隐私、安全、高效、可信。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

银河链

[0:15ms0-2:203ms