宁子默明白,有一些人,仅仅只靠画饼是不能完全说服的。
自己必须拿出完全体来对付这帮同样有梦想的年轻人!
宁子默自信地笑笑,乘着抿一口咖啡的时间在脑子里将峰语搜索的关键技术汇集成册。
把杯子从嘴边拿开的时候,宁子默脑子里有关峰语搜索关键技术的封印,
已然打开!
“说到搜索,人们往往会简单地认为搜索只是抓取爬虫从网络上抓取的结果。但实际上,搜索并没有人们想象的那么简单。”
宁子默将杯子轻轻地放在桌上,笑着扫了三人一眼,细细地解释到:
“我们谈到大数据搜索,其核心一定是体量极大的数据量。这种体量的数据存储、索引和检索,已经不单单是数据库结构能去实现并解决的。
大数据量的数据存储和搜索一定要有对应的文件存储检索系统,它必定是一个面向大规模数据密集型应用的、可伸缩的分布式文件系统。
我们【bg】除了在搜索和爬虫上用心外,最核心的部分还是背后那套围绕在bfs(bg file syste)文件系统的核心技术体。这套系统的设计目标,与许多传统的分布式文件系统有很多相同之处。比如,性能、可伸缩性、可靠性以及可用性。
但bfs的还是以应用负载情况和技术环境的分析为基础着重考虑,不管现在还是将来,bfs和早期的分布式文件系统的设想都有明显的不同。所以我们重新审视了传统文件系统在设计上的折衷选择,衍生出了完全不同的设计思路。
首先,组件失效被认为是常态而不是意外。bfs需要管理成百上千存储机器,同时被相当数量的用户终端机访问。bfs组件的数量和质量导致在事实上,任何给定时间内都有可能发生某些组件无法工作,某些组件无法从它们目前的失效状态中恢复。
当我们遇到过各种各样的问题,比如应用程序bug、操作系统的bug、人为失误,甚至还有硬盘、内存、连接器、网络以及电源失效等造成的问题。所以,持续的监控、错误侦测、灾难冗余以及自动恢复的机制必须集成在gfs中。
其次,以通常的标准衡量,我们的文件非常巨大。数gb文件都可能非常普遍。每个文件通常都包含许多应用程序对象,比如web文档。
当我们未来需要处理快速增长并由数亿个对象构成的、数以tb的数据集时,采用管理数亿个kb大小的小文件的方式是非常不明智的,尽管有些文件系统支持这样的管理方式。因此,设计的假设条件和参数,比如io操作和block的尺寸都需要重新考虑。
第三,绝大部分文件的修改是采用在文件尾部追加数据,而不是覆盖原有数据的方式。对文件的随机写入操作在实际中几乎不存在。一旦写完之后,对文件的操作就只有读,而且通常是按顺序读。