Egg是一个能够为非结构化文档提供高效索引及检索服务的高性能,可扩展,并支持分布式存贮的非关系型数据库。
Egg是一个能够为非结构化文档提供高效索引及检索服务的高性能,可扩展,并支持分布式存贮的非关系型数据库。
Egg为了实现非结构化数据的存贮,没有使用关系型数据库模型(RDBM);与关系型数据模型的区别在于,没有了关系(Relation),取而代之的是集合(Collection);没有了(Tuple),取而代之的是实体(Entity);没有了属性(Attribute),取而代之的是(Field)。与以往的某些文档数据库(Document-oriented database)不同的是,Egg并不是架设在关系型数据库之上的表现形式的转换层,Egg自身实现了针对非结构化数据特点的存贮结构。
Egg非结构化数据库的一大特点,就是动态域查询。动态域查询缘于非结构化数据库,不同于关系型数据库,不具备一个明确的方案(Schema)。非关系型数据,根据文档的内容,可以产生不同的域(Field)。使用者可以使用任何条件(Criteria)获得需要的数据。
通过关键词对文档的内容进行检索是Egg最重要的一个功能。Egg支持任意个关键词以与、或、非为组合条件对文档的内容进行检索,并对检索结果中匹配的关键词进行高亮显示,同时对检索结果按照与检索条件的相关程度进行排序,保证了最有价值的文档出现在搜索结果的顶部。
Egg支持多种查询对象,查询可以用条件(Criteria)对象表达,也可以使用类SQL语法的表达式(Expression)表达。
Egg的查询条件,包含了对指定域中的特征进行与、或、非的操作。特征根据数据类型的不同,而使用不同的分析器,会有不同形态体现出来。最常见的文本特征为,关键词,语法,词性等。
Egg支持对查询的结果集进行限定。这些限定包括:
Egg支持对输入的检索条件进行实时提示及纠错。搜索提示可支持多种文字,包括拼音提示。搜索纠错可实现词组,热门词,同音词等纠错方式。
Egg提供自然语言处理接口,通过插件的方式实现自然语言处理功能,目前内置支持对汉语、英语的处理,能够实现分词,词性标注等文档检索所必需的功能。
Egg通过提供C/S接口,提供远程访问能力。
Egg是一个面向互联网级别的非关系型数据库,因此在灾难情况发生后,如何保证数据恢复以及数据的完整性,是Egg面临的一个重要的问题。Egg在存贮数据的同时,同商用关系型数据库一样,引了了日志机制,保证了当灾难情况发生后,同样可以保证数据是可以恢复的。
Egg的eggClusters模块,可以实现存贮空间的横向扩展。当spider采集的网页数量随着时间的增长不断增多,egg可以像web server和app server那样通过简单的添加更多的硬件和服务节点来扩展性能和负载能力
Egg的RWS(Read/Write Splitting)模块,将多台机器进行主从划分,先对"主"机器组进行数据写入,再将数据同步到"从"机器组,使得两组机器写入操作交替进行,在一方机器写入时另外一方负责处理读申请,从而将读写压力分离开来。
地址:上海市浦东新区东方路2981号东方金融园4C
版权所有 © 2010 上海埃帕信息科技有限公司
TEL:021-33848989 FAX:021-33848989 转 818