大数据时代需要哪些数据库技术?
数据库技术的发展实际上取决于互联网发展过程中需求的不断升级。如果数据是小钱钱,那么数据库就好比古代的布袋,皮钱包再到如今的电子钱包。演变就是为了适应需求的变化。总的来说,根据数据库原理的不同,可以分为关系型数据库,NoSQL数据库以及时序数据库。下面就为大家简单介绍下这几类数据库的特点以及应用场景:
关系型数据库
关系型数据库是比较传统的数据库,其中包括SQL Server,Oracle,DB2,MySQL等。关系型数据库是基于行存储的,适合结构化实体的存储,读写性能比较平均,支持复杂条件查询。但对于非结构化数据的存储就有些吃力了。
NoSQL数据库
NoSQL数据库的代表非MongoDB莫属,如今,随着MySQL 8的出现,NoSQL数据库的选择也变得多样起来。NoSQL数据库包括文档型数据库,列存储数据库等。这类数据库很好的支持了非结构化数据的存储,但是部分此类数据库由于其底层实现,读性能相较于写性能来说要优异许多。举个栗子,Google Cloud DataStore是一款文档型数据库,其底层基于列索引的BigTable实现。当插入一个JSON对象时,内部需要很多操作来完成对象的保存,相较于关系型数据库的插入操作要麻烦一些。
时序数据库
时序数据库是一个新兴的概念,目前比较流行有InfluxDB,国内初创公司涛思数据的TDengine也是不错的选择。时序数据库适用于物联网传感器数据的存储以及应用日志收集等场景。通过名字就可以看出该类数据库存储的数据基本都是通过时间戳索引的,因此同样不支持复杂的条件查询。
结语
关系型数据库,NoSQL数据库以及时序数据库的选择取决于要存储的数据类型,应用场景。但在互联网如此发达的今天,还要应对高并发,高可用的挑战。也就有了后来的读写分离,故障转移,读拷贝等技术的出现,同时也诞生了应用缓存Redis,消息队列Kafka等来缓解数据库的压力。在选择数据库时,根据应用场景,数据类型选择最合适的就好。
TIDB了解一下,听说很火,头条美团都在实践
TIDB官网介绍
TiDB 是一款定位于在线事务处理/在线分析处理( HTAP: Hybrid Transactional/Analytical Processing)的融合型数据库产品,实现了一键水平伸缩,强一致性的多副本数据安全,分布式事务,实时 OLAP 等重要特性。同时兼容 MySQL 协议和生态,迁移便捷,运维成本极低。而且重要的他开源分布式数据库,大数据时代不能缺少。
其他数据库
大数据时代其实就是数据的整合分析时代,传统的数据库也是离不开的,例如mysql,还有hadoop等。不过各大厂目前都在研究自己的,例如阿里有单独的研发的。腾讯也是一样。当然头条系的分析速度也应该是自己改过的,不然精准推荐实现不了。
结论
大数据时代,各个大厂都有自己的核心计算分析模型,当然必须是数据量庞大了以后。对于小公司没有那个必要,几台mysql就好了。用tidb也不错。
基本关系型和非关系型数据库都要了解,包括但不限于Oracle,mysql,pgsql,db2,mongodb,redis,memcache,Kafka.大数据相关需要了解Hadoop,这个是基础