Why MongoDB database ranking among the top five?

DB-Engines database popularity rankings released data in May, the top six ranked "the millennium change", namely: Oracle, MySQL, Microsoft SQL Server, PostgreSQL, MongoDB and IBM Db2. Which, MongoDB to exceed 65.96 points over last year results continue dominating the top five list, this increase in full standings behind PostgreSQL is 77.99, and its growth relative to 6.10 points in April is second only to Microsoft SQL Server full list ranked second.

As a former top 20 in the only marked as MongoDB document database, and can achieve such results is not easy. In 2007, Dwight Merriman, Eliot Horowitz and Kevin Ryan set up a MongoDB's predecessor 10gen software company, in the early days, this company's goal is to provide enterprises with cloud computing services. In the development of cloud computing products, they are ready to develop a similar component of the database, providing storage for cloud computing products and services. Relational database was the era of domination, but they feel that traditional relational databases can not meet their demands, they want a programmer to understand SQL language data storage products can also be used. Look for in a circle on the network, whether open source or closed-source product, did not find something to their satisfaction, so they decided to develop their own databases.

10gen company does not use a relational database is a certain reason, in fact, the founder of 10gen comes from Google, they have created a company called DoubleClick's advertising company, which later was acquired by Google. At that time they were still DoubleClick's time, it tasted bitterness relational database. DoubleClick, an online advertising company, serving a large number of well-known American company that provides advertising per 400,000, but in terms of scalability and agility often faced difficulties, so they often have to own and use a lot of custom development data storage to solve the problem of existing relational databases, which makes them very upset. So they decided to develop a database product to solve the problems they encounter while DoubleClick, and provides storage services for their cloud computing products.

In 2009, after nearly two years of development, 10gen developed a prototype and it's open source MongoDB and officially named as MongoDB, while the establishment of the open source community, through community operations MongoDB. MongoDB is not a "mango database", Mongo taken from the middle part of the word humongous, gigantic means database capable of storing massive database. 10gen MongoDB will be defined as a set-oriented, free mode, the expansion of freedom, access and use programming language API documentation database.

MongoDB was different from other database products, are very convenient to use and install, the code can operate via the API data, at the time caused quite a stir, with NoSQL non-relational database concepts and began to fire up Big Data demand, favorable factors, MongoDB increasingly popular. Now, MongoDB share price has exceeded the hundred mark, market capitalization of $ 9 billion.

MongoDB Throughout nearly 12 years of development history, we can clearly see a database vendor's growth trajectory, and for several reasons it was able to achieve success, that is, product positioning, technology innovation, business model, target vision.

Product Positioning: Leading Modern Universal Database

Although it started in a document database, but today, MongoDB has been far from being a concept that can include document database, and more, MongoDB should be called a modern common database platform. As explained by Richard Kreuter MongoDB's vice president of global advanced engineering, MongoDB is not just only a single scene or a particular class of database application platform, it can be widely used in various application scenarios, such as search, site real-time data, data cache, a large size, the history data storage, stretchability high scene, the object data storage or JSON. In addition, MongoDB has very good flexibility, with the rapid development of the needs of users. MongoDB document database features compared with traditional relational table columns more flexible, while also doing transactional sex trade, and, MongoDB operation can be carried out directly on the data in memory, with high speed and efficiency. Therefore, the current version of MongoDB may support the development needs of a wide variety of application scenarios.

But Richard stressed that although MongoDB to meet user needs 80%, but among the various versions, MongoDB will also introduce new features for general special needs, for example, in the latest version 4.0, MongoDB launched a multi-document ACID Affairs (multi-document ACID transactions). This is why until now, MongoDB has been the cause of more than more than 10,000 paying subscribers formal Enterprise Edition. In fact, at present, MongoDB has a very wide range of users in all walks of life among the various regions and countries. In the world, "a Fortune 100" enterprises, more than half of users are using MongoDB, and in some key industries, such as finance, telecommunications, manufacturing, e-commerce, games and other electricity providers in critical applications, MongoDB is being a wide range of applications, which also proved successful product positioning MongoDB from the other side.

