数据库介绍

1、数据库是什么?

数据库(database)就是一个存放数据的仓库,这个仓库是按照一定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来组织、存储的,我们可以通过数据提供的多种方法来管理数据库里的数据。

2、数据库的种类?

   
数据库一般分为层次式数据库、网络式数据库与关系式数据库三栽。而各异之数据库是依不同的数据结构来维系以及团队的。

若是以如今之互联网中,最普遍的数据库模型主要是少数种植,即涉项目数据库暨非关系型数据库

2.1、关系项目数据库介绍?

(1)、关系项目数据库的缘故

   
虽然网状数据库与层次数据库已经大好的解决了数量的汇集与共享问题,但是以数据库独立性和架空级别达到弃来格外特别欠缺。用户在针对就片种数据库进行存取时,仍然要肯定数量的储存结构,指出存取路径。而涉嫌项目数据库就可以较好之解决这些题目。

(2)、关系项目数据库介绍

 
关系项目数据库模型是将复杂的数据结构归结为简易的二元关系(即二维表格形式)。在干项目数据库被,对数据的操作几乎任何成立于一个还是多独涉表格上,通过对这些涉嫌的表格分类、合并、连接要选择等运算来实现数据库的田间管理。

 
关系项目数据库诞生40多年了,从理论出向上到实际产品,例如:Oracle和MySQL,Oracle在数据库领域上升及霸主地位,形成每年高臻数百亿美元的大产业市场。

(3)、常用的关系项目数据库

     
oracle;Mysql;MariaDB;sqlserver;Access;

     【

 Oracle数据库

ORACLE数据库系统凡美国ORACLE公司(甲骨文)提供的盖分布式数据库也核心之同一组软件出品,是目前太流行的客户/服务器(CLIENT/SERVER)或B/S系统布局的数据库有。比如SilverStream就是冲数据库的同等种植中件。ORACLE数据库是时下世界上利用最常见的数据库管理网,作为一个通用的数据库系统,它具有整体的数据管理职能;作为一个关系数据库,它是一个齐关系的成品;作为分布式数据库她实现了分布式处理效果。但她的具备知识,只要在同样栽机型上上了ORACLE知识,便可知以各种类型的机上运用它。

Oracle数据库最新版本也Oracle Database
12c。Oracle数据库12c 引入了一个新的多承租方架构,使用该架构可轻松部署和保管数据库云。此外,一些翻新特色可太深限度地增强资源使用率和灵活性,如Oracle
Multitenant可快速组合多个数据库,而Automatic Data Optimization和Heat
Map能以重胜的密度压缩数量与对数据分层。这些独一无二的艺进步更添加以可用性、安全性以及雅数据支持方的根本增长,使得Oracle数据库12c 成为私有云和公有云部署之佳平台。

 MySQL数据库

MySQL(发音为”my ess cue el”,不是”my
sequel”)是一种盛开源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统运用最常用的数据库管理语言–结构化查询语言(SQL)进行数据库管理。

由于MySQL是绽放源代码的,因此任何人都得以以General
Public
License的许可下下载并因个性化的得针对那个进展改动。MySQL因为那速、可靠性与适应性而饱受关注。大多数丁且觉着以非待事务成为处理的情状下,MySQL是管制内容尽好的选择。

MySQL这个名字,起源不是老醒目。一个于起影响的传教是,基本指南和大度的库和工具带有前缀“my”已经发出10年以上,而且无论如何,MySQL
AB创始人之一的Monty
Widenius的女吗为My。这半只究竟是啦一个于闹了MySQL这个名字由来仍是个迷,包括开发者在内也不掌握。

MariaDB数据库

MariaDB数据库管理网是MySQL的一个分支,主要由于开源社区在护,采用GPL授权许可。开发此分的来头有是:甲骨文局收购了MySQL后,有以MySQL闭源的秘密风险,因此社区以分段的措施来躲避这个风险。
MariaDB的目的是全兼容MySQL,包括API和指令执行,使的能够轻轻松松变成MySQL的代表替品。在储存引擎方面,使用XtraDB(英语:XtraDB)来取代MySQL的InnoDB。
MariaDB由MySQL的开拓者Michael Widenius(英语:Michael
Widenius)主导开发,他早前都以10亿美元之价位,将好创建的柜MySQL
AB卖于了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权为落入Oracle的手中。MariaDB名称来Michael
Widenius的幼女Maria的讳。

SqlServer数据库

SQL
Server是由于Microsoft开发和放大的关系数据库管理网(DBMS),它最初是由于Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并为1988年推出了第一个OS/2版本。Microsoft
SQL
Server近年来不断更新本,1996年,Microsoft
推出了SQL Server 6.5版本;1998年,SQL Server 7.0版和用户会;SQL
Server
2000凡是Microsoft公司给2000年推出,目前新星版本凡是2012年3月份生产的SQL
SERVER 2012。

Access数据库

Microsoft Office
Access是微软拿数据库引擎的图形用户界面和软件开发工具结束合在一起的一个数据库管住体系。它是微软OFFICE的一个分子,
在连专业版暨再胜似版本的office本中让单独出售。2012年12月4日,最新的微软Office
Access 2013于微软Office 2013里发布,微软Office Access 2010
是前面一个本子。

MS
ACCESS以其和谐的格式将数据存储在基于Access
Jet的数据库引擎里。它还足以一直导入或者链接数据(这些数据存储于另外应用程序和数据库)。

