数据库有两种类型,分别是关系型数据库与非关系型数据库。
1、关系数据库
包括:MySQL、MariaDB(MySQL的代替品,英文维基百科从MySQL转向MariaDB)、Percona Server(MySQL的代替品)、PostgreSQL、Microsoft Access、Microsoft SQL Server、Google Fusion Tables。
FileMaker、Oracle数据库、Sybase、dBASE、Clipper、FoxPro、foshub。几乎所有的数据库管理系统都配备了一个开放式数据库连接(ODBC)驱动程序,令各个数据库之间得以互相集成。
2、非关系型数据库(NoSQL)
包括:BigTable(Google)、Cassandra、MongoDB、CouchDB、键值(key-value)数据库、Apache Cassandra(为Facebook所使用):高度可扩展、Dynamo、LevelDB(Google)。
扩展资料:
数据库的作用
数据库管理系统是为管理数据库而设计的电脑软件系统,一般具有存储、截取、安全保障、备份等基础功能。
数据库管理系统可以依据它所支持的数据库模型来作分类,例如关系式、XML;或依据所支持的计算机类型来作分类,例如服务器群集、移动电话。
或依据所用查询语言来作分类,例如SQL、XQuery;或依据性能冲量重点来作分类,例如最大规模、最高运行速度;亦或其他的分类方式。不论使用哪种分类方式,一些DBMS能够跨类别,例如,同时支持多种查询语言。
参考资料来源:百度百科--数据库
IBM
老牌大数据企业,从微软时代过来的核心,是全球最大的信息技术和业务解决方案公司。
2 惠普
会最为知名的是它的Vertical分析平台,而且在2012年的营收中排名第二,当之无愧的老牌商业数据库品牌。
3 Teradata
凭借自身硬件和数据库而声名远播。
4 甲骨文
在数据库领域,甲骨文一直都是鼎鼎大名的存在,而且它也是大数据领域最大的几个玩家之一。
5 SPA
在商业数据中,SPA推出了最为知名的HANA内存内数据库
6 EMC
EMC 的主要业务时帮助客户保存并分析大数据,另外也充当着大数据分析智囊营销科学实验室的所在地,它们专门分析营销类数据。
7 Amazon
时至今日,Amazon 已经成为了全球大数据领域当之无愧的王者,这一切源于它的CEO贝索斯的远见与无与伦比的魄力
8 微软
微软在数据方面有着雄厚的实力和强大的野心,它的商业数据业务也在蓬勃发展
9 谷歌
作为全球搜索业务的老大,谷歌旗下的大数据平台凭借其身后的技术积累,成为商业数据领域内一股不可小觑的力量。
10 VMware
VMware向来以云计算虚拟化解决方案著称
1数据量太大,比如上亿,就用oracle,优点上亿数据对Oracle来说轻飘飘的,也不用太多优化配置,缺点安装比较麻烦,上手比较慢。
2数据量较大,比如千万级,用postgresql,它号称对标Oracle,处理千万级数据还是可以的,也是易学易用。
3数据量一般,比如百万级,用mysql,这个级别的数据量mysql处理还是比较快的。
4数据量较小,比如十万以下,sqlite、access都可以。
上面是基于单表 *** 作的数据量,你看着选。
简单易用的数据库哪个比较好?这个要具体看你的用途,如果数据量比较少(10万左右),追求简约简单,免费开源的sqlite就行,如果数据量比较多,考虑到高并发、分布式,可以使用专业的mysql、postgresql,下面我分别简单介绍一下,感兴趣的朋友可以尝试一下:
小巧灵活sqlite这是基于c语言开发的一个轻量级关系型数据库,短小精悍、免费开源,个人使用无需繁琐的配置,只需一个简单的运行库便可直接使用,针对各种编程语言都提供了丰富的API接口, java、 python、c#等都可轻松 *** 作,如果你存储数据量不多,只是本地简单的 *** 作(读多写少),可以使用一下这个数据库,占用内存非常少,轻便灵活,当然,在高并发、数据量大的情况下就不合适了:
专业强大mysql
这是目前应该广泛使用的一个关系型数据库,免费开源跨平台,在信息系统开发方面一直占据着主力位置,如果你从事于web开发或者网站后台建设,那么这个数据库一定非常熟悉,支持高并发、分布式,存储数据量相对于sqlite来说,更多也更安全,索引、触发器、存储过程等功能非常不错,支持数据导入导出、恢复备份,只要你熟悉一下基本使用过程,很快就能掌握和运用:
免费开源postgresql
这是加州大学计算机系开发的一个对象-关系型数据库(自由软件),免费、开源、跨平台,支持流计算、全文检索、图式搜索、并行计算、存储过程、空间数据、K-V类型,相比较mysql来说,在复杂查询、高并发下更稳定、性能更优越,可扩展性、可维护性非常不错,但也有劣势,例如新旧版本不分离存储,没有Coverage index scan等,总体使用效果来说还不错:
当然,除了以上3个数据库,还有许多其他数据库,像mssql、oracle等也都非常不错,对于存储和处理数据来说绰绰有余,只要你熟悉一下基本使用过程,很快就能入门的,网上也有相关教程和资料,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。
最符合初学者理解和入门的是Access,因为它和Excel本来就是一个套件,相互转化容易,复制粘贴即可,非常好理解库、表、字段、键的概念。
如果数据量不大,强烈推荐试试Filemaker,脚本化编程,自由定制输入界面、工作流程,非常便捷高效。
最近杀出来的airtable,更是简单高效,界面美观, *** 作与电子表格相当,发展势头也非常迅猛。
二者侧重点有所不同,用户可根据需要选择
作为一个软件开发人员,长期需要和数据库打交道,个人更加青睐于MySQL。虽然可能基于你的Excel原因,有些人会建议你使用Access数据库,但是基于我个人的 意见,我并不建议你那样做。采用MySql的具体理由如下:
1MySQL具有普遍性,在国内的环境中,绝大多数的互联网企业采用的是MySQL。有了广大的用户基础后,针对于各种问题网上也能更好地找到解决方案。
2MySQL相对于Oracle而言,更加轻量化,针对于从Excel量级的数据,没必要使用Oracle。同时MySQL是完全免费的,不用担心版权及费用问题,无论对个人还是对预算有限的企业而言都是很好的选择。
3MySQL高度兼容标准SQL,这对于以后迁移到其他数据库而言,也能很大程度地降低学习成本。
希望我的回答能够对你有所帮助!!![耶][耶][耶]
Excel办公确实便利,可以做一些简单的数据分析,但涉及大量复杂的数据运算,就会遇到和题主一样的问题,运算速度慢,如果主机性能不是很好,还有可能面临电脑死机,数据丢失等问题。
遇到这种情况,我们该如何解决呢?数据库的重要性显而易见!
现在, 我将用3分钟的时间,与您探讨该选择何种数据库,以及选择它的理由,是否有更优的解决方案呢?
MySQL数据库,90%的企业都会选择它数据库选得好,企业的数据安全,资产安全,也就得到了保障。那么该如何选择数据库呢?这个跟你的业务量和业务服务行业,密不可分。
如果你只是上班打卡,用SQL server就可以了;
如果你要储存会话信息,用户配置信息,购物车数据,建议使用NoSQL数据库;
不过90%的企业或个人,首选数据库都是MySQL数据库。
为什么这么说?因为,它集 低成本、高可用、可靠性强、易用性强、体积小、速度快开放源码 等特性于一身,所以在金融、财务、网站、 数据处理 等应用领域,它占据着独一无二的优势。
这也是几乎所有企业都选择它,来存储数据的原因。
加之MySQL数据库,支持多种存储引擎,支持大型数据库,可以处理成千上万条记录,还提供用于管理、检查、优化数据库 *** 作的工具。
因而,MySQL尤其受个人,以及中小企业的推崇。
虽然MySQL数据库简单易用,但我还是不会部署该怎么办?别担心,现在市面上已经出现了,一种自带数据库的新型办公软件。
比如说,云表企业应用平台,一款兼容excel功能,但功能更为强大的办公软件,它就内嵌了MySQL数据库。 (文末有免费获取方式)
云表内嵌的MySQL数据库,有何优点?1 性能更加优化,更加兼容系统。因为云表的研发人员,时刻更新维护MySQL数据库。
2 省去自己手动部署的麻烦。但如果你熟悉部署数据库,想把数据库改成Oracle或SQL server等数据库,也可以设置。(不过,我建议IT小白还是 “拿来即用” 就好)
3 快速实时计算。数据分析实时交互,完全满足管理决策中的临时性分析,多变的业务需求,以及频繁的结果刷新。
4 通过自带的内存计算引擎,无需事先建立CUBE,IT部门将告别报表延时报表分析,亿级数据秒级响应。
内嵌的MySQL数据库是否可靠云表不仅是一款办公软件,同时还是一款开发工具。
通过它,你将解决以下问题:
复杂的数据运算,精确到行列的权限管控,以及工作流,海量用户同时在线办公,数据透视,制作像销售单,洽谈合同等表单报表,一份制作,即可重复录用
你还可以通过它,与电子称、地磅等进行对接,与用友金蝶等三方系统集成,生成条形码,扫码出入库,生成移动端APP 基本上业务所需的功能,你都可以放心交给它做。
它最大的亮点就是,你可以 用使用excel的手法,用它来开发业务应用。
而且,可视化的 拖拉拽 之后,开发出来的ERP、WMS、OA、进销存等业务应用,还秉承了MySQL数据库增删改查的功能特性。
没错,用云表开发出来的业务应用,是允许二次开发的,而且功能可以随时增删改查,轻松满足大集团精细化的数据控制需求。
不过,大家最关心的应该是数据安全问题吧。
数据存放在云表内嵌的MySQL数据库,是安全不丢失的,它提供了多种数据存储的方式,本地部署,云端部署,混合部署,任君挑选!
正因如此,像 恒逸石化、许继电气、航天科工委、中铁、中冶、云南小松 等大型集团,才鼓励内部员工去学习云表。
篇幅所限,只说到这里,说太多你也不会看。
免费 的软获取方式在下方:
数据库的用处可大着呢,不仅可以实现数据共享,减少数据冗余度,还能实现对数据的集中控制,保持数据的一致性和可维护性。选取简单易用的数据库,你有什么好的建议呢,留言让我们看到噢!
题主强调了简单易用。所以推荐最简单三个。
1Access。
2Excel。
3飞书文档、腾讯文档、石墨文档等的表格。
如果要做分析,数据量才比较大,建议Access,还是专业的更好一些。网上教程也很多,比较容易学。而且建议用早一点的版本,比如2003或者2007,Access这些年微软一直想从office里去掉,奈何用的人还是很多,所以不敢去掉,但是采取了一种比较恶心的方法让用户放弃,就是每发布一个新版本,就去掉一些好用的功能,所以说Access是越早的功能越强。
还一个推荐就是Sql Server Express版本,是SQL Server的免费版本,不要钱,基本功能都有,要比sqllite等强大的多
这要结合你个人实际情况来定,有计算机基础,懂一点数据库的话那么市场上的那些软件都可以用,常用有oracle,sqlserver,mysql等,要上手快还是sqlserver比较快,界面 *** 作也比较直观;如果一点基础都没有,但是又要分析数据的话可以用微软自带的一个access,这个上手比较快。决定用哪一种之后还是要买点教材看,简单的sql查询要会,熟练之后也能提高工作效率。
个人使用数据库的话,只存数据不做分析,SQLite就足够了。
首先明确说明它不是数据库,它没有schema,也没有表,更没有索引。它仅仅是生产消息流、消费消息流而已。从这个角度来说Kafka的确不像数据库,至少不像我们熟知的关系型数据库。
那么到底什么是数据库呢?或者说什么特性使得一个系统可以被称为数据库?经典的教科书是这么说的:数据库是提供 ACID 特性的,即atomicity、consistency、isolation和durability。好了,现在问题演变成了Apache Kafka支持ACID吗?如果它支持,Kafka又是怎么支持的呢?要回答这些问题,我们依次讨论下ACID。
1、持久性(durability)
我们先从最容易的持久性开始说起,因为持久性最容易理解。在80年代持久性指的是把数据写入到磁带中,这是一种很古老的存储设备,现在应该已经绝迹了。目前实现持久性更常见的做法是将数据写入到物理磁盘上,而这也只能实现单机的持久性。当演进到分布式系统时代后,持久性指的是将数据通过备份机制拷贝到多台机器的磁盘上。很多数据库厂商都有自己的分布式系统解决方案,如GreenPlum和Oracle RAC。它们都提供了这种多机备份的持久性。和它们类似,Apache Kafka天然也是支持这种持久性的,它提供的副本机制在实现原理上几乎和数据库厂商的方案是一样的。
2、原子性(atomicity)
数据库中的原子性和多线程领域内的原子性不是一回事。我们知道在Java中有AtomicInteger这样的类能够提供线程安全的整数 *** 作服务,这里的atomicity关心的是在多个线程并发的情况下如何保证正确性的问题。而在数据库领域,原子性关心的是如何应对错误或异常情况,特别是对于事务的处理。如果服务发生故障,之前提交的事务要保证已经持久化,而当前运行的事务要终止(abort),它执行的所有 *** 作都要回滚,最终的状态就好像该事务从未运行过那样。举个实际的例子,
第三个方法是采用基于日志结构的消息队列来实现,比如使用Kafka来做,如下图所示:
在这个架构中app仅仅是向Kafka写入消息,而下面的数据库、cache和index作为独立的consumer消费这个日志——Kafka分区的顺序性保证了app端更新 *** 作的顺序性。如果某个consumer消费速度慢于其他consumer也没关系,毕竟消息依然在Kafka中保存着。总而言之,有了Kafka所有的异质系统都能以相同的顺序应用app端的更新 *** 作,从而实现了数据的最终一致性。这种方法有个专属的名字,叫capture data change,也称CDC。
3、隔离性(isolation)
在传统的关系型数据库中最强的隔离级别通常是指serializability,国内一般翻译成可串行化或串行化。表达的思想就是连接数据库的每个客户端在执行各自的事务时数据库会给它们一个假象:仿佛每个客户端的事务都顺序执行的,即执行完一个事务之后再开始执行下一个事务。其实数据库端同时会处理多个事务,但serializability保证了它们就像单独执行一样。举个例子,在一个论坛系统中,每个新用户都需要注册一个唯一的用户名。一个简单的app实现逻辑大概是这样的:
4、一致性(consistency)
最后说说一致性。按照Kelppmann大神的原话,这是一个很奇怪的属性:在所有ACID特性中,其他三项特性的确属于数据库层面需要实现或保证的,但只有一致性是由用户来保证的。严格来说,它不属于数据库的特性,而应该属于使用数据库的一种方式。坦率说第一次听到这句话时我本人还是有点震惊的,因为从没有往这个方面考虑过,但仔细想想还真是这么回事。比如刚才的注册用户名的例子中我们要求每个用户名是唯一的。这种一致性约束是由我们用户做出的,而不是数据库本身。数据库本身并不关心或并不知道用户名是否应该是唯一的。针对Kafka而言,这种一致性又意味着什么呢?Kelppmann没有具体展开,但我个人认为他应该指的是linearizability、消息顺序之间的一致性以及分布式事务。幸运的是,Kafka的备份机制实现了linearizability和total order broadcast,而且在Kafka 011开始也支持分布式事务了。
大数据量的数据库表设计技巧
即使是一个非常简单的数据库应用系统,它的数据量增加到一定程度也会引起发一系列问题。如果在设计数据库的时候,就提前考虑这些问题,可以避免由于系统反映迟缓而引起的用户抱怨。
技巧1:尽量不要使用代码。比如性别这个字段常见的做法:1代表男,0代表女。这样的做法意味着每一次查询都需要关联代码表。
技巧2:历史数据中所有字段与业务表不要有依赖关系。如保存打印发票的时候,不要只保留单位代码,而应当把单位名称也保存下来。
技巧3:使用中间表。比如职工工资,可以把每一位职工工资的合计保存在一张中间表中,当职工某一工资项目发生变化的时候,同时对中间表的数据做相应更新。
技巧4:使用统计表。需要经常使用的统计数据,生成之后可以用专门的表来保存。
技巧5:分批保存历史数据。历史数据可以分段保存,比如2003年的历史数据保存在 《2003表名》中,而2004年的历史数据则保存在《2004表名》中。
技巧6:把不常用的数据从业务表中移到历史表。比如职工档案表,当某一职工离开公司以后,应该把他的职工档案表中的信息移动到《离职职工档案表》中。
1、经常查询的和不常用的分开几个表,也就是横向切分
2、把不同类型的分成几个表,纵向切分
3、常用联接的建索引
4、服务器放几个硬盘,把数据、日志、索引分盘存放,这样可以提高IO吞吐率
5、用优化器,优化你的查询
6、考虑冗余,这样可以减少连接
7、可以考虑建立统计表,就是实时生成总计表,这样可以避免每次查询都统计一次
8、用极量数据测试一下数据
速度,影响它的因数太多了,且数据量越大越明显。
1、存储将硬盘分成NTFS格式,NTFS比FAT32快,并看你的数据文件大小,1G以上你可以采用多数据库文件,这样可以将存取负载分散到多个物理硬盘或磁盘阵列上。
2、tempdbtempdb也应该被单独的物理硬盘或磁盘阵列上,建议放在RAID0上,这样它的性能最高,不要对它设置最大值让它自动增长
3、日志文件日志文件也应该和数据文件分开在不同的理硬盘或磁盘阵列上,这样也可以提高硬盘I/O性能。
4、分区视图就是将你的数据水平分割在集群服务器上,它适合大规模OLTP,SQL群集上,如果你数据库不是访问特别大不建议使用。
5、簇索引你的表一定有个簇索引,在使用簇索引查询的时候,区块查询是最快的,如用between,应为他是物理连续的,你应该尽量减少对它的updaet,应为这可以使它物理不连续。
6、非簇索引非簇索引与物理顺序无关,设计它时必须有高度的可选择性,可以提高查询速度,但对表update的时候这些非簇索引会影响速度,且占用空间大,如果你愿意用空间和修改时间换取速度可以考虑。
7、索引视图如果在视图上建立索引,那视图的结果集就会被存储起来,对与特定的查询性能可以提高很多,但同样对update语句时它也会严重减低性能,一般用在数据相对稳定的数据仓库中。
8、维护索引你在将索引建好后,定期维护是很重要的,用dbccshowcontig来观察页密度、扫描密度等等,及时用dbccindexdefrag来整理表或视图的索引,在必要的时候用dbccdbreindex来重建索引可以受到良好的效果。
不论你是用几个表1、2、3点都可以提高一定的性能,5、6、8点你是必须做的,至于4、7点看你的需求,我个人是不建议的。
数据库划分
小型数据库:access,foxbase
中型数据库:mysql,sql server,Informix
大型数据库:sysbase,oracle,db2
如何考虑用什么类型的数据库(小型数据库)
1 项目的规模
a 负载量多大,用户多大
b 成本
c 安全性
负载量小 100人内
比如留言板,信息系统 选用小型数据库
成本在千元以内,对安全性要求不高。
中型数据库
比如在负载,日访问量 5000—15000
成本在万元内
比如 电子商务网站
大型数据库
负载可以处理 少量数据库
Sybase < Oracle < db2
安全性能高,价格昂贵
以上就是关于数据库有哪几种全部的内容,包括:数据库有哪几种、全球排名前十商业版数据库有哪些、大学里用什么数据库好等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)