就在今天,全球知名的数据库流行度排行榜网站DB-Engines宣布Snowflake成为了“年度数据库”。
Snowflake属于完全托管的云服务器,它集成了数据仓库、数据集市和数据湖,同时支持数据跨平台分析。年9月,Snowflake成为迄今为止最大的IPO软件公司。
此次Snowflake凭借+5.79分的增长,成功成为了“年度数据库”。
紧随其后的亚*是开源产品PostgreSQL,尽管PostgreSQL与DB-Engines排名中前三名的系统(即Oracle、MySQL和MicrosoftSQLServer)的差距仍然很大,但PostgreSQL正在不断缩小与前三者的差距。
季*则是MongoDB,进一步巩固了其作为最受欢迎的NoSQL系统的地位。
(往年DB-EnginesDBMS年度数据奖获奖名单)
No.1
我们使用的软件中,90%以上的软件都需要操作数据,如游戏、社交、新闻、商城、财务等,这些软件都在不停的展示、存储数据,它们的数据都存储在数据库,数据库是软件的基础。
当今市面上的数据库产品众多,每种数据库都有自己的优势和缺点,或出于数据库的性能和易用性考虑,或出于商用和开源考虑,如何选择自己合适的数据库产品,也是有学问的。
主要的数据库产品有如下几种:
Oracle-作为一种商业性数据库,在事务处理方面有自己独到的优势,功能比较强大,市场占有率也比较高。
Mysql-作为一种开源的轻量级数据库,在开源数据库中比较流行,由于小巧安装方便快捷,经常会用于互联网公司,维护也比较方便。因为开源,使用上比较灵活,mysql还有许多第三方的存储引擎,可以根据自己的需要进行安装。在功能上mysql可能没有oracle强大,但是对于资源的占用非常少,数据恢复快。在维护上,追求稳定的性能和易用性。
Redis-作为一种缓存数据库,对于数据的读写特别快,redis之所以快,是因为它数据放在内存中,但是内存比较贵,另一方面,内存也是有限制的,当内存不够时,就需要使用redis的分布式方案。
另外MongoDB,SQLServer等数据库也是常用的数据库。
如果需要高安全性,海量数据,能承担高昂的成本,可以选择oracle。一般应用的快速查询,高并发访问,一般情况下都可以选择mysql,这也是大部分企业项目都会选择的主流数据库。
No.2
如果你是一名Java程序开发人员,你会发现你所完成的大部分代码逻辑最终都是在不断的与数据库进行交互,数据库相关知识是Java程序开发人员不可回避的。
在学习Java语言基础、JVM、并发/多线程之后,你就会了解到数据结构和算法、计算机网络、数据库、操作系统等知识,这些就构成了编程基础。随后还需要学习研发工具,即集成开发环境、Linux系统、代码管理工具等。
这里我们的后端开发才走了一半,后端还有Spring家族、服务器软件、中间件、数据库连接、搜索引擎等知识,甚至Java开发程序员还需要了解一些前端知识。