阅读更多

0顶
1踩

数据库

原创新闻 NoSQL— 依然顽强进取的小众

2016-05-03 16:35 by 副主编 mengyidan1988 评论(0) 有5604人浏览
引用
作者: 王翔(Vision Wang),架构师、经济学博士,专注业务创新、企业架构、信息安全和贸易经济。
声明:原创投稿,未经许可,禁止任何形式的转载


近日,InfoWorld的一篇报道对于Garnter的数据库市场分析报告做了解读:数据库市场中甲骨文、微软和IBM依然位列市场份额的前三强,而众多NoSQL虽然在媒体和业内常常占据绝对版面,但似乎“叫好但不够太叫座”——MongoDB、Cassandra、Basho、Couchbase、MarkLogic等凑在一起仅占数据库市场整体的8%左右。

对于NoSQL能否击溃传统关系数据库,市场的评论似乎总是一边倒的乐观,如果非要给这个市场超越加上一个期限,各方主流评论似乎也在越缩越小。但现实是关系数据库和NoSQL在用户眼中越来越像两套产品,如果说早年听了NoSQL的宣传后用户感觉两类数据库的区别就好像烤箱和微波炉、并且很可能最终变成一体机的话,那么现在两者的差别(从用户视角)更像是洗衣机和洗碗机。因此,Gartner的5年统计结果表明,虽然微软、甲骨文、IBM的市场份额互有起落,但总体而言关系数据库三巨头的市场份额变化不大,更多是几家传统品牌之间的“分蛋糕的时候块大块小”的问题,而且5年对于IT这个行业而言已经不算短了;反观NoSQL市场,群雄逐鹿、浩浩荡荡,而且众多NoSQL厂商的开源特质使他们自然获得众多云计算平台(以及相关技术媒体)的热捧,但抛开技术仅从市场角度看,他们的优势成果也正不断被传统关系数据库厂商学习、集成,NoSQL并没有如当年的“The Boston Tea Party”一样迅疾产生巨大影响,但却逐步转变为众多技术团队的技术信仰、精神寄托。

不过,不可否认市场需要NoSQL,很难假设如果没有这批NoSQL数据库,那么今天的数据软件会如何。可能我们关注的重点仍然在如何优化SQL语句、如何购买“贵的吓人”的数据库集群;同时,应用(尤其是手机APP)上的各种媒体信息也难以如此丰富。市场又是冰冷残酷的,大批用户通过自己的“需求选票”把NoSQL供在了“锦上添花”、“业务创新”的高阁。原因不是这些NoSQL产品(,尤其是市场竞争中出现这的几个旗手)的技术问题,关键在于他们能否提供类似的市场支持体验。毕竟对于现阶段大多数用户而言,IT是支持手段,数据库能够满足基本的要求即可,应用而非数据库才是交付业务价值最直接的手段,但面对强大的市场“在位者”,根据Gartner对2015年市场份额估值仅有区区3.23亿美元的几大NoSQL厂商而言阻力太大。这要求NoSQL要适应市场法则,要么尝试提供与传统商用关系数据库产品近似的市场服务体系,要么创造新的应用契机,在全新的“蓝海”继续占领技术“高地”。从实际运营看,NoSQL几大旗手似乎都选择“双线作战”,其效果纵向看确实有效,市场正在被这些后来者“蚕食”。

数据库市场正在上演当年程序语言发展类似的“戏码”,但比起当年Java出世后的效果确实节奏变慢了,这也说明IT行业从懵懂走向成熟。NoSQL已经走过了当初最艰难的过程,丛林竞争中出现了几个具有相当体量的竞争者,他们需要一个契机,需要等待世界经济大环境周期从复苏跨入繁荣的一个过程。同时,NoSQL们也应做好准备,结合市场商业经验准备更多的Total Solution,机会才可能留给他们。

