mongodb 对比mysql数据存储结构
大数据时代需要哪些数据库技术?
大数据时代需要哪些数据库技术?
数据库技术的发展实际上取决于互联网发展过程中需求的不断升级。如果数据是小钱钱,那么数据库就好比古代的布袋,皮钱包再到如今的电子钱包。演变就是为了适应需求的变化。总的来说,根据数据库原理的不同,可以分为关系型数据库,NoSQL数据库以及时序数据库。下面就为大家简单介绍下这几类数据库的特点以及应用场景:
关系型数据库
关系型数据库是比较传统的数据库,其中包括SQL Server,Oracle,DB2,MySQL等。关系型数据库是基于行存储的,适合结构化实体的存储,读写性能比较平均,支持复杂条件查询。但对于非结构化数据的存储就有些吃力了。
NoSQL数据库
NoSQL数据库的代表非MongoDB莫属,如今,随着MySQL 8的出现,NoSQL数据库的选择也变得多样起来。NoSQL数据库包括文档型数据库,列存储数据库等。这类数据库很好的支持了非结构化数据的存储,但是部分此类数据库由于其底层实现,读性能相较于写性能来说要优异许多。举个栗子,Google Cloud DataStore是一款文档型数据库,其底层基于列索引的BigTable实现。当插入一个JSON对象时,内部需要很多操作来完成对象的保存,相较于关系型数据库的插入操作要麻烦一些。
时序数据库
时序数据库是一个新兴的概念,目前比较流行有InfluxDB,国内初创公司涛思数据的TDengine也是不错的选择。时序数据库适用于物联网传感器数据的存储以及应用日志收集等场景。通过名字就可以看出该类数据库存储的数据基本都是通过时间戳索引的,因此同样不支持复杂的条件查询。
结语
关系型数据库,NoSQL数据库以及时序数据库的选择取决于要存储的数据类型,应用场景。但在互联网如此发达的今天,还要应对高并发,高可用的挑战。也就有了后来的读写分离,故障转移,读拷贝等技术的出现,同时也诞生了应用缓存Redis,消息队列Kafka等来缓解数据库的压力。在选择数据库时,根据应用场景,数据类型选择最合适的就好。
MySQL是什么软件?
题主想问的应该并不是MySQL是什么,而是下面提到的这款软件。
根据“软件界面背景色是黑色的,在上面写MySQL语句,关键字段会用不同颜色显示出来”的描述,据我猜测,应该是来自捷克的软件公司 JetBrains出品的DataGrip,软件界面长这样的:
DataGrip 是 JetBrains 发布的多引擎数据库环境,号称数据库与SQL领域中的瑞士军刀,它支持几乎所有主流的关系数据库产品,如 MySQL 和 PostgreSQL,Microsoft SQL Server 和 Oracle,Sybase,DB2,SQLite,还有 HyperSQL,Apache Derby 和 H2,并且提供了简单易用的界面,开发者上手几乎不会遇到任何困难。
除此之外,目前市场上还有很多数据库客户端,如MySQL WorkBench、Toad、NaviCat、phpMyAdmin、Sequel Pro、SQLWave等等。