一、edb数据库优缺点?
EDB数据库 是易语言使用的数据库,应用范围比较小,不支持其他语音编程,而且 EDB数据库 存储数据量比较小,估计上一二万条基本就非常慢。
二、ebscohost数据库优缺点?
EBSCO是全球最早推出全文数据库在线检索系统的公司之一,提供100 多种全文数据库和二次文献数据库。我校引进的是学术期刊数据库(Academic Search Premier,简称ASP)、商业资源数据(Business Source Premier,简称BSP)两个子库。
Academic Source Premier 提供了近 4,700 种出版物全文,其中包括 3,600 多种同行评审期刊。它为 100 多种期刊提供了可追溯至 1975 年或更早年代的 PDF 过期案卷,并提供了 1000 多个题名的可检索参考文献。学科涉及生物科学、工商经济、资讯科技、人文科学、社会科学、通讯传播、工程、教育、艺术、文学、医药学等领域。
Business Source Premier 是行业中使用最多的商业研究数据库,它提供 2,300 多种期刊的全文,包括 1,100 多种同行评审刊名的全文。Business Source Premier 相比同等数据库的优势在于它对所有商业学科(包括市场营销、管理、MIS、POM、会计、金融和经济)都进行了全文收录。
ebscohost具有特点:
按主题浏览电子图书
用户可选择出借期限
图书的目录预览
笔记记录,引文导出功能
图书全文检索
三、gbase数据库优缺点?
gbase 8a MPP,是国产的一个列式并行数据库。优点:
1、纯列式,每个列在操作系统内,都是单独的文件,你可以看到的,所以检索是势必减少I/O。
2、列式压缩。有很多种压缩方式,如NULL不实际存,只在包头内标注;多行连续一样时,可以只存一次,减小了体积。
3、粗粒度索引。包头上注明了此列包,最大值和最小值是什么,如果你查的东西不在此列,则直接跳过此包。
4、安装、维护极简单。由于不建立在hadoop上,所以虽然是安装在linux上,但即使不会linux的人,看了说明书,5分钟就可上手安装,连ssh都不用配,再5分钟就可安装完毕。因为有粗粒度索引,所以连数据优化工程师都可以免了,比oracle简单太多了。懒人的福音,当然如果懂得原理更多,速度也会有更好的优化。
5、可以建立全文索引!
缺点:
1、只支持哈希索引。
2、sql语句虽然支持的非常丰富,但在复杂查询时,后台的查询语句顺序,不是你想象的那样,甚至出现排序速度比不排序速度快的情况。
3、导入数据较困难。虽然可可以支持kettle,但总体上讲,导入数据还是需要有很多技巧的,上手慢。
四、taos数据库优缺点?
taos数据库优点
a.灵活性和建库的简单性:从软件开发的前景来看,用户与关系数据库编程之间的接口是灵活与友好的。目前在多数RDDMS产品中使用标准查询语言SQL,允许用户几乎毫无差别地从一个产品到另一个产品存取信息。与关系数据库接口的应用软件具有相似的程序访问机制,提供大量标准的数据存取方法。
b.结构简单:从数据建模的前景看,关系数据库具有相当简单的结构(元组),可为用户或程序提供多个复杂的视图。数据库设计和规范化过程也简单易行和易于理解。由于关系数据库的强有力的、多方面的功能,已经有效地支持许多数据库纳应用。
taos数据库缺点
a.数据类型表达能力差:从下一代应用软件的发展角度来看,关系数据库的根本缺陷在于缺乏直接构造与这些应用有关的信息的类型表达能力,缺乏这种能力将产生以下有害的影响,例如:大多数RDBMS产品所采用的简单类型在重构复杂数据的过程中将会出现性能问题;数据库设计过程中的额外复杂性;RDBMS产品和编程语言在数据类型方面的不协调。
五、SCI数据库优缺点?
SCI的数据库的优点:
具有学科全面、学术影响大、覆盖的国家广泛等特点,国际上的科学计量机构及国际组织(如联合国教科文组织及世界银行等)在对国家或科研机构的科研能力及绩效评估工作中,常用SCI的数据库作为统计源。科技论文的发表必须建立在科学论证的基础上,在科技论文后面往往列有多篇参考文献。
SCI对公开发表又被他人引用过的文献建立起的一种独特索引,通过论文间的相互引证与被引证的关系,人们可以通过它追溯某一观点或某一发现的发展过程,它在一定程度上揭示了科学与技术的发展过程。
六、es数据库优缺点?
ElasticSearch最广泛的使用场景,是提供垂直搜索功能。什么是垂直搜索呢?
垂直搜索引擎是针对某一个行业的专业搜索引擎,是搜索引擎的细分和延伸,是对网页库中的某类专门的信息进行一次整合,定向分字段抽取出需要的数据进行处理后再以某种形式返回给用户。垂直搜索是相对通用搜索引擎的信息量大、查询不准确、深度不够等提出来的新的搜索引擎服务模式,通过针对某一特定领域、某一特定人群或某一特定需求提供的有一定价值的信息和相关服务。其特点就是“专、精、深”,且具有行业色彩,相比较通用搜索引擎的海量信息无序化,垂直搜索引擎则显得更加专注、具体和深入。
其实说白了就一句话,垂直搜索是在企业内部使用的搜索引擎。这种搜索引擎的特点是,内容可能是一些结构化的数据,而不像大搜索那样都是杂乱的内容。
一般被拿来解决一些什么样的问题?
数据库字段太多,查询太慢,索引没有办法再做优化;
数据库一个count就拖死全表;
MySQL的limit翻到几十几百万页后实在是太慢;
数据库like实在太慢,每次like整个服务器cpu内存飙高,拖慢整个线上服务;
想要对外/内提供db里的数据的全文检索服务;
提供日志(程序运行)查询功能;
下面来针对上面几方面的问题逐一进行说明。
数据库方面
MySQL对于一些较为固定,字段较少的查询方式,可以通过简单的增加索引来完成优化。在大多数公司,即使对索引优化不熟悉,也有专门的dba来帮忙完成一些简单的优化。甚至有些公司要求程序中不允许出现orm,必须用纯sql来完成业务逻辑,这样dba可以直接介入到代码中来。
不过到字段太多的时候,这种方法就失灵了。字段越多,查询自然就越慢(比如单条记录可能都超过了4k)。
MySQL表在普通查询过程中,比如select * from xxx limit 100w, 100;这种,数据量小的时候随便写sql,可能不会体会到翻页的痛。但在一个单表3000w的系统中写了limit 100w, 10。那数据库服务器就哭了。因为实际上数据库为了取出想要的那几条数据,需要把所有的数据也就是10000010条都取到内存中,复杂一点的select再加上order by则可能会同时涉及到多次磁盘读取和文件排序,慢上加慢。
除此之外,现在最流行的innodb之类的存储引擎在计算count的时候非常的慢。当然了,网络上会有人从乱七八糟的文章里看到换myisam应该就会更快的结论,但这其实是错的。如果在select语句的where条件中也有表达式时,这两种存储引擎本质上都是一样的,都会很慢很慢。
还有MySQL的like,其实没什么玄幻的,每次做like本质还是查询内容去和数据库字段做字符串匹配。非常地慢。
现在一般的互联网系统都是普遍的写少读多的系统,写/读搞不好会有1/5以上。但因为数据量庞大,为了读取效率而去做拆表或者拆库的话,有时候实在是有点得不偿失。而且拆表拆库对业务代码来说也并不透明,还可能会对本来支持的功能造成额外的影响。只是为了查询而去拆分的话,不是很合适。
上面这些问题,ES都可以解决。企业里对数据的查询一般可以分为三种:列表查询、详情查询和统计查询。列表一般就是列表页对应的查询,详情查询一般就是具体id对应的详情查询,而统计查询一般都是在看一些数值之类的报表,也就是一堆count值。
这三种查询里,MySQL做起来最困难的是1和3,即列表查询和统计查询。列表查询这种场景也会对应各种各样的查询条件,例如字段等于/小于/大于/不等判断,或者像字符串的严格匹配/前后缀模糊查询,时间字段的范围查询,in查询等等。这些查询都可以翻译为ES中的bool查询,举一个简单的例子:
例如上面这个es中的bool查询,就是从这种sql翻译过来的:
对应到业务里,常用的查询其实大多数都是这些很简单的条件并列,A && B && C && D。所以翻译起来也比较简单。
单表的count放在ES里做也非常的快,为什么呢?因为ES本身会把单个字段的一种值当作一个term,然后会记录这个term出现的所有文档和出现次数。举个例子,我们公司的业务,可能会去查询某个业务线下的所有工单。那么查询条件就类似于where business_type is 6这样。可能只需要一毫秒就返回了结果。很费解是不是?其实ES也只是去读了一下这个business_type是6的term出现的文档数,逻辑上是很简单的。
这是不是说明ES就是万能的了?
并不是。
首先是翻页的问题,ES里有上亿数据,翻到最后一页的时候还是会比较慢,并且会影响到整个系统的load,然后系统响应变慢。因为其原理还是拿一堆数据来做merge。
从传统的sql思维翻译到es的dsl过程也稍微有点痛苦。因为ES毕竟是从搜索引擎的角度去做这些事情,所以如果当DB来用的话,其DSL设计就显得很别扭。虽然有了上面的转换规则,但实际上业务转换起来并没有这么方便,比如在通常的查询里还可能会有where a = 1 or b = 2。显然想转成DSL就没有这么方便了。
ES不是数据库,所以如果想要实现联表查询也会变得很麻烦。如果还想实现事务,那么还是放弃吧。
在企业里用ES提供查询服务的话,一般都会做一层查询封装。直接提供sql接口。
但插件支持的功能也是有限的,并不是所以的特性都能很好的支持,比如join。所以也有一些公司的人会用druid之类的东西做一个sql parser层,然后来支持这些需求。
不过即使是直接用这种插件,也不能认为它就能一劳永逸,还是需要对ES内部的机制(例如mapping)和通常的查询方式(term/query_string/wild_card等)很了解才行。
比如必须知道wildcard查询必须对字符串字段设置为not_analyzed。还得知道term什么时候代表的是分词后的词,什么时候代表的是整个字段的值。
在了解了这些之后才会了解到ES的高性能like,其实也还是有一些限制。例如输入的字符串会被分词,这也就是说,想要高性能的时候只能用ES默认提供的基于词的字符串like,而且一旦分词,就没办法实现类似sql里的 x= "Hello world"这种准确匹配的逻辑。也就是说,在ES里查询hello world,hello world fuck也会出现在结果当中。不过这个对于大多数的业务来说实际上是无所谓的。
检索服务方面
搜索是人类的自然需求。如果不是的话,那Google和百度就不会诞生了。
而检索/搜索的基本原理就是对语句进行分词,然后再形成倒排索引,再根据词项出现次数对文档进行打分,最终按分数倒序展示给用户。
对于海量数据的公司来说,一个单机的方案很快就会遇到瓶颈,而去寻求或自行开发更好的解决方案。在ES之前solr更流行一些吧,不过solr的配置还是稍微麻烦,而es的集群搭建只要改改yml就好了。
有了ES以后,集群便可以非常方便地进行动态扩展。只要加硬盘加机器改配置就好,因为本身的副本分布策略比较科学。所以只要别一半以上的节点都挂掉,数据就不会丢失。而且还会在某些结点挂掉的时候自动进行分片relocate。
由于ES本身带的分词不是很科学,这样的话对doc打分可能会有一些影响。比如中国人可能不正确地分成了中/国人之类的。现在很多人会选择以插件的形式把ik分词器之类的插件挂载到es上来改善分词效果。这些插件的本质其实还是一个非常庞大的中文词库。内部设计有链接可以直接查看语句的分词结果,可以方便地直接查看效果。
所以要是有几亿的文档需要做些检索,那五六台配置不错的ES机器就足够了,甚至都不用ssd。
日志方面
企业里的系统一般都是分布式系统,所以无论是接入,还是api,还是db,都不太可能在一台机器上完成需求。
对于某一个服务模块来说,多台机器最麻烦的就是去查问题。在没有日志系统的时代,程序员大概只能登陆到机器去一台一台寻找可能的错误日志,然而因为负载均衡算法(比如可能是一致性哈希望/随机/RR/WR)的问题,可能一个用户在一次访问会话(session)中的请求都不是一台而是多台机器完成的响应。
所以日志系统的工作就是把日志汇集到一起,并提供统一的查询入口。
要收集日志一般会自行搭建一个elk平台,elasticsearch/logstash/kibana必不可少。
不过拿来的东西总会有那么一些问题,比如kibana里的按地图出数据默认用的是googlemap,在墙内使会有些问题,这个问题github上也有人已经解决了。再比如logstash这个程序可能只考虑了简单的收集 ,如果是大公司的业务讲究一个严谨。例如想要对日志收集端的资源使用做一些限制,不能随便占用系统资源而影响到业务系统。再比如还希望日志不要因为网络闪断之类的问题导致日志丢失什么的,所以还可能会在logstash后面再加一个kafka/redis。不管怎么说,工作基础还是elk。
日志系统还存在一个问题,因为海量的数据和海量的访问,日志的数据量一般都非常地庞大。所以一般数据都会有一个过期时间,一般来说,日志数据其实一般也就一周或者一个月。毕竟即使是一个边缘部门,一周的日志也都已经几个亿(100+GB)了。
查询起来也不希望太慢,所以还是尽量把日志索引的大小控制在一个范围内。当然,也有按照日期来生成索引的。每一天在一个独立的索引下,这样查询性能也会好一些。
同时又是因为这海量的数据,在写入到ES的时候必须使用bulk端口,相信使用过ES的人都知道使用和不使用分别意味着什么。
七、dna数据库优缺点?
数据库还存在其它巨大的利用价值。比如,可通过数据库来研究DNA形态与某种疾病的对应关系,进而早期预测、预防、精准治疗这种疾病。通过DNA形态分析,可动态监测疾病发生发展规律,指导卫生防疫、医疗资源配备、药物生产等。由于DNA信息具有唯一性,全民DNA数据库将使每个人无法再隐匿其身份,这对社会管理尤其是打击犯罪大有好处。
然而,建立全民DNA数据库也存在巨大的风险。首当其冲的,是信息泄漏的风险。DNA是个人最核心最隐秘的信息,从DNA信息中可以解读出许多个人特征,包括性格、体貌、爱好、潜力、疾病风险等诸多方面。一旦个人DNA信息遭泄露并被不当利用,后果不堪设想。
此外,人类DNA信息的普遍运用,还存在伦理道德方面的风险。譬如,在一个家庭中,当两代人之间存在非亲生关系,在不知情的情况下,这家人可能生活得很幸福,但DNA数据库让人不再“难得糊涂”,反而可能使这些家庭从此变得不幸。DNA信息被窃取后若用于克隆或重组,更会颠覆现有的家庭婚姻等方面的社会秩序,给人类带来伦理危机
八、iris数据库优点缺点?
Iris数据库是一个基于关系型数据库的开源数据库,它的设计目标是支持大规模数据的存储和处理。以下是Iris数据库的优点和缺点:
优点:
1. 支持大规模数据存储和处理:Iris数据库采用了分布式存储和计算的方式,可以支持海量数据的存储和处理,并且可以水平扩展,方便应对数据增长和访问压力。
2. 支持多种数据类型和数据结构:Iris数据库支持多种数据类型和数据结构,包括文本、数值、日期等,并且可以灵活地定义数据结构和索引,提高查询效率。
3. 支持事务和ACID特性:Iris数据库支持事务和ACID特性,保证了数据的一致性和可靠性,可以避免数据丢失和错误。
4. 具有良好的可扩展性和性能表现:Iris数据库采用了分布式存储和计算的方式,可以实现水平扩展和负载均衡,同时具有良好的可扩展性和性能表现。
缺点:
1. 学习曲线较陡峭:Iris数据库是一个相对复杂的数据库系统,需要一定的技术和经验才能够使用和维护。
2. 社区支持和生态系统相对较小:Iris数据库的社区支持和生态系统相对较小,缺乏一些成熟的工具和应用程序,需要开发者自行构建和定制。
3. 缺乏一些高级特性:Iris数据库缺乏一些成熟的高级特性,例如复杂查询优化、数据仓库和BI工具等,需要开发者自行实现或使用其他数据库系统。
九、国产数据库优缺点?
优点就是能够进行一些资料的查询,缺点就是可能还不太完全
十、hana数据库优缺点?
hana数据库的优点:
1. 高速数据处理:由于hana数据库是内存数据库,它的数据访问速度非常快,可以在毫秒级别内查询和分析海量数据。
2. 实时分析:hana数据库支持实时分析和实时应用程序,可以在数据存储过程中进行实时分析和业务处理。
3. 数据压缩:hana数据库支持高度压缩数据,可以减少存储开销并提高性能。
4. 可扩展性:hana数据库可以轻松扩展,支持水平和垂直扩展,并可以在云计算环境中部署。
5. OLTP和OLAP的融合:hana数据库将OLTP和OLAP融合在一起,可以同时支持事务处理和复杂分析查询。
hana数据库的缺点:
1. 成本高昂:hana数据库的使用成本相对较高,需要较高的硬件和软件投资。
2. 可用性:由于hana数据库是内存数据库,如果出现系统故障或断电,可能会导致数据丢失或系统崩溃。
3. 兼容性:hana数据库与其他数据库之间的兼容性不够良好,可能需要进行数据格式转换和数据迁移。
4. 学习和使用成本:hana数据库需要专业技术人员进行维护和管理,并需要一定的学习和使用成本。