推荐资源
1. InfoWorld
NoSQL chips away at Oracle, IBM, and Microsoft dominance
2. Database Trends and Applications
Accenture and Splunk Partner to Help Organizations Leverage Machine Data for Better Business Outcomes
3. eWeek
Oracle Expands Cloud Services With Acquisition of Textura
来自: CSDN
0
1
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 操作系统实验五、实现系统调用

    这是操作系统实验课上的一个实验内容,本次实验的主要内容为实现一些系统调用,并且设计一个C程序库,封闭getch(),gets(),putch(),puts(),scanf()和printf()等利用系统调用实现的细节,开发一个用户程序,测试这些函数功能。

  • 操作系统的运行机制、中断和异常、系统调用

    系统调用”是操作系统提供给应用程序(程序员/编程人员)使用的接口,可以理解为一种可供应用程序调用的特殊函数,应用程序可以通过系统调用来请求获得操作系统内核的服务。

  • 系统调用的概念和作用

    一、什么是系统调用,有何作用 1.概念 用户接口 命令接口-允许用户直接使用 程序接口-允许用户通过程序间接使用:由一组系统调用组成 系统调用 “系统调用”是操作系统提供给应用程序(程序员/编程人员)使用的接口,可以理解为一种可供应用程序调用的特殊函数,应用程序可以发出系统调用请求来获得操作系统的服务。会使处理器从用户态进入核心态 2.作用 生活场景:你去学校打印店打印论文,当你按下“打印”之后,打印机开始工作。你的论文打印到一半时,另一位同学按下了“打印”按钮开始打印他自己的论文。..

  • 2.4 操作系统的系统调用(详解大佬必备)

    用户程序执行的系统调用指令会触发一个软件中断,这个中断的处理器会在中断描述符表中查找对应的处理程序。系统调用的具体实现和分类可能因操作系统的不同而有所差异,但上述分类提供了一个通用的框架来理解系统调用的类型和用途。操作系统内核会根据系统调用号和传递的参数执行相应的服务。系统调用的实现涉及到用户态和核心态之间的切换,以及操作系统内核对请求的处理。系统调用的实现细节在不同的操作系统和硬件架构中可能会有所不同,但上述步骤提供了一个通用的概览。:内核通常会使用专门的内核栈来处理系统调用,这与用户程序的栈是分开的。

  • 9.4 系统调用的概念和类型

    系统调用是操作系统提供给用户程序的一组编程接口,它们构成了用户程序与操作系统内核之间的接口。系统调用是应用程序获取操作系统服务的唯一途径,对所有应用程序及操作系统自身都是可用的。通过这种分层结构,POSIX标准旨在简化应用程序的开发,使其能够在不同的操作系统平台之间轻松移植,从而促进了软件的广泛应用和开发效率的提高。通过这些系统调用,应用程序能够高效安全地利用操作系统提供的各种资源和服务,实现更复杂的功能和更好的用户体验。通过使用系统调用,应用程序能够以安全、高效的方式利用操作系统提供的资源和服务。

  • 王道考研 2022 操作系统选择题错题第一章

    操作系统---第一章计算机系统概述---选择题错题

  • 认识操作系统 | 理解管理 | 系统调用(System Call)

    每个计算机系统都包含一个基本的程序集合,称之为操作系统(Operator System)本质来说,操作系统也是一个软件(程序集合不就是软件嘛),只不过这个软件比较特殊我们平时所说的操作系统,就比如我们每天都在用的Windows包括什么呢?内核部分,包括进程管理,内存管理,文件管理,驱动管理其他程序(函数库,shell程序等)

  • 什么是系统调用?

    01、 系统调用是什么 系统内核通过包装一些能够实现特定功能的特殊硬件指令和硬件状态,即为内核函数,通过一组称为系统调用(system call)的接口呈现给用户,为系统调用而封装出来的API也达数百个。 为了保护设备,操作系统不可能让所有的程序都能轻松地访问到任何的文件,因此进程在系统上的运行分为2个级别: (1) 用户态(user mode):用户态运行的进程可以直接读取用户程序的数据; (2) 系统态(kernel mode):系统态运行的程序可以访问计算机的任何资源,不受限制;诸如一些修改寄存器内容

  • 【操作系统】系统调用是什么

    01、 系统调用是什么 操作系统提供给程序员的接口就是系统调用。 进程在系统上的运行分为2个级别: (1) 用户态(user mode):用户态运行的进程可以直接读取用户程序的数据; (2) 系统态(kernel mode):系统态运行的程序可以访问计算机的任何资源,不受限制 平常我门的进程几乎都是用户态,读取用户数据,当涉及到系统级别资源的操作(例如文件管理、进程控制、内存管理等)的时候,就要用到系统调用了。 02、 用户态到内核态切换途径 系统调用,中断,异常 03、 CPU响应

  • 操作系统中系统调用的必要性与实现

     前记这段时间的确太忙了,有很长一段时间没有动笔写报告了,这段时间pyos的开发也基本上处与半停滞状态,前两天刚建了一个pyos的cvs(http://pyos.binghua.com),希望已后的开发可以稍微高效一点~~~:)近来没做什么东西,只完成了一个系统调用的实验,言归正传,下面我还是来介绍一下我的这个实验吧。 实验综述与操作系统中系统调用的必要性每一个操作系统都有

  • 操作系统的系统调用是怎么一回事呢?

    为了从操作系统中获得服务,用户程序必须使用系统调用( System Call),系统调用陷入内核并调用操作系统。访管指令把目态切换成管态,并启用操作系统。当有关工作完成之后,在系统调用后面的指令把控制权返回给用户程序。本节介绍系统调用的概念,系统调用的分类,以及系统调用的执行过程。 一、系统调用简介 所谓系统调用,就是用户在程序中调用操作系统所提供的一些子功能。这是一种特殊的过程调用,这种调用...

  • 4.为什么选择系统调用?什么时候使用系统调用操作文件?

    实际上,很多已经被我们习以为常的C语言标准函数,在Linux平台上的实现都是靠系统调用完成的,所以如果想对系统底层的原理作深入的了解,掌握各种系统调用是初步的要求。进一步,若想成为一名Linux下编程高手,也就是我们常说的Hacker,其标志之一也是能对各种系统调用有透彻的了解。 即使除去上面的原因,在平常的编程中你也会发现,在很多情况下,系统调用是实现你的想法的简洁有效的途径,所以有可能的话应...

  • linux下系统调用的实现

    Powered by WP Greet Box WordPress Plugin 原创文章,转载请注明: 转载自pagefault 本文链接地址: linux下系统调用的实现 基本的x86体系下系统调用相关的指令可以看这篇文章。 x86下,最早是使用软中断指令int 0×80来做的,不过现在内核是使用syscall和sysenter指令,只有64位下才会使用syscal

  • 计算机操作系统学习笔记3(系统调用)

    回顾:在前面学的用户接口时,我们学习了两种,一是允许用户直接使用的命令接口,二是允许用户通过程序间接使用的程序接口,而程序接口就是由一组程序调用组成的 “系统调用”是操作系统提供给应用程序(程序员/编程人员)使用的接口,可以理解为一种可供应用程序调用的特殊函数,应用程序可以发出系统调用请求来获得操作系统的服务 问题:为什么需要“系统调用”功能? 在现实生活中,在打印店打印东西,你按下了打印按钮,在你的东西打印到了一半的时候,另外的一个同学页按下了打印按钮,但是最后你们打印的东西没有混在一起,都是按照顺序打印

  • 系统调用概念

    系统调用概念本Markdown编辑器使用[StackEdit][6]修改而来,用它写博客,将会带来全新的体验哦:系统调用是操作系统提供给用户程序调用的接口。用户程序通过接口来获得操作系统内核提供的服务。系统调用可被看成是一个内核与用户空间程序交互的接口——它好比一个中间人,把用户进程的请求传达给内核,待内核把请求处理完毕后再将处理结果送回给用户空间。系统调用的概念涉及到内核态和用户态:内核态:当一个

  • 操作系统—系统调用与内核

    1.系统调用: 操作系统服务之所以通过系统调用的方式供用户使用,其根本原因是对系统进行“保护”。程序的运行空间分为内核空间和用户空间,其程序各自按不同的特权运行,在逻辑上相互 隔离。应用程序不能直接访问内核数据,也无法直接调用内核函数,他们只能在用户空间操纵用户数据,调用用户空间函数。但在很多情况下,应用程序需要获得系统服务,这时就必须利用系统提供给用户的特殊接口--系统调用。 系统调用是应

  • 什么是系统调用?操作系统为什么要提供系统调用?

    系统调用是操作系统的一种接口,允许用户程序访问操作系统的内部服务和资源。系统调用提供了一种方便的机制,使用户程序可以与操作系统进行交互,而无需直接接触操作系统的内部实现细节。 操作系统要提供系统调用是因为,如果每个用户程序都直接访问操作系统的内部服务和资源,将会使操作系统的实现变得更加复杂。通过系统调用接口,操作系统可以将一些复杂的任务委托给内核来完成,并且还可以对用户程序进行更多的控制和管理,从...

  • 什么是系统调用?为什么要用系统调用?

    什么是系统调用? Linux内核中设置了一组用于实现各种系统功能的子程序,称为系统调用。用户可以通过系统调用命令在自己的应用程序中调用它们。从某种角度来看,系统调用和普通的函数调用非常相似。区别仅仅在于,系统调用由操作系统核心提供,运行于核心态;而普通的函数调用由函数库或用户自己提供,运行于用户态。 随Linux核心还提供了一些C语言函数库,这些库对系统调用进行了一些包装和扩展,因为这些库函数...

  • 什么是系统调用?操作系统中为什么要提供系统调用

    系统调用是操作系统中提供给应用程序用来访问操作系统服务和资源的接口。通过系统调用,应用程序可以请求操作系统执行特定的任务,如读写文件、创建进程、申请内存等。 操作系统中提供系统调用是因为,操作系统拥有许多底层资源和服务,如文件系统、网络连接、设备驱动程序等。应用程序需要访问这些资源和服务,但是它们并不能直接使用,因为这些资源和服务都被封装在操作系统内部。系统调用就是提供了一种安全、可控的方式,让应...

  • 操作系统系统调用

    由操作系统向应用程序提供的程序接口信息,本质上就是应用程序与操作系统之间交互的接口。操作系统的主要功能是为了管理硬件资源和为应用软件的开发人员提供一个良好的环境,使得应用程序具有更好的兼容性,为了达到这个目的,内核提供一套统一的具有一定功能的内核接口函数,称为系统调用\系统函数,以C语言函数的格式提供给用户操作系统负责把应用程序的请求传给内核,由内核调用具体内核功能完成所需请求,结束后把结果通过操作系统的接口函数的返回值传递给调用者。

Global site tag (gtag.js) - Google Analytics