1,什么是关系型数据库?什么是非关系型数据库?
,关系型数据库概念:可以理解为一第二维表,每个关系都具有一个关系名,就是通常说的表名,是指爱用了关系模型来组织的数据库
,非关系型数据库:关系型数据库暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展.NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。
2,复述,Memcached和MongoDB优点和局限性?
,,Memcached
,,Memcached的优点:
,,Memcached可以利用多核优势,单实例吞吐量极高,可以达到几十万每秒(取决于键,值的字节大小以及服务,器硬件性能,日常环境中每秒高峰大约在4-6w左右)。适用于最大程度扛量。
,,支持直接配置为会话处理。
,
,,Memcached的局限性:
,,只支持简单的键/值数据结构,不像复述,可以支持丰富的数据类型,
,,无法进行持久化,数据不能备份,只能用于缓存使用,且重启后数据全部丢失。
,,无法进行数据同步,不能将MC中的数据迁移到其他MC实例中。
,,Memcached内存分配采用板分配机制管理内存,价值大小分布差异较大时会造成内存利用率降低,并引,,发低利用率时依然出现踢出等问题。需要用户注重值设计。
,,复述,
,,复述的优点:
,,支持多种数据结构,如字符串(字符串),列表(双向链表),dict(哈希表),设置集(合),zset(排序集),hyperloglog(基数估算)
,,支持持久化操作,可以进行aof及rdb数据持久化到磁盘,从而进行数据备份或数据恢复等操作,较好的防止数据丢失的手段。
,,支持通过复制进行数据复制,通过主从机制,可以实时进行数据的同步复制,支持多级复制和增量复制,主从机制是复述,进行HA的重要手段。
,,单线程请求,所有命令串行执行,并发情况下不需要考虑数据一致性问题。
,,支持pub/sub消息订阅机制,可以用来进行消息订阅与通知。
,,支持简单的事务需求,但业界使用场景很少,并不成熟。
,,复述的局限性:
,,复述,只能使用单线程,性能受限于CPU性能,故单实例CPU最高才可能达到5-6wQPS每秒(取决于数据结构,数据大小以及服务器硬件性能,日常环境中每秒高峰大约在1-2w左右)。
,,支持简单的事务需求,但业界使用场景很少,并不成熟,既是优点也是缺点。
,,复述,在字符串类型上会消耗较多内存,可以使用dict(哈希表)压缩存储以降低内存耗用。
,,Mogodb
,,mogodb是一种文档性的数据库。先解释一下文档的数据库,即可以存放xml、json、bson类型系那个的数据。这些数据具备自述性(自描述),呈现分层的树状数据结构.redis可以用散列存放简单关系型数据。
,,mogodb存放json格式数据。
,,适合场景:事件记录,内容管理或者博客平台,比如评论系统。
3,复述,两种保存快照的方式是什么?他们有什么区别?
,,快照模式和AOF模式
,,快照模式:将数据保存在内存中,再保存到磁盘中,性能高,但是可能会有少量数据丢失
,,AOF模式:性能差,一致性要求高,可以选用这种方法,一般生产环境两种都开
,,
4,什么是主健?什么是外健?什么是索引?索引的优缺点是什么?
,,主健:主关键字(主键,主键)是被挑选出来,作表的行的惟一标识的候选关键字。一个表只有一个主关,,键字。主关键字又可以称为主键,主键可以由一个字段,也可以由多个字段组成,分别成为单字段主键或多字段主键只
,,外健:表的外键就是这个字段是关联着别的表,且是别的表的主键。
,,索引:相当于书中的目录,
,,优点:加快查询表记录的速度
,,缺点:会减慢对表记录的写(插入upadate删除)的速度
,,索引会占用物理磁盘空间
,,db.frm保存表结构
,db。MYD保存表里数据
,db。MYI保存索引信息文件
5,主健,外健的作用是什么?并说明主健特点吗?
,,主健作用:1)保证实体的完整性;,
,,,,,,,2)加快数据库的操作速度,
,,,,,,,3)在表中添加新记录时,访问会自动检查新记录的主键值,不允许该值与其他记录的主键值重,,,,,,,,,,复只
,,,,,,,4)访问自动按主键值的顺序显示表中的记录。如果没有定义主键,则按输入记录的顺序显示表中的,,,,,,,,记录只
,,,,特点:
,,,,,,,1)一个表中只能有一个主键。如果在其他字段上建立主键,则原来的主键就会取消。在访问中,虽,,,,,,,,然主键不是必需的,但最好为每个表都设置一个主键只