1.数据库应用类型分类:
一般来说,可将数据库的应用类型分为OLTP(OnLine TransactionProcessing ,联机事务处理)和OLAP(OnLine Analysis Processing,联机分析处理)两种。OLTP是传统关系型数据库的主要应用,其主要面向基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。
联机分析处理 (OLAP) 的概念最早是由关系数据库之父E.F.Codd于1993年提出的,他同时提出了关于OLAP的12条准则。OLAP的提出引起了很大的反响,OLAP作为一类产品同联机事务处理 (OLTP) 明显区分开来。
下表列出了OLTP与OLAP之间的比较。
OLTP OLAP
用户 操作人员,低层管理人员 决策人员,高级管理人员
功能 日常操作处理 分析决策
DB 设计 面向应用 面向主题
数据 当前的, 最新的细节的, 二维的分立的 历史的, 聚集的, 多维的集成的, 统一的
存取 读/写数十条记录 读上百万条记录
工作单位 简单的事务 复杂的查询
用户数 上千个 上百个
DB 大小 一般小于500G 大于1TB
2.Mysql常见的存储引擎(Storage Engines)分类:
1).InnoDB存储引擎:支持事务,其设计目标主要面向联机事务处理(OLTP)的应用,特点是行锁设计,支持外键,并支持类似Oracle的非锁定读,即默认不会产生锁.mysql 从5.5.8开始,默认的存储引擎.
2).MyISAM存储引擎:不支持事务,表锁设计,支持全文索引,主要面向一些OLAP数据库应用,是mysql5.5.8以前默认的存储引擎.
3).NDB存储引擎:结构是share nothing的集群架构,其数据全部存放在内存中,因此其主键查找(primary key lookups)速度极快,面向的也是OLTP数据应用类型.
4).Memory存储引擎:数据存储在内存中,数据库发生崩溃,那么所有数据都将消失,非常适合存储OLTP数据库应用中临时数据的临时表,采用哈希索引而非B+树索引.
5).Infobright存储引擎:第三方的存储引擎,特点是存储是按照列而非行的,非常适合OLAP的数据库应用.
6).其它,网易开发的NTSE存储引擎,面向网易内部使用,不支持事务.
3.图形化的SQL查询分析器
1).mysql workbench 开源的,免费的,跨平台的,大多数开发人员使用的,mysql官方提供的,图形化工具,主要功能如下:
SQL查询分析
数据库建模
数据库管理监控
2).navicat for mysql 收费的,跨平台的,非常易用的图形化开发工具,适合小白.
3).toad for mysql ,收费,只支持windows.
4).imysql-front,开源,跨平台,但更新较少.