[Database] Learn about open source databases

68ef007444d3758a431c9185b553cb4a.png

An open source database is just a regular database that is distributed with source code.

Users are free to read, modify, and extend the software, although few take advantage of these opportunities. Probably the most appealing feature to many is the right to run it on any hardware at any time. Source code is a public resource available to all programmers.

Not that the architectures, languages, or feature sets that define open source databases are any different. In fact, many open source options speak a version of SQL like their proprietary counterparts.

Licenses have always been attractive to managers who have negotiated relicensing with proprietary software vendors. If the source code is not shared, then their only option to deal with a significant price increase is to move to another product, which often involves extensive rewriting.

But there is no free lunch. Source code flair may bring some captures, some explicit, some implicit. There are many open source licenses. Some place almost no restrictions on users, others insist that users share any enhancements in return, essentially ensuring that the public code is open to everyone.

Another obligation that isn't explicitly stated but is obvious to users is that someone has to pay the developers. Some companies using open source databases hire people to contribute to the codebase. Instead of buying an exclusive license, they pay through salary. Companies that choose this path tend to praise their control over the code base.

Many open source databases are released in hybrid mode. Some people will create two different versions, where the simpler, more general code might be called a "community edition" or something, and released for free circulation. Developers can download the technology for free and create new prototypes.

Fees paid to companies supporting development are usually paid by those gradually adopting "commercial editions", which usually provide additional features related to using larger data sets or providing better security. They are usually features that new developers don't need, but have long-term value to groups running production code.

There is an art to setting up multiple versions and making sure each version has the correct functionality. Keep too many features in the commercial version, no one will try. Leave too much in the community version and no one will feel the need to upgrade and pay.

Open source databases fall into a number of categories that largely depend on the era in which they were developed. The earliest tools, like MySQL or PostgreSQL, mimicked business leaders. They use SQL, storing data in relational tables sorted by indexes and linked by join routines. Sometimes they don't offer the same full selection of features, but they have evolved to support the same style of data storage.

Later NoSQL databases, such as MongoDB and Cassandra, are known for their flexible schema and document-style key-value store. This particular class of databases has largely been developed as open source.

Some of the latest databases, such as those supporting ledgers or geographic data, are often hybrids with evolving product pairs. One is a full-featured community edition available for free. The other is often referred to as the "Enterprise Edition" because it includes features to support larger data sets that may require greater stability and reliability. These extra features are usually only offered for one price.

How major vendors are embracing open source

Oracle effectively recognized the power of the open source model when it acquired MySQL as part of its acquisition of Sun Microsystems in 2009. They continue to develop and support the database. Users can choose between a free version, known as the Community Edition, or a more advanced version, which includes extra features needed by larger companies. Backups, additional security, and cluster management are all available for a fee.

Oracle also bought BerkeleyDB, a set of key-value database libraries that are often compiled into programs. They allow developers to ease the effort of maintaining data structures.

Microsoft has chosen to host some major open source databases on its Azure cloud. Teams that want to rely on PostgreSQL or MySQL can spin up instances managed by Microsoft, saving the trouble of configuring and maintaining servers. Prices for hardware and collections are bundled together.

Other clouds are following a similar path. Amazon, Google, DigitalOcean, Rackspace, and a few others offer options for renting fully configured servers running versions of major open source databases. Amazon alone offers hosted versions of most major open source databases.

The presence of these managed instances has irritated some developers. Many new products released by cloud computing providers offer the ability to install and maintain open source software packages. These are not ethereal tasks, but the work can be automated. This has led to some friction between the developers of these tools and the cloud companies that is far from being resolved.

Upstart

Many new databases start as open source projects. There are dozens of new companies releasing new databases under community open source licenses. Most companies also try to support themselves by selling some mixed support and additional proprietary features.

Some projects build on previous versions. MariaDB is a branch of MySQL, initiated by montywidenius, one of the founders of MySQL. He started this new version after selling MySQL to Oracle. Earlier versions started with the original codebase, but the latest version adds features that speed up processing of very large datasets. Many basic features and core parts of SQL syntax are the same, and because they share a common tradition, many developers can freely switch between them. In the future, this difference may widen. For example, MariaDB has added integrations with popular databases like Cassandra, TokuDB, and SphinxSE.

SequoiaDB is a large-scale distributed database that supports SQL, key-value document storage, and direct JSON storage. A database connects together various nodes, each of which may be a different storage engine such as MySQL or PostgreSQL. The database routes queries to the appropriate nodes while ensuring that transactions can provide ACID-level concurrency. The core is released under the AGPL, while some connectors are governed by the Apache license.

While many new databases are open source, not all companies embrace this model. For example, fanus has chosen a commercial license for its distributed database. The enterprise-friendly features are geared toward administrators who must juggle data retention policies and rapid scaling. New developers may not have access to the source code, but they can use the hosting service's free tier, which imposes strict limits on the number of elements they can read or write each month.

Governance issues

The control of the software has attracted many users to open source databases. They are willing to pay timely wages for products sold by private software companies, often to avoid the pain of vendor lock-in. Open source licenses explicitly make users full partners in controlling the code.

However, the nature and limitations of such partnerships are still being questioned. More recently, some database companies have rebelled against the way some cloud companies have bundled hardware and maintenance. First MongoDB, and more recently Elastic, questioned whether the process was fair, in part because cloud computing companies don't share revenue directly with originating companies. Cloud computing companies are not violating the terms of open source licenses, but some companies argue that they keep a large share of the payments, violating the spirit of open source licenses.

