RDBMS和HDFS的区别
数据类型
- RDBMS存储结构化的数据,数据的类型都是已知的。例如mysql支持所有SQL数值类型
- 任何类型的数据都可以存放到HDFS中
应用
- RDBMS用于数据的存储,目的是尽可能快速、可靠的存储、检索数据。用于OLTP(联机事务处理)系统
- HDFS运行在硬件上,主要应用于批量数据查询,允许我们以并行的方式处理分布在集群中的数据,不适用低延时的场合。用于OLAP(在线分析)系统
数据存储
- RDBMS支持的写时模式,HDFS支持的是读时模式。
即RDBMS在存储数据时就对数据进行检查,与表结构定义必须匹配才能存储(write),否则就报错。HDFS任何数据都可以存储,在用到这些数据时(read),才会检查。
- HDFS是分布式存储,RDBMS是集中存储。
比如查找数据,HDFS会将任务分成多个任务运行在n个节点上(取决于数据存储到几个节点),如果没有搜索完,也会返回搜索结果。而RDBMS会逐个搜索存储空间,全部遍历,没搜索完,不会返回。
读写速度
- RDBMS读的速度很快,因为所有的数据类型都是已知的
- HDFS写入的速度很快,因为不需要判断数据的类型