企业里常用的数据库软件有Mysql、PostgreSQL、MicrosoftSQLServer、Oracle数据库、MongoDB。
1、Mysql。
MySQL原本是一个开放源码的关系数据库管理系统,原开发者为瑞典的MySQLAB公司,该公司于2008年被升阳微系统(SunMicrosystems)收购。2009年,甲骨文公司(Oracle)收购升阳微系统公司,MySQL成为Oracle旗下产品。
MySQL由于性能高、成本低、可靠性好,已经成为最流行的开源数据库,因此被广泛地应用在Internet上的中小型网站中。随着MySQL的不断成熟,它也逐渐用于更多大规模网站和应用。
2、PostgreSQL。
PostgreSQL可以说是目前功能最强大、特性最丰富和结构最复杂的开源数据库管理系统,其中有些特性甚至连商业数据库都不具备。这个起源于加州大学伯克利分校的数据库,现已成为一项国际开发项目,并且拥有广泛的用户群,尤其是在海外,目前国内使用者也越来越多。
PostgreSQL基本上算是见证了整个数据库理论和技术的发展历程,由UCB计算机教授MichaelStonebraker于1986年创建。在此之前,Stonebraker教授主导了关系数据库Ingres研究项目,88年,提出了Postgres的第一个原型设计。
MySQL号称是使用最广泛的开源数据库,而PG则被称为功能最强大的开源数据库。
3、MicrosoftSQLServer。
SQLServer是Microsoft开发的一个关系数据库管理系统(RDBMS),现在是世界上最为常用的数据库。SQLServer 现在是包括内置的商务智能工具,以及一系列的分析和报告工具,可以创建数据库、备份、复制、安全性更好以及更多。
SQLServer是一个高度可扩展的产品,可以从一个单一的笔记本电脑上运行的任何东西或以高倍云服务器网络,或在两者之间任何东西。虽然说是“任何东西”,但是仍然要满足相关的软件和硬件的要求。
4、Oracle数据库。
Oracle数据库系统是美国Oracle(甲骨文)公司提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(Client/Server,C/S)或浏览器/服务器(Browser/Server,B/S)体系结构的数据库之一。
Oracle数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。
5、MongoDB
mongoDB是一个介于关系数据库和非关系数据库之间的开源产品,是最接近于关系型数据库的NoSQL数据库。它在轻量级JSON交换基础之上进行了扩展,即称为BSON的方式来描述其无结构化的数据类型。尽管如此它同样可以存储较为复杂的数据类型。
参考资料来源:百度百科——Mysql
参考资料来源:百度百科——PostgreSQL
参考资料来源:百度百科——MicrosoftSQLServer
参考资料来源:百度百科——Oracle数据库
参考资料来源:百度百科——MongoDB
Mongodb和mysql的区别
1.Mongodb简介及优缺点分析
Mongodb是非关系型数据库(nosql ),属于文档型数据库。文档是mongoDB中数据的基本单元,类似关系数据库的行,多个键值对有序地放置在一起便是文档,语法有点类似javascript面向对象的查询语言,它是一个面向集合的,模式自由的文档型数据库。
存储方式:虚拟内存+持久化。
查询语句:是独特的Mongodb的查询方式。
适合场景:事件的记录,内容管理或者博客平台等等。
架构特点:可以通过副本集,以及分片来实现高可用。
数据处理:数据是存储在硬盘上的,只不过需要经常读取的数据会被加载到内存中,将数据存储在物理内存中,从而达到高速读写。
成熟度与广泛度:新兴数据库,成熟度较低,Nosql数据库中最为接近关系型数据库,比较完善的DB之一,适用人群不断在增长。
优点:
快速!在适量级的内存的Mongodb的性能是非常迅速的,它将热数据存储在物理内存中,使得热数据的读写变得十分快。高扩展性,存储的数据格式是json格式!
缺点:
① mongodb不支持事务 *** 作。
② mongodb占用空间过大。
③ 开发文档不是很完全,完善。
2.MySQL优缺点分析
优点:
在不同的引擎上有不同 的存储方式。
查询语句是使用传统的sql语句,拥有较为成熟的体系,成熟度很高。
开源数据库的份额在不断增加,mysql的份额页在持续增长。
缺点:
在海量数据处理的时候效率会显著变慢。
3.Mongodb和MySQL数据库的对比
传统的关系数据库一般由数据库(database)、表(table)、记录(record)三个层次概念组成,MongoDB是由数据库(database)、集合(collection)、文档对象(document)三个层次组成。
MongoDB对于关系型数据库里的表,但是集合中没有列、行和关系概念,这体现了模式自由的特点。
4.MongoDB常用语句
# 连接Mongo数据库,并设置数据存储地址
mongod.exe --dbpath "d:softwareMongoDBServer3.0data"
#-----------------------#1# 数据库
# 查看所有的数据库
show dbs
# 删除当前使用的数据库
db.dropDatabase()
# 使用这个数据库(只有插入数据后完成创建数据库)
use dbt
# 查看当前使用的数据库
db
db.getName()
# 查看当前数据库状态
db.stats()
# 修复当前数据库
db.repairDatabase()
# 从一个数据库复制到另一个数据库
db.copyDatabase("mydb", "temp", "127.0.0.1")
#-----------------------#2# 集合
# 查看当前数据库下所有的集合
show collections
show tables
# 创建名称为coll集合
db.createCollection('coll')
db.createCollection("coll2", {capped:true, autoIndexId:true, size:6142800, max:10000}) # 可选参数
# 查看当前集合状态
db.coll.stats()
# 删除名称为coll集合
db.coll.drop()
#-----------------------#3# 集合数据
# 插入空数据并且直接创建名称为coll集合
db.coll.insert({})
# 插入一个或多个数据
db.coll.insert({name:'tom', age:22})
db.coll.insert([{name:'adam', age:10},{name:'john', age:23}])
# 添加数据(save方法可以修改相同id的数据)
db.coll.save({name:'allen'})
# 删除一个或所有的数据
db.coll.remove({name:'tom'})
db.coll.remove({})
# 删除符合条件的数据中的第一条
db.coll.remove({name:'tom'}, 1)
# 更改数据
db.coll.update({name:'tom', age:22}, {$set:{name:'tom', age:222}})
# 查看数据
db.coll.find()
# 查看一条数据
db.coll.findOne()
db.coll.find({}, {name:1, '_id':0}) # 1表示显示,0表示不显示(find默认显示_id)
# 格式化显示数据,使数据更加清晰明了
db.coll.find().pretty()
# 使用and,or查看数据
db.coll.find({name:'tom', age:22}) # 等同and使用
db.coll.find({$or:[{name:'tom'}, {age:21}]}) # or使用
# *** 作符大于,小于,等于,不等于,大于不等于,小于不等于
db.coll.find({age: {$gt: 22}}) # 大于
db.coll.find({age: {$lt: 22}}) # 大于
db.coll.find({age: 22}) # 等于
db.coll.find({age: {$ne: 22}}) # 不等于
db.coll.find({age: {$gte: 22}}) # 大于等于
db.coll.find({age: {$lte: 22}}) # 小于等于
# 显示从skip之后limit个
db.coll.find().limit(2).skip(1)
#-----------------------# # 用户
# 3.x之后版本添加用户
use admin
db.createUser({user:'nu', pwd:'nu', roles:[{role:'readWrite',db:'admin'}]})
# 用户认证
db.auth("nu", "nu")
# 显示当前所有用户
show users
db.system.users.find()
3.x版本删除用户
db.removeUser('nu') # 不推荐使用,已经废弃
db.dropUser("nu")
# 当前db版本
db.version()
# 当前db的链接机器地址和端口
db.getMongo()
# 备份到备份目录
mongodump
# 从备份目录恢复备份语句。
mongorestore
咱们下期见。
1.MySQL 5作为当今最流行的开放源码数据库之一,MySQL数据库为用户提供了一个相对简单的 解决方案,适用于广泛的应用程序部署,能够降低用户的TCO。MySQL是一个多线程、结构化查询语言(SQL)数据库服务器。MySQL的执行性能高, 运行速度快,容易使用。
MySQL包括以下几个关键优势:
◆ 可靠的性能和服务MySQL向公众提供所有数据库服务器软件的早期版本,都是利用开放源码进行为期几个月的测试之后才发布作为生产之用。
◆ 易于使用和部署MySQL的结构体系易于定制,运行速度快,其独特的多存储引擎结构为企业客户提供了灵活性, 为数据库管理系统带来紧致性和稳定性,易于部署。
◆ 自由获得源码可以随时访问MySQL源代码,其策略确保了自由性,避免锁定某家公司或平台。
◆ 跨平台支持MySQL可用于20多种不同平台,包括主要的Linux系统、Mac OS X、Unix和Windows
◆ 可信赖的开发力量MySQL拥有大量的用户基础,也拥有高素质、有经验的开发团队。
◆ 满足企业需求MySQL结构体系简单易用,运行速度极快,能够处理企业数据库绝大多数的应用需求。
2008年12月8日,Sun Microsystems公司宣布,正式对外提供MySQL 5.1软件 —— 这是全球最受欢迎的开源数据库MySQL的一个极其重要的新版本。MySQL 5.1 GA版现通过以下三种模式提供,以满足不同用户的各种特殊需求:
◆MySQL Community Server —— Sun的MySQL 数据库的免费开源版。这一GPL许可的全功能软件的目标用户是个人技术用户,他不需要商业支持或是享有优惠的机上服务。
◆MySQL Enterprise Server —— 它作为MySQL Enterprise订购的一部分来提供,它最可靠、最安全,提供的是MySQL数据库的最新版本,其目标用户是有法人的IT用户。该模式的订户每月可收 到快速软件升级服务,每个季度可收到带有最新补丁程序的“服务包” —— 还能访问仅供预览的监测工具,享受全天候7*24的生产技术支持。
◆MySQL Embedded Server —— 这是MySQL软件的商业许可模式,让ISV和OEM将一个高速的、占用空间很小的数据库嵌入或打包到他们自己的产品中,而不需要免费的GPL许可。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)