软件开发人员和数据绑架构师可以应用Microsoft
Access开发以软件,“高级用户”可以采用它们来构建软件应据此程序。和其它办公室应用程序一样,ACCESS支持Visual
Basic宏语言,它是一个面向对象的编程语言,可以引用各种对象,包括DAO(数据看对象),ActiveX数据对象,以及众多旁的ActiveX组件。可视对象用于显示表和表格,他们之方与特性是于VBA编程环境下,VBA代码模块可声明与调用Windows操作系统函数。

      】

(4)、不常用的

    DB2,PostgreSQL,Informix,Syase等。

2.2、非关系型数据库

1、 Memcached(key-value)

memcached是一致仿照分布式的快取系统,当初凡Danga
Interactive为了LiveJournal所发展的,但被许多软件(如MediaWiki)所运用。这是一模一样学开源代码软件,以BSD
license授权协议发布。\[1\] 

memcached缺乏认证和安全管理,这意味着理应用memcached服务器放置在防火墙后。[1] 

memcached的API使用32位元的循环冗余校验(CRC-32)计算键值后,将材料分散于不同的机械上。当表格满了后头,接下去新增的材料会坐LRU机制替换掉。由于memcached通常只是当作快取系统采用,所以利用memcached的应用程式在描绘回较迟缓的体系时(像是后端的数据库)需要分外的程式码更新memcached内的材料[1] 

memcached 是以LiveJournal 旗下Danga Interactive 公司之Brad Fitzpatric
为首支的一样舒缓软件。已改为mixi、hatena、Facebook、Vox、LiveJournal等许多服务受到加强Web应用扩展性的重要性元素。许多Web应用还以数据保存到RDBMS惨遭,应用服务器从中读取数据并当浏览器面临显示。但随着数据量的叠加、访问的汇集,就会现出RDBMS的顶加重、数据库响应恶化、网站亮延迟对等主要影响。

此时便该memcached大显身手了。memcached是高性能的分布式内存缓存服务器。一般的运用目的是,通过缓存数据库询问结果,减少数据库访问次数,以加强动态Web应用之快、提高而扩展性。

Memcached 的护理进程(daemon
)是故C写的,但是客户端得就此别样语言来编排,并经memcached协议以及护理进程通信。但是她并无提供冗余(例如,复制该hashmap条目);当有服务器S停止运转或崩溃了,所有存放于S上的键/值对都拿遗失。

Memcached由Danga Interactive开发,其行版本发布让2010年,作者也Anatoly
Vorobey和Brad Fitzpatrick。用于提升LiveJournal .
com访问速度的。LJ每秒动态页面访问量几千潮,用户700万。Memcached将数据库负载大幅度降低,更好之分配资源,更快速访问。

2、Redis(key-value)

redis是一个key-value积存系统。和Memcached类似,它支持存储的value类型相对还多,包括string(字符串)、list(链表)、set(集合)、zset(sorted
set
–有序集合)和hash(哈希类型)。这些数据类型还支持push/pop、add/remove及获得交集并集和差集及重新增长的操作,而且这些操作都是原子性的。在是基础及,redis支持各种不同方法的排序。与memcached一样,为了保证效率,数据还是休息存在内存中。区别之是redis会周期性的拿创新的数量形容副磁盘或者把修改操作写副追加的笔录文件,并且在这基础及贯彻了master-slave(主从)同步。

Redis 是一个胜性能的key-value数据库。
redis的起,很十分程度上了memcached旋即类key/value存储的不足,在部
分场合可以对关系数据库起及非常好的补给作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用十分有益于。\[1\] 

Redis支持中心同步。数据好从主服务器向自由数量之于服务器上共,从服务器可以是涉其他从服务器的主服务器。这使得Redis可尽单层树复制。从盘可以顺便的对准数据开展摹写操作。由于完全实现了揭晓/订阅机制,使得从数据库在其它地方同树时,可订阅一个频道并接收主服务器完整的音讯发布记录。同步对读取操作的可扩展性和多少冗余很有救助。

3、 MongoDB(Document-oriented)

MongoDB是一个因分布式文件存储的数据库。由C++言语编写。旨在为WEB应用提供可扩大的强性能数据存储解决方案。

MongoDB 是一个在于关系数据库以及免关系数据库之间的成品,是非关系数据库当中作用最丰富,最像关系数据库的。他支持的数据结构非常松懈,是近乎json的bson格式,因此可储存比较复杂的数据类型。Mongo最酷的性状是外支持之询问语言很强劲,其语法有点类似于面向对象的询问语言,几乎可兑现类似关系数据库单表查询的绝大部分力量,而且还支持对数据建立索引。

4、Cassandra(Column-oriented)

Cassandra是一个混合型的非关系的数据库,类似于Google的BigTable。其重点力量比Dynamo
(分布式的Key-Value囤系统)更增长,但支持度却不如文档存储MongoDB(介于关系数据库和无关系数据库之间的开源产品,是非关系数据库当中作用最好丰富,最像关系数据库的。支持的数据结构那个松懈,是类似json的bjson格式,因此得以储存比较复杂的数据类型)。Cassandra最初由Facebook开发,后转变成为了开源项目。它是一个网络社交云计算方面佳的数据库。以Amazon专有的一点一滴分布式的Dynamo为底蕴,结合了Google
BigTable基于列族(Column
Family)的数据模型。P2P去中心化的储存。很多上面都可称之为Dynamo
2.0。\[

5、 其他不常用非关系型数据库

    HBase、MemacheDB、BerkeleyDB、Tokyo Cabinet

相关文章