MongoDB senior vice president of global engineering Richard Kreuter

Technology Innovation: the best data modeling database

And at the technical level, MongoDB is "the best data modeling database", Richard, explains, are the oldest traditional relational database with tables, columns, fashion modeling, but this method of data modeling after the completion of each the association table is very complex, in which case, you want to maintain the flexibility of the database is very difficult, for example, want to add a database field, usually required by sub-table, and warehouses as well as down, and many other complex operations to achieve. The MongoDB designed from the start to recognize the importance of elastic database, therefore, MongoDB data modeling is to maintain this flexibility, can easily change based on demand, and run the database itself is not affected.

The reason is called MongoDB document database, it is because all the data is stored in a document, the use of stored data BSON, and therefore has a very good supportive and friendly table structure changes to data in JSON format sex, type of document storage, data visible and friendly. Compared to traditional database needs to be relatively complex table, library operations and data access times, MongoDB developers do not have to remember complex relationships between those tables, library with a single access, you can get the wanted to data, therefore, in terms of development it is easier to use and a higher effect.

此外,MongoDB的运行环境非常广泛,这也是MongoDB之所以受到众多用户青睐的一个重要原因,它可以运行在本地的机器上,运行在任何一家云上,可以运行在服务器上,笔记本上,甚至还可以在手机上很流畅的使用,而这可以被称作是MongoDB的“杀手锏”,因为除了MongoDB之外,没有任何数据库可以实现跨越所有的端来运行。这也是当时开发MongoDB的一个宗旨,即开源,不受任何约制,任何人在任何时间任何地点都可以运行MongoDB。Richard强调,MongoDB同时也有一个叫做Atlas的云服务,目前已经在AWS、Google、Azure上提供MongoDB数据库云服务。

Richard总结了MongoDB的最大优势,他认为,所谓最优首先就是要看在各种情况之下对使用者有价值,这才叫最优。MongoDB的文档就是一个JSON格式,这是最广泛应用于交换或是处理数据的一种基本格式。各种网页、移动应用,或者很多商业应用都是用JSON处理数据。MongoDB在处理数据和储存时直接使用JSON格式的数据,是原生的JSON存储,不管是处理、聚合,还是更新,都直接通过JSON来做处理,这就和其他所有的数据库是完全不一样的处理方式。其次,MongoDB的核心是一个原生的分布式的数据库,它有非常丰富的功能支持复制数据,同时可以快速的水平扩展,随需而用。同时,MongoDB还具有传统数据库的优点,比如能够很快的去区隔,能够保持数据的强一致性等等。而且目前,MongoDB最新的4.0版本已经可以支持以前传统关系型数据库才能支持的多文档事务性的交易,并且在应对传统大规模分布式数据库中最大的挑战——数据均衡方面,4.0版本的速度提高了40%,就用户体验方面而言,这又是一个非常重要、也非常吸引人的功能提升。

运营模式:坚定不移的开放和开源

不过,一个产品的成功,并不仅仅是依靠明晰的产品定位和不断创新的技术,商业模式也非常重要。而MongoDB的成功当然也离不开成功的运营模式,而这个运营模式就是开放和开源。

实际上,早在2009年,MongoDB刚刚开发出数据库的雏形时就同时成立了MongoDB的开源社区,坚持通过社区运营MongoDB。MongoDB一直通过开源社区扩大MongoDB的影响力,吸引程序员入住社区,在社区按照不同地区成立不同的用户组,MongoDB刚推向市场的时候,BUG不少,但是MongoDB的开发人员解决问题很及时,态度非常友好,程序员是一个很实在的群里,当他发现你的产品好用时,并且能够及时帮你解决问题时,就会向同行推荐你的产品,这使得MongoDB迅速赢得了众多开发者的好感。