Finding a solution is not easy. Recently, Elastic CEO Shay Banon announced that they are moving all new development to a stricter set of licenses designed to prevent large cloud providers from freely reselling their tools without restricting end users .

"We have tried all avenues available to us, including through the courts, but with the ongoing behavior of AWS, we have decided to change our license so that we can focus on building products and Innovate, not litigate."

Amazon responded by announcing that it would "fork" the code for Elastic. That is, they use the latest version publicly and continue to maintain it themselves while reselling it in the cloud.

Amazon's Carl Meadows, Jules Graybill, Kyle Davis, and Mehul Shah wrote in the announcement: "Today, we are making 18 versions of Elasticsearch available on Amazon ES, none of which are affected by the license change." Going forward, Amazon ES Will be powered by new forks of Elasticsearch and Kibana. We will continue to deliver new features, fixes, and enhancements.

There will be two paths that may or may not follow the same direction. The core features may remain the same, but users may need to align themselves with one or the other. Their code handles both of these issues smoothly, or it may have issues. We don't know what decisions the development team will make.

Forks like this have been developed in the past. Oracle's version of MySQL is still very similar to MariaDB, and it seems that both companies think it's important to maintain tight compatibility, at least when it comes to core features and syntax.

Another database company, MongoDB, is one of the pioneers in adopting a more restrictive license, the Server Side Public License (SSPL), which restricts cloud providers that are not its partners. The company has been releasing products under this license since 2018, balancing the needs of companies and users.

"We want to provide developers with a convenient way to access our product so they can use, modify and redistribute it in a frictionless way. Dev Ittycheria, MongoDB CEO and President, said in an interview: "At SSPL Next, it's no different. ".

But he also noted that the company has invested $700 million in research and development. "We want to counter the threat of hyperscale cloud providers offering our free product as a service without giving anything in return," he explained. "It's been over two years since we changed our license to SSPL, and it has had no negative impact on user adoption or our success as a company."

In other words, the company has gone out of its way to support the original vision of the freedom to read, use, and modify code, while narrowing down a class of companies with which it has yet to form successful business partnerships. As Richard Stallman, one of the original developers of the open source software movement, likes to say: open source is freedom, not beer.

This article: https://architect.pub/understanding-open-source-databases
Discussion: Knowledge Planet [Chief Architect Circle] or add WeChat trumpet [ca_cto] or add QQ group [792862318]
No public

【jiagoushipro】
【Super Architect】
Brilliant graphic and detailed explanation of architecture methodology, architecture practice, technical principles, and technical trends.
We are waiting for you, please scan and pay attention.
67b6a944c408ed2edce748500b6be071.jpeg
WeChat trumpet

[ca_cea]
Community of 50,000 people, discussing: enterprise architecture, cloud computing, big data, data science, Internet of Things, artificial intelligence, security, full-stack development, DevOps, digitalization.

93802faace58d9b4527ea60425593ff2.jpeg

QQ group

[285069459] In-depth exchange of enterprise architecture, business architecture, application architecture, data architecture, technical architecture, integration architecture, security architecture. And various emerging technologies such as big data, cloud computing, Internet of Things, artificial intelligence, etc.
Join the QQ group to share valuable reports and dry goods.

1e3094d814d5ed23b093f44ad1018fe4.jpeg

video number [Super Architect]
Quickly understand the basic concepts, models, methods, and experiences related to architecture in 1 minute.
1 minute a day, the structure is familiar.

52f7f7bf72dd3c0214c9205c7011670d.jpeg

knowledge planet [Chief Architect Circle] Ask big names, get in touch with them, or get private information sharing.

e619a0648d50dd9bd24875ccb887849f.jpeg

Himalayas [Super Architect] Learn about the latest black technology information and architecture experience on the road or in the car. [Intelligent moments, Mr. Architecture will talk to you about black technology]
knowledge planet Meet more friends, workplace and technical chat. Knowledge Planet【Workplace and Technology】
LinkedIn Harry https://www.linkedin.com/in/architect-harry/
LinkedIn group LinkedIn Architecture Group
https://www.linkedin.com/groups/14209750/
Weibo‍‍ 【Super Architect】 smart moment‍
Bilibili 【Super Architect】

f235c607ac3515ab68cf60af5c9de1dd.jpeg

Tik Tok 【cea_cio】Super Architect

b9c651bffeccf2c206845fc2e5587186.jpeg

quick worker 【cea_cio_cto】Super Architect

f3e769e759ec464db98ddf41dee619eb.jpeg

little red book [cea_csa_cto] Super Architect

560d5ac7d4d330917a25ad77050e6b93.jpeg

website CIO (Chief Information Officer) https://cio.ceo
website CIOs, CTOs and CDOs https://cioctocdo.com
website Architect practical sharing https://architect.pub   
website Programmer cloud development sharing https://pgmr.cloud
website Chief Architect Community https://jiagoushi.pro
website Application development and development platform https://apaas.dev
website Development Information Network https://xinxi.dev
website super architect https://jiagou.dev
website Enterprise technical training https://peixun.dev
website Programmer's Book https://pgmr.pub    
website developer chat https://blog.developer.chat
website CPO Collection https://cpo.work
website chief security officer https://cso.pub    ‍
website CIO cool https://cio.cool
website CDO information https://cdo.fyi
website CXO information https://cxo.pub

Thank you for your attention, forwarding, likes and watching.

Guess you like

Origin blog.csdn.net/jiagoushipro/article/details/130695886