Ⅰ 如何选择数据库
如何选择数据库
完整的存储进去,完整的取出来,不需要额外的操作。
Nosql 比 RDB 有更强的扩展性,可以充分利用分布式系统来提升读写性能和可靠性。
这不是谁设计好坏的问题,而是跟他们要解决的问题有关:RDB 诞生于互联网萌芽的时代,那时数据的准确、可靠是最重要的,而 NoSQL 诞生于互联网快速发展普及的时代,大数据、分布式、扩展性成了数据库的另一个重要特性。
总结一下:
RDB 首先得是准确、可靠,然后才向更高的“可拓展性”发展;
而 NoSQL 生而分布式,可拓展性强,然后才向更高的“准确性”发展。
NoSQL ,not only SQL,其实就是对那种打破了 RDB 严格事务和关系模型约束的那些数据库的泛指,而随着要解决的问题的不同,又诞生了各种各样的 NoSQL。
首先是“列式数据库”(Column-oriented DBMS),数据量上去了,我们想分析网站用户的年龄分布,简单说,就是你需要对同一个特征进行大数据量的分析统计,于是把原来 RDB 的“按行存储”的范式打破,变成了“按列存储”,比如 HBase;
然后你发现有些数据变动不是很大,但是经常需要被查询, 查询时还要关联很多张表,于是你把这些来自不同表的数据,揉成一个大对象,按 key-value 的格式存起来,比如 Redis;
再后来你需要对博客内容进行相关性搜索,传统 RDB 不支持相关性搜索,最重要的,还是扩展性差,增加机器的带来边际效益有限,于是有了“全文搜索引擎”,比如 Elasticsearch;
除此之外,还有“文档数据库”、“图形数据库”……
没有一种数据库是银弹。
总结
这篇文章的题目是“如何选择数据库”,这是困扰很多人的问题,那么多数据库,到底要选什么好?
可是当你问出这样一个问题时,其实你是在问一种“手段”。我现在要做这样一个需求,用什么数据库可以帮我实现它?
但其实你需要的不只是一种“手段”,因为如果对方甩给你一个冷冰冰的名字,Mysql、Elasticsearch、MongoDB,你肯定会问,凭什么?
你需要的,是一种“解决方案”。如果你需要数据十分严格准确,分毫不差,那我会推荐你采用“事务”和“关系模型”来处理数据;如果你需要数据能够被大量读取和写入,那我会推荐你扩展性强的“分布式”;如果你的数据经常是整个读取、整个更新的,那“关系模型”就没有“文档模型”适合你。
“事务”、“关系模型”、“分布式”、“文档模型”等等,这些就是“解决方案”,知道用什么“解决方案”,用哪个数据库,自然水到渠成。
正如一位大牛说的:
用户不会因为你用了 Mysql 或者 MongoDB 而使用你的软件,毕竟绝大多数用户都不知道 Mysql 和 MongoDB 是什么玩意。
Ⅱ 国内五大论文数据库
国内五大论文数据库如下:
一、中国知网提供的《中国学术期刊(光盘版)》
也称中国期刊全文数据库由清华同方股份有限公司出版。
收录1994年以来国内6 600种期刊,包括了学术期刊于非学术期刊,涵盖理工、农业、医药卫生、文史哲、政治军事与法律、教育与社会科学综合、电子技术与信息科学、经济与管理。
收录的学术期刊同时作为“中国学术期刊综合评价数据库统计源期刊”。
但是收录的期刊不很全面,一些重要期刊未能收录。
二、中国生物医学文献数据库(CBMDISC)
数据库是中国医学科学院信息研究所开发研制,收录了自1978年以来1 600余种中国生物医学期刊。
范围涉及基础医学、临床医学、预防医学、药学、中医学及中药学等生物医学的各个领域。
三、中文生物医学期刊数据库(CMCC)
由中国人民解放军医学图书馆数据库研究部研制开发。
收录了1994年以来国内正式出版发行的生物医学期刊和一些自办发行的生物医学刊物1 000余种的文献题录和文摘。
涉及的主要学科领域有:基础医学、临床医学、预防医学、药学、医学生物学、中医学、中药学、医院管理及医学信息等生物医学的各个领域。
并具有成果查新功能医学全在线
四、万方数据资源系统(China Info)
由中国科技信息研究所,万方数据股份有限公司研制。
该数据库收录的期刊学科范围广,包括了学术期刊于非学术期刊,提供约2 000种的电子期刊的全文检索。
被收录的学术期刊都获得了“中国核心期刊(遴选)数据库来源期刊”的收录证书。
个别期刊甚至将“遴选”改成“精选”,或者干脆去掉。
很多作者因此误以为这就是核心期刊。
五、维普数据库
也称中文科技期刊数据库,维普科技期刊数据库,由中国科学技术信息研究所重庆分所出版。
收录了1989年以来我国自然科学、工程技术、农业科学、医药卫生、经济管理、教育科学和图书情报等学科9 000余种期刊,包括了学术与非学术期刊。
收录期刊数量很大,但不足之处是部分国家新闻出版总署公布的非法期刊也被收录了。
一般的,学术期刊都能进入至少1个国内期刊数据库。
期刊据数据库不是期刊的评价体系,对科研处的期刊性质评价也就缺乏足够的意义,故不宜作为期刊性质评价的依据。
另外还有:
1、万方数据
万方数据提供中国大陆科技期刊检索,是万方数据股份有限公司建立的专业学术知识服务网站。
隶属于万方数据资源系统,对外服务数据由万方数据资源系统统一部署提供。
2、全国报刊索引
收录全国包括港台地区的期刊8000种左右,月报道量在1.8万条以上,年报道量在44万条左右,书本式用户有3500多家,现又出版光盘数据库。
反映了中国政治、经济、军事、科学、文化、文学艺术、历史地理、科技等方面的发展情况,提供了国内外最新学术进展信息。
该索引是我国收录报刊种类最多,内容涉及范围最广,持续出版时间最长,与新文献保持同步发展的权威性检索刊物,也是查找建国以来报刊论文资料最重要的检索工具。
正文采用分类编排,先后采用过《中国人民大学图书分类法》和自编的《报刊资料分类表》,1980年起,仿《中国图书馆图书分类法》分21类编排,1992年全面改用《中国图书资料分类法》(第三版)编排,2000年开始用《中国图书馆分类法》(第四版)标引,计算机编排。
在着录上,《全国报刊索引》从1991年起采用国家标准——《检索期刊条目着录规则》进行着录,包括题名、着译者姓名、报刊名、版本、卷期标识、起止页码、附注等项。
同时,“哲社版”采用电脑编排,增加了“着者索引”、“题中人名分析索引”、“引用报刊一览表”,方便了读者的使用。
3、超星数字图书馆
为目前世界最大的中文在线数字图书馆,提供大量的电子图书资源提供阅读,其中包括文学、经济、计算机等五十余大类,数十万册电子图书,300万篇论文,全文总量4亿余页,数据总量30000GB,大量免费电子图书,并且每天仍在不断的增加与更新。
覆盖范围:涉及哲学、宗教、社科总论、经典理论、民族学、经济学、自然科学总论、计算机等各个学科门类。
本馆已订购67万余册。
收录年限:1977年至今。
4、维普资讯
维普资讯是科学技术部西南信息中心下属的一家大型的专业化数据公司,是中文期刊数据库建设事业的奠基人,公司全称重庆维普资讯有限公司。
目前已经成为中国最大的综合文献数据库。
从1989年开始,一直致力于对海量的报刊数据进行科学严谨的研究、分析,采集、加工等深层次开发和推广应用。
5、中宏数据库
中宏数据库由国家发改委所属的中国宏观经济学会、中宏基金、中国宏观经济信息网、中宏经济研究中心联合研创。
是由18类大库、74类中库组成,涵盖了九十年代以来宏观经济、区域经济、产业经济、金融保险、投资消费、世界经济、政策法规、统计数字、研究报告等方面的详尽内容,是目前国内门类最全,分类最细,容量最大的经济类数据库。
发展现状
在数据库的发展历史上,数据库先后经历了层次数据库、网状数据库和关系数据库等各个阶段的发展,数据库技术在各个方面的快速的发展。特别是关系型数据库已经成为目前数据库产品中最重要的一员,80年代以来,几乎所有的数据库厂商新出的数据库产品都支持关系型数据库,
即使一些非关系数据库产品也几乎都有支持关系数据库的接口。这主要是传统的关系型数据库可以比较好的解决管理和存储关系型数据的问题。随着云计算的发展和大数据时代的到来,关系型数据库越来越无法满足需要,
这主要是由于越来越多的半关系型和非关系型数据需要用数据库进行存储管理,以此同时,分布式技术等新技术的出现也对数据库的技术提出了新的要求,于是越来越多的非关系型数据库就开始出现,这类数据库与传统的关系型数据库在设计和数据结构有了很大的不同,
它们更强调数据库数据的高并发读写和存储大数据,这类数据库一般被称为NoSQL(Not only SQL)数据库。而传统的关系型数据库在一些传统领域依然保持了强大的生命力。
以上内容参考:网络——数据库
Ⅲ 用SQL创建文章发布系统数据库
楼主您好,文章发布系统数据库的创建,首先考虑系统框架(也就是文章中是否含有不同的类别)表1:ID主键自增长(便于统计和计数),文章类别ID(分辨文章所属类别),文章类别名称(前一字段中文名称)(此表可当主表进行后表的延续)表2:ID自增长(计数),文章类别ID,文章类别名称,文章标题,文章内容,发布时间,发布人,是否转载,转载来源,是否显示表3:ID自增长(计数),文章ID,文章标题,评论人名称,评论人ID(根据系统是否含有用户名来判断如果该字段可以为空,如果为空显示为匿名评论),评论时间,评论人IP(可根据个人需要取决是否需要该字段),评论支持数(用于其他用户对此评论的支持数,根据个人需要取决是否需要)大概就是这几张表,如果需要更详细的可与QQ和我联系
Ⅳ MYSQL数据库10M大约能发布多少篇文章多少注册用户
像mysql和mssql这两种数据库,由于事务和日志等等功能的原因,导致实际可用大小远不到10M,估计10M可以放几十到几百个用户和总数几十万字的纯文字内容
。并且随着insert和update等等操作次数的增多,可用空间越来越少!
所以,建议你使用sqlite3,这个是类似access类型的数据库,语法与mysql一样,但是占用的是web空间,无需担心数据库的不足,只要你的web空间够大就行。相关的网站你网络下sqlite就可以找到了,sqlite的管理工具是sqliteman,都是t-sql方式进行操作
Ⅳ 数据库有哪几种
一、关系数据库
关系型数据库,存储的格式可以直观地反映实体间的关系。关系型数据库和常见的表格比较相似,关系型数据库中表与表之间是有很多复杂的关联关系的。
常见的关系型数据库有Mysql,SqlServer等。在轻量或者小型的应用中,使用不同的关系型数据库对系统的性能影响不大,但是在构建大型应用时,则需要根据应用的业务需求和性能需求,选择合适的关系型数据库。
虽然关系型数据库有很多,但是大多数都遵循SQL(结构化查询语言,Structured Query Language)标准。 常见的操作有查询,新增,更新,删除,求和,排序等。
查询语句:SELECT param FROM table WHERE condition 该语句可以理解为从 table 中查询出满足 condition 条件的字段 param。
新增语句:INSERT INTO table (param1,param2,param3) VALUES (value1,value2,value3) 该语句可以理解为向table中的param1,param2,param3字段中分别插入value1,value2,value3。
更新语句:UPDATE table SET param=new_value WHERE condition 该语句可以理解为将满足condition条件的字段param更新为 new_value 值。
删除语句:DELETE FROM table WHERE condition 该语句可以理解为将满足condition条件的数据全部删除。
去重查询:SELECT DISTINCT param FROM table WHERE condition 该语句可以理解为从表table中查询出满足条件condition的字段param,但是param中重复的值只能出现一次。
排序查询:SELECT param FROM table WHERE condition ORDER BY param1该语句可以理解为从表table 中查询出满足condition条件的param,并且要按照param1升序的顺序进行排序。
总体来说, 数据库的SELECT,INSERT,UPDATE,DELETE对应了我们常用的增删改查四种操作。
关系型数据库对于结构化数据的处理更合适,如学生成绩、地址等,这样的数据一般情况下需要使用结构化的查询,例如join,这样的情况下,关系型数据库就会比NoSQL数据库性能更优,而且精确度更高。
由于结构化数据的规模不算太大,数据规模的增长通常也是可预期的,所以针对结构化数据使用关系型数据库更好。关系型数据库十分注意数据操作的事务性、一致性,如果对这方面的要求关系型数据库无疑可以很好的满足。
二、非关系型数据库(NoSQL)
随着近些年技术方向的不断拓展,大量的NoSql数据库如MongoDB、Redis、Memcache出于简化数据库结构、避免冗余、影响性能的表连接、摒弃复杂分布式的目的被设计。
指的是分布式的、非关系型的、不保证遵循ACID原则的数据存储系统。NoSQL数据库技术与CAP理论、一致性哈希算法有密切关系。所谓CAP理论,简单来说就是一个分布式系统不可能满足可用性、一致性与分区容错性这三个要求,一次性满足两种要求是该系统的上限。
而一致性哈希算法则指的是NoSQL数据库在应用过程中,为满足工作需求而在通常情况下产生的一种数据算法,该算法能有效解决工作方面的诸多问题但也存在弊端,即工作完成质量会随着节点的变化而产生波动,当节点过多时,相关工作结果就无法那么准确。
这一问题使整个系统的工作效率受到影响,导致整个数据库系统的数据乱码与出错率大大提高,甚至会出现数据节点的内容迁移,产生错误的代码信息。
但尽管如此,NoSQL数据库技术还是具有非常明显的应用优势,如数据库结构相对简单,在大数据量下的读写性能好;能满足随时存储自定义数据格式需求,非常适用于大数据处理工作。
NoSQL数据库适合追求速度和可扩展性、业务多变的应用场景。
对于非结构化数据的处理更合适,如文章、评论,这些数据如全文搜索、机器学习通常只用于模糊处理,并不需要像结构化数据一样,进行精确查询,而且这类数据的数据规模往往是海量的,数据规模的增长往往也是不可能预期的;
而NoSQL数据库的扩展能力几乎也是无限的,所以NoSQL数据库可以很好的满足这一类数据的存储。
NoSQL数据库利用key-value可以大量的获取大量的非结构化数据,并且数据的获取效率很高,但用它查询结构化数据效果就比较差。
目前NoSQL数据库仍然没有一个统一的标准,它现在有四种大的分类:
1、键值对存储(key-value):代表软件Redis,它的优点能够进行数据的快速查询,而缺点是需要存储数据之间的关系。
2、列存储:代表软件Hbase,它的优点是对数据能快速查询,数据存储的扩展性强。而缺点是数据库的功能有局限性。
3、文档数据库存储:代表软件MongoDB,它的优点是对数据结构要求不特别的严格。而缺点是查询性的性能不好,同时缺少一种统一查询语言。
4、图形数据库存储:代表软件InfoGrid,它的优点可以方便的利用图结构相关算法进行计算。而缺点是要想得到结果必须进行整个图的计算,而且遇到不适合的数据模型时,图形数据库很难使用。
安全
数据库安全涉及保护数据库内容、其所有者和用户的所有各个方面。它的范围从防止有意的未经授权的数据库使用到未经授权的实体(例如,个人或计算机程序)无意的数据库访问。
数据库访问控制涉及控制谁(一个人或某个计算机程序)可以访问数据库中的哪些信息。该信息可以包括特定的数据库对象(例如,记录类型、特定记录、数据结构);
对特定对象的特定计算(例如,查询类型或特定查询),或者使用到前者的特定访问路径(例如,使用特定索引)或其他数据结构来访问信息)。
数据库访问控制由使用专用受保护安全 DBMS 接口的特别授权(由数据库所有者)人员设置。
这可以在个人基础上直接管理,或者通过将个人和特权分配给组,或者(在最复杂的模型中)通过将个人和组分配给角色,然后授予权利。数据安全可防止未经授权的用户查看或更新数据库。使用密码,用户可以访问整个数据库或它的子集,称为“子模式”。
例如,员工数据库可以包含有关单个员工的所有数据,但一组用户可能仅被授权查看工资数据,而其他用户仅被允许访问工作历史和医疗数据。如果 DBMS 提供了一种交互式输入和更新数据库以及查询数据库的方法,则此功能允许管理个人数据库。
数据安全通常涉及保护特定的数据块,包括物理保护(即免受损坏、破坏或移除;例如,参见物理安全),或将它们或它们的一部分解释为有意义的信息(例如,通过查看它们组成的位串,得出特定的有效信用卡号;例如,参见数据加密)。
更改和访问日志记录谁访问了哪些属性、更改了什么以及何时更改。日志服务通过保留访问发生和更改的记录,允许以后进行取证数据库审计。有时应用程序级代码用于记录更改而不是将其留给数据库。可以设置监控以尝试检测安全漏洞。
以上内容参考网络-数据库
Ⅵ 网页开发:文章列表的数据库怎么设计
动态网页只要一个页面就行了。
文章表可以这样设计(因为你的要求简单,就用简单方法)
ID
文章主题
文章内容
作者
发表时间
ID是唯一的。
列表页列出所有的文章,点击每个链接进入文章详情页,用ID查找详细信息并在详情页显示
祝好运,望采纳。