Richard当然也非常清楚这一点,因此,他是MongoDB开源的坚定支持者。Richard表示,MongoDB坚持一定要有社区版的数据库,一方面是因为开发者比较倾向于使用开源的技术,另一方面,是因为开发MongoDB的初衷就是为了让开发者能够更简单和容易的使用数据库,而开源是实现这个初衷的最好方法。而且,MongoDB并不反对开发者对开源版本的MongoDB进行修改。当然,这种修改必须反馈回社区,这就是所谓的Copyleft License。MongoDB自始至终就有Copyleft License。而在去年,针对社区版,MongoDB还提出了SSPL License,即将MongoDB作为云服务提供时,云服务提供者要把所有相关修改的内容和操作平台开源出来,而这也是为了将开源的成果更好的分享给所有的使用者。

Richard强调,MongoDB完全由自己开发,拥有该产品所有的IP,之所以决定将MongoDB开放出来作开源,就是希望能够构建一个开源数据库健康发展的环境,鼓励更多的软件开发商来做开源这件事,而MongoDB以后也会一如既往的持续保持开源的状态。

而另一个对于MongoDB非常重要的运营就是一年一度的MongoDB大会。MongoDB非常重视MongoDB大会,在全球主要城市/地区每年都会举办一次MongoDB大会,在MongoDB大会上,会邀请技术大牛做一些项目上使用MongoDB的干货分享,并与与会观众进行面对面的技术交流。而就在前些天,MongoDB在上海浦东星河湾大酒店成功举办了“2019 MongoDB中国用户大会”。在这场干货满满的数据库技术盛会中,来自全国各地近千名行业客户、合作伙伴和开发者聆听了MongoDB高层、技术大咖、行业用户的主题演讲和互动演示,共同回顾了MongoDB过去一年的发展历程和所取得的不凡成绩,了解了MongoDB数据库最新的特性和功能。而类似这样的活动,无疑极大地推动了MongoDB在市场上的影响力。

没有人使用的技术没有生命力

Richard最后表示,从1960年数据库诞生至今,数据库已经迅速转变为应用当中举足轻重的部分,数据库的设计也随着应用需求的设计不断成长。过去,开发应用可能只是公司企业内部的应用,产生的数据量不大,变化也不多,所以当时数据库尽量做的精简,因为存储太过昂贵。90年代,互联网开始流行起来,网上应用层出不穷,应用开发需求发生了巨大改变,使用者的数量也是大幅提升。而在移动互联时代,应用变成了随时随地,从而颠覆了应用开发的生态和需求,也驱动了数据库的变革。所以不太可能再按照传统数据库的方式去设计数据库产品。因此,未来的数据库应该是能够更加快速和敏捷的进行数据的收集和处理,并具有灵活的弹性扩展能力,而这也是MongoDB未来的发展方向,同时也是支撑MongoDB前进的动力。

“我认为数据库技术前进的阻力,并不是数据库技术本身的挑战,而是在各方面帮助企业适应瞬息万变的业务需求的挑战。软件不是自己去运行,而是要人去用。因此,事实上,最大的挑战是人。数据库永远有新的技术瓶颈,技术没有穷尽,但更重要的是变化,是怎么样花更多的精力和时间来推动这些技术能够被用起来。没有人使用的技术是没有生命的。”Richard说。

“技术以人为本”,这是老孙在听了Richard的话之后第一时间想到的一句话。嗯,老孙想,这或许也是MongoDB能够取得成功的一个重要原因吧

HDC.Cloud 华为开发者大会2020 即将于2020年2月11日-12日在深圳举办,是一线开发者学习实践鲲鹏通用计算、昇腾AI计算、数据库、区块链、云原生、5G等ICT开放能力的最佳舞台。

欢迎报名参会https://www.huaweicloud.com/HDC.Cloud.html?utm_source=&utm_medium=&utm_campaign=&utm_content=techcommunity

Guess you like

Origin www.cnblogs.com/huaweicloud/p/12229675.html