国外知名IT技术媒体Jaxenter进行了数据库观点调查,对开发者眼中数据库领域最热门的话题、最热门的数据存储以及处理工具进行统计汇总。调研的目标,是观察 2017 数据库大趋势。Jaxenter 的调查问卷,从询问调查对象对泛数据库领域的兴趣点开始。根据调查结果,数据处理是今年的一大热门主题。如同下面的柱状图,NoSQL 和 SQL 数据库都在调查参与者最受关注话题的前列。 如果我们把对特定选项“感兴趣”和“很感兴趣”的回答数目综合起来,“感兴趣排行榜”的亚军就变得显而易见:NoSQL,对它“感兴趣”和“很感兴趣”的参与调查者占 74.8% 之多。排在第一的是软件架构;排第三,与 NoSQL 几乎并列的是云计算。 哪一个数据库最受关注?调查参与者已决定,PostgreSQL 是数据库中的优胜者。25.3% 的人对它“非常感兴趣”,37.7% 感兴趣。总的来说,有 63% 的被调查者对 PostgreSQL 有兴趣。第二名是 Elasticsearch ,感兴趣总数是 59%。曾经的学生已经逆袭成为了老师——虽然 Elasticsearch 基于 Lucene,后者似乎并没有在 2017 引发太多关注。Lucene/Solr 合在一起才获得了 43.8% 的关注率。当然,这也是一个比较高的数字,但相比 Elasticsearch 的成绩难免黯然失色。 一个相似的趋势在 Apache Spark 和 Hadoop 之间上演。受调查者对 Hadoop 的兴趣(34.8%),远远少于对 Spark 的 53.3%。这部分调查的逆袭“剧情”不止这些。除了几个“青出于蓝而胜于蓝”的例子,NoSQL 的几个数据库之间也产生了摩擦:MongoDB, Cassandra, Redis 和 Neo4J。内存(In-memory)数据网格 Hazelcast 在受关注度上一举超过 CouchDB 和老牌的 Oracle。Microsoft SQL Server 似乎已经被人们遗忘。详细内容请关注本次专辑…… 每隔两年,Canonical就会提供Ubuntu Linux发行版的长期支持(LTS)版本。今年(2017年)是个奇数年,这意味着虽然4月份会推出一款Ubuntu的新版本,但不是每个人都想要升级。 Linux用户有一个方面常常让他们有别于使用Windows的用户和使用Mac的用户:他们花在解决问题或搞清楚如何解决问题上的时间往往要多得多。虽然这对于业余爱好者和发烧友来说很好,但对于工作效率而言并不好。对于需要在笔记本电脑和台式机上处理工作的人来说,稳定性常常比新功能更要紧。 每隔两年,Canonical就会提供Ubuntu Linux发行版的长期支持(LTS)版本。今年(2017年)是个奇数年,这意味着虽然4月份会推出一款Ubuntu的新版本,但不是每个人都想要升级。 长期支持正如其名:该版本有持久的影响力。在免费和开源软件当道的世界,长期支持版本让你最有希望保证持续的功能。以Ubuntu为例,长期支持版本在发布五年后“退役”。按照这种模式,Ubuntu 16.04将由Canonical一直支持到2021年。如果你想继续获得硬件和功能支持,就要在2018年升级到18.04。但即使你明年不升级,PC也会继续获得安全更新版,直到2021年4月。 除此之外,软件开发商构建针对Ubuntu的软件包时,它们往往针对LTS版本。由于Ubuntu的LTS版本更稳定可靠,所以开发商可以更确信自己的软件会按预期的方式运行。更多内容,请关注本次专辑…… 几个星期前,我一个朋友问我:“为什么要关心 Go 语言”? 因为他们知道我热衷于 Go 语言,但他们想知道为什么我认为其他人也应该关心。本文包含三个我认为 Go 是重要的编程语言的原因。个人而言,你和我或许完全有能力在 C 中编写程序,既不会泄漏内存,也不会不安全地重复使用内存。然而,整体上,即使有超过 40 年的经验,用 C 的程序员也无法可靠地这样做。 尽管静态代码分析、valgrind、tsan 以及 “-Werror” 已经存在了几十年,却很少有证据表明这些工具被广泛认可,更不用说广泛采用。总而言之,事实表明,程序员根本无法安全地管理自己的内存。现在是离开 C 的时候了。 Go 不需要程序员直接管理内存,所有内存分配都由语言运行时自行管理,使用前初始化,必要时检查边界。它肯定不是提供这些安全保障的第一个主流语言,Java(1995)可能是该冠军的竞争者。关键是,世界对不安全的编程语言没有胃口,所以人们默认认为,Go 是内存安全的。从 20 世纪 70 年代末,开发人员的时间变得比硬件所耗费的时间更昂贵了。开发人员的生产力是一个不断扩展的话题,但它归结为这一点:你花了多少时间做有用的工作,又有多少时间等待编译器或者失望地迷失在外部代码库中。 有个笑话说 Go 是在等待 C ++ 程序编译时开发的。快速编译是 Go 的一个重要功能,也是吸引新开发人员的关键工具。虽然编译速度仍然是一个永久的战场,但公平地说,在其他语言中需要几分钟的编译,在Go中只需要几秒钟。 |