NoSQL(NoSQL = Not Only SQL )
意即"不仅仅是SQL"。
关系数据库管理系统(RDBMS)
1970年 E.F.Codd’s提出的关系模型的论文
“A relational model of data for large shared data banks”,
这使得数据建模和应用程序编程更加简单。
关系模型非常适合于客户服务器编程
它是结构化数据存储在网络和商务应用的主导技术。
关系型数据库遵循ACID规则
事务在英文中是transaction,和现实世界中的交易很类似,
它有如下四个特性:
1、A (Atomicity) 原子性
原子性很容易理解,也就是说事务里的所有操作要么全部做完,要么都不做,
事务成功的条件是事务里的所有操作都成功,只要有一个操作失败,整个事务就失败,需要回滚。
2、C (Consistency) 一致性
一致性也比较容易理解,也就是说数据库要一直处于一致的状态,
事务的运行不会改变数据库原本的一致性约束。
例如现有完整性约束a+b=10,如果一个事务改变了a,那么必须得改变b,
使得事务结束后依然满足a+b=10,否则事务失败。
3、I (Isolation) 独立性
所谓的独立性是指并发的事务之间不会互相影响,
如果一个事务要访问的数据正在被另外一个事务修改,只要另外一个事务未提交,
它所访问的数据就不受未提交事务的影响。
比如现在有个交易是从A账户转100元至B账户,在这个交易还未完成的情况下,
如果此时B查询自己的账户,是看不到新增加的100元的。
4、D (Durability) 持久性
持久性是指一旦事务提交后,它所做的修改将会永久的保存在数据库上,
即使出现宕机也不会丢失。
分布式系统
分布式系统(distributed system)
由多台计算机和通信的软件组件通过计算机网络连接(本地网络或广域网)组成。
分布式系统是建立在网络之上的软件系统。
正是因为软件的特性,所以分布式系统具有高度的内聚性和透明性。
因此,网络和分布式系统之间的区别更多的在于高层软件(特别是操作系统),而不是硬件。
分布式系统可以应用在不同的平台上如:
Pc、工作站、局域网和广域网上等。
分布式计算的优点
- 可靠性(容错) :
分布式计算系统中的一个重要的优点是可靠性。
一台服务器的系统崩溃并不影响到其余的服务器。
- 可扩展性:
在分布式计算系统可以根据需要增加更多的机器。
- 资源共享:
共享数据是必不可少的应用,如银行,预订系统。
- 灵活性:
由于该系统是非常灵活的,它很容易安装,实施和调试新的服务。
- 更快的速度:
分布式计算系统可以有多台计算机的计算能力,使得它比其他系统有更快的处理速度。
- 开放系统:
由于它是开放的系统,本地或者远程都可以访问到该服务。
- 更高的性能:
相较于集中式计算机网络集群可以提供更高的性能(及更好的性价比)。
Mongodb 简介
基于分布式文件存储的数据库。由 C++ 语言编写
为 WEB 应用提供可扩展的高性能数据存储解决方案
介于关系数据库和非关系数据库之间的产品,
是非关系数据库当中功能最丰富,最像关系数据库的
进入mongodb:mongo --port 65521
查看数据库:show dbs
使用数据库:use xunfeng
查看表:show collections
查看表内容(以Config表为例):db.Config.find()
退出:exit
帮助:db.help()
一、删除数据
1.带条件删除
>db.user.remove({
"name":"zhangshan"});
2.删除所有数据
>db.user.remove({
})
3.删除集合
>db.user.drop()
4.删除整个数据库
>show dbs;
>db.user.